openinterpreter Codex Skills 中的模型迁移与 Prompting 决策流程:目标选择、Resolver 与降级引用全解
发布时间:2026/9/7 2:55:52 作者:尧图编辑部 阅读量:1,286

openinterpreter Codex Skills 中的模型迁移与 Prompting 决策流程目标选择、Resolver 与降级引用全解【免费下载链接】openinterpreterA coding agent for open models like Kimi K3 and GLM 5.3项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter本文围绕openai-docs技能中专门负责「模型升级 / 迁移规划 / 模型特定 prompting / 最新模型默认引导」的核心路由文档 model-migration.md 展开系统讲解该技能如何区分「显式指定目标模型」与「动态解析最新模型」两条路径、如何通过跨平台 resolver 脚本从官方文档中解析出最新模型的迁移与 prompting 指南地址、以及何时才允许使用仓库内捆绑的降级参考文档。读完本文你可以完整理解这条从「用户请求模型迁移」到「加载官方指南、做兼容性判断、控制实现变更范围」的全链路决策规则并能基于 resolve-latest-model-info 的实际源码复现其解析逻辑。一、文档定位openai-docs 技能中的迁移专属路由model-migration.md 位于 Codex skills 的示例资产目录 openai-docs 下是该技能众多 references 中专门处理「模型迁移」主题的一份路由参考。技能的总入口 SKILL.md 定义了「选择且仅选择一条主路由」的原则其中明确写道Model migration, upgrades, or model-specific prompting: Readreferences/model-migration.mdfor actual migration planning, implementation, dynamic target resolution, or prompt changes. Preserve an explicitly requested target.也就是说只有当用户请求涉及真正的迁移规划、实现改动、动态目标解析或 prompt 变更时才加载本文档单纯的模型选择与对比走 model-selection.md纯事实查询则直接按官方文档来源顺序作答、不读取任何路由参考。这个「按需加载单一参考」的设计约束是理解后文所有规则的出发点迁移路由存在的目的是让 Agent 在模型升级这件事上既不出格不加载多余的参考、也不遗漏不跳过官方文档检索。文档开篇即给出总体工作方式先使用可用的文档检索或官方域名网络能力按用户请求的精确主题与模型搜索当前官方 OpenAI 文档再打开或抓取相应官方页面。在完成官方检索并实际抓取页面之前不允许运行 resolver、不允许打开捆绑参考文档、不允许依赖任何指南 URL。二、先选目标再加载更多上下文文档第一部分Choose the target before loading more context按四类目标给出了互斥的决策规则这是整条迁移流程的入口分叉1. 显式模型目标Explicit model target保留用户精确请求的目标包括显式请求的 GPT-4.1 或 GPT-5.4 迁移。此时不运行 latest-model resolver不替换为更新模型只针对该精确模型搜索并抓取当前官方指南文档特别强调GPT-5.4 迁移不得加载 GPT-5.6 的指南或参考文档。这条规则与 SKILL.md 中「Preserve an explicitly requested model; never substitute a newer model」的全局边界一致也与降级参考 latest-model.md 中「显式请求的既有模型」边界表gpt-4.1、gpt-5.4仅在用户显式请求时保留互相印证。2. 未指定 / latest / current / default 目标走「动态目标」路径先搜索并抓取最新模型指南官方 latest-model 指南页resolver 默认源即https://developers.openai.com/api/docs/guides/latest-model.md见 resolve-latest-model-info.cjs 中的DEFAULT_URL常量仅在需要动态迁移解析时才使用latest-model.md的元数据然后运行下文的平台特定 resolver并保留其返回的模型名与精确指南 URL。3. latest / current / default 的 prompting 请求跟随动态目标路径然后使用 resolver 返回的 prompting 指南显式命名模型的 prompting 请求不运行 resolver见下一节规则 4。4. 纯模型选择改用 model-selection.md同样不运行 resolver。该文档也自我声明「Pure model selection does not require migration metadata.Do not run the resolver.」两条路由对 resolver 使用边界的约定完全一致。三、跨平台 resolver从源码看目标解析的实现文档给出两条平台特定的调用方式POSIX shell 下通过sh调用不假设脚本有可执行位sh skill-dir/scripts/resolve-latest-model-infoWindows 上使用 CommonJS 入口要求 Node.js 18 或更高node skill-dir\scripts\resolve-latest-model-info.cjs若 Windows 上 Node 运行时不可用且load_workspace_dependencies可调用则使用其返回的运行时并重试一次文档同时明确「不要在 Windows 上直接执行无扩展名的 POSIX 包装脚本」。sh 包装脚本为什么这样写从 resolve-latest-model-info 的源码可以看到这个 POSIX 脚本本身并不做解析它只做一件事找到一个兼容的 Node 18 运行时然后 exec 真正的.cjs入口。其查找顺序为环境变量NODE指向的候选若可执行且主版本 ≥ 18PATH中的node一组常见候选路径包括 Codex 运行时缓存目录$HOME/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/bin/node、Homebrew 与系统目录下的 node。版本兼容性检查通过内嵌 Node 一行式完成process.versions.node主版本 ≥ 18全部候选失败时向 stderr 输出错误并以退出码127结束。这解释了文档中「通过sh调用、不假设可执行位」的要求——即使文件没有xsh script依然可用而 Windows 环境没有 POSIX 语义必须走显式的.cjs入口。.cjs 入口的解析契约真正的解析逻辑在 resolve-latest-model-info.cjs同目录下还有一份无重试逻辑的 resolve-latest-model-info.js 变体。从源码结构看其流程是参数与环境变量parseArgs支持--source/--url/--base-url三个参数默认源为LATEST_MODEL_URL环境变量或https://developers.openai.com/api/docs/guides/latest-model.md默认 base 为LATEST_MODEL_BASE_URL或https://developers.openai.com。源既可以是https?://URL也可以是file://或本地文件路径这意味着该 resolver 天然支持离线/测试场景用本地 Markdown 文件替代远端抓取。抓取带重试远端抓取请求头为accept: text/markdown,text/plain,*/*最多 3 次尝试且仅在 5xx 或 429限流时重试退避间隔为250ms * attempt。4xx非 429直接失败不重试。latestModelInfo 元数据块提取extractLatestModelInfo在 Markdown 中查找两种形态——行首为latestModelInfo:的缩进键值块每行两空格缩进的Key: value或!-- latestModelInfo ... --HTML 注释块内的平铺Key: value行值两侧可带引号会被剥离。规范化输出normalizeInfo强制要求model、migrationGuide、promptingGuide三个字段非空否则抛出latestModelInfo must include model, migrationGuide, and promptingGuide错误相对路径会相对baseUrl解析为绝对 URL模型名经modelToSkillSlug将.替换为p生成modelSlug例如 GPT-5.6 →gpt-5p6。JSON 到 stdout成功时向 stdout 输出格式化的 JSON包含model、modelSlug、migrationGuideUrl、promptingGuideUrl四个字段任何异常写入 stderr 并以退出码 1 结束。对照文档的要求「不要抑制或重定向 resolver 的 stdout成功要求 JSON 中model、migrationGuideUrl、promptingGuideUrl三个字段非空」可以看到这是与源码输出契约逐字段对应的验收标准。若命令失败或任一必需字段缺失文档规定的降级顺序是先按平台命令重试一次 → 回退到当前官方文档 → 最后才是可披露的捆绑参考。四、只抓取本次请求需要的指南文档第二部分Retrieve only the guidance this request needs的核心是把 resolver 返回的指南 URL 视为不透明值只抓取这些精确 URL不得自行推导、替换或拼接模型查询参数使用可用的官方文档或第一方域名能力打开并阅读相应官方页面若某指南 URL 的响应只有标题或没有实质正文应重试同一精确 URL。在此基础上按请求类型分派抓取动作迁移 / 升级规划抓取migrationGuideUrlprompting 指南仅当用户询问 prompting 或迁移确实需要改 prompt 时抓取promptingGuideUrl且只提取从## Prompting Best Practices到下一个 H2 标题之间的内容——这一点在 prompting-guide.md 中同样被强调URL 锚点只是视觉定位文档抓取可能返回整页必须显式只取该节显式命名模型的 prompting抓取该模型官方的 prompting 指南同样只提取## Prompting Best Practices到下一个 H2不加载迁移参考、不运行 resolver真实的 GPT-5.6 家族迁移或实现规划抓取官方upgrading-to-gpt-5p6-sol指南页若专门请求 GPT-5.6 prompting则抓取官方prompt-guidance-gpt-5p6页。捆绑参考 upgrading-to-gpt-5p6-sol.md只在抓取的官方指南无法解决兼容性门、按范围的代码改动、tier 感知路由、验证或其他迁移专属判断时才读取对于模型层级、家族别名、Pro 模式、reasoning effort 或当前引导这类纯文档性问题若抓取的官方文档已经给出答案则绝不加载它prompting-guide.md 仅在确实需要 prompting 指南或 prompt 变更、且当前官方指南不可用时读取upgrade-guide.md 仅在当前官方迁移指南不可用时读取并且必须披露使用了捆绑降级方案。这份「官方优先、捆绑参考仅作披露过的降级」的来源分层与 latest-model.md 的自我定位一致它自称是「紧凑的、非权威的降级快照」若与抓取到的官方文档冲突以官方为准。捆绑降级参考实际提供了什么作为对照捆绑的 upgrading-to-gpt-5p6-sol.md 展示了官方指南不可用时迁移判断需要覆盖的完整问题面迁移姿态分类simple Sol migration、tier-aware family migration把每个角色映射到 Sol / Terra / Luna 而非全部换成 Sol、compatibility migration、prompt migration、optional feature adoption、leave unchanged历史示例、快照、fixtures、eval 基线、有意固定版本等一律不动编辑前盘点模型字符串与别名、环境变量与 CLI 旗标、SDK 调用面Responses / Chat Completions / Batch、reasoning 设置、function tools 与结构化输出、路由器 / 允许列表 / 能力映射、模型选择器 UI 与定价元数据、prompt-cache 键与前缀构造、图像 / PDF / OCR 输入、测试与 fixtures按角色选目标flagship 等价 →gpt-5.6-solmini 类 →gpt-5.6-terranano / 高吞吐 / 严格延迟 →gpt-5.6-luna第三方模型默认不动保持有效 reasoningGPT-5.6 省略时默认medium而 GPT-5.4/mini/nano 常见默认是none——省略值在换模型后会悄悄变成更慢更贵、且与 Chat Completions function tools 不兼容的行为最关键的端点检查GPT-5.6 在 Chat Completions 中的 function tools 仅与有效 reasoningnone兼容「reasoning tools」应走 Responses APIprompt 缓存审计5.6 隐式缓存把托管断点放在最近的 user/tool 消息附近稳定前缀 变化后缀的 prompt 可能丢失缓存命中验证矩阵与最终报告老模型基线 → 新模型同配置 → 降一档 effort → 最小 prompt/API 修复 → 可选特性隔离验证并分「已变更 / 未变更 / 阻塞 / 待确认」四类汇报。这些内容正是 model-migration.md 所说「官方指南解决不了的迁移专属判断」的具体所指捆绑文档提供的是判断框架模型 ID、参数、限额、价格等事实仍以官方实时文档为准。五、把实现改动控制在范围内文档最后一部分Keep implementation changes scoped是迁移执行阶段的护栏共三层约束只改用户请求过的工作只有当用户明确要求时才改动活跃的模型默认值及其直接关联的 prompt 面registry、模型选择器、能力元数据、路由、定价、测试等只有在范围内且当前官方文档核实了相关取值时才更新。保留每个工作负载的角色契约成本、延迟、质量、reasoning、工具、端点与输出契约的角色要逐一保留——不要把 tier 化路由器折叠成单一旗舰模型不替换有意固定版本pinned的 fallback不重写历史示例、fixtures、eval 基线、provider 对比或无关的 SDK 与鉴权配置。这条与 upgrading-to-gpt-5p6-sol.md 中「Router, fallback, or model picker → Add the family by role, do not collapse a multi-model design into Sol」的映射表直接对应。越界改动显式上报而非静默执行如果安全的迁移需要端点变更、请求 schema 变更、工具 handler 变更或其他超出请求范围的实现改动应报告精确的兼容性阻塞点与最小后续步骤而不是静默改变行为。六、小结一条「文档优先 最小变更」的迁移决策链把 model-migration.md 的三节内容串起来可以概括为一条完整的决策链先定目标显式模型 → 原样保留、禁用 resolverlatest/current/default → 官方 latest-model 指南 resolver 动态解析纯选择 → 走 model-selection 路由再取指南resolver 输出model/modelSlug/migrationGuideUrl/promptingGuideUrl是后续一切操作的锚点URL 不透明、只抓精确地址、只提取## Prompting Best Practices到下一 H2最后降级重试一次 → 官方文档 → 披露后使用捆绑参考latest-model.md、upgrade-guide.md、prompting-guide.md、upgrading-to-gpt-5p6-sol.md执行时收敛只动模型字符串与直接关联的 prompt 面保留 tier 角色与固定版本越界需求以「阻塞点 最小后续」形式上报。对读者而言这份文档的价值不仅在于它描述了一次性的迁移步骤而在于它示范了如何为 Coding Agent 编写一条可验证、可回退、边界清晰的任务路由每一步都有明确的触发条件、精确的数据契约resolver JSON 字段和失败时的降级顺序所有「不做什么」的约束不替代显式模型、不折叠路由器、不静默改 schema与「做什么」的指引同等重要。【免费下载链接】openinterpreterA coding agent for open models like Kimi K3 and GLM 5.3项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考