用途
use-other-model 是一项委托路由技能,目标是把合适的任务可靠地委托给其他模型或独立 reviewer(如 OpenCode、Claude Code、MiniMax、Gemini 等),同时保留主代理的最终责任、失败分层和可复核证据。它明确说明自己不是第二套 agent 平台:主文件只保留稳定入口、硬边界和快速检查,任务合同、状态机、验证细节、失败分流和启动模板按需读取 references/。
核心原则
- 质量与确定性优先于 token 节省。
- 边界清楚、可独立验收时才委托;协调成本高于收益时,主代理直接完成。
- 能启动不等于能完成:退出码 0、agent 自报 success、单个测试通过都不能单独证明任务完成。
- 执行者不能兼任最终验收者:执行 agent 只能提出候选状态;verifier 状态由独立只读 reviewer、确定性校验或主代理生成;人工接受状态只能由用户/人类决定。
- 优先最小官方命令,不扩张 launcher。
- 对外分发 skill 站在安装后目录视角,并且运行时自包含,示例只使用技能目录内相对路径。
什么时候委托
适合:批量或多文件操作、格式转换、重复性编辑;预计超过 5 分钟且任务边界可封包的工作;可并行的独立子任务;独立验证、蓝军复核或安全审计;OpenCode provider/model、默认模型、variant、headless 链路检查;需要在 MCP、Claude Code 独立会话与 OpenCode 路径之间做选择。
不适合:一眼能完成的单文件短改或查询;需求仍在变化、必须频繁向用户追问的任务;无法列出读写范围、验收命令或完成条件的任务;把复杂根因、安全判断、架构取舍或最终合并决定下放给弱执行模型。
A-D 路由
- A:MCP 工具,适用于简单任务、单次调用,最低证据为 connector/tool、实际参数、真实结果。
- B:独立 Claude Code 会话,适用于多步骤编码、批量操作、需要独立读写与验证,最低证据为实际命令、工作目录、permission/tools、原始输出、退出码。
- C:OpenCode provider 模式,适用于显式 provider、API key/baseURL、provider/model,最低证据为 provider/model/variant/session、认证链路、结构化事件、退出原因。
- D:OpenCode 默认内部模型,适用于默认模型 smoke check、headless、未指定 --model,最低证据为默认选择链、variant/session、可观察到的实际模型身份、原始事件。
硬规则:C 与 D 不互相替代;OpenCode 直启与原生临时子代理默认互斥;“模型可发现”不等于“本次 session 已选中”;A-D 是调用路径,不代表模型强度。
弱执行模型硬门
弱模型只能承担已经被强主代理压平的 execution 任务,不能运行整套 skill 决策流程。只有同时满足以下条件才允许使用弱执行模型:目标文件集合可以在启动前精确列出;修改能写成确定性的逐步动作;验证命令已经冻结;不需要执行过程中询问用户;任意意外情况都可以安全停止并交回主代理。弱执行模型禁止自己选择 A-D、模型层级或实现方案,禁止自己读取 references 补全流程,禁止扩大读写范围、换工具、换 provider/model 或安装依赖,禁止恢复未预定义失败,禁止修改验收规则或写 verifier_status / human_accepted。
启动前固定执行卡
按顺序执行:建立证据目录(当前项目根目录使用 .use-other-model/task-YYYYMMDD-<slug>/,.use-other-model/.gitignore 内容必须为单独一行 *);冻结角色与范围;完成 preflight;按模型能力编译执行包;运行最小 smoke check;执行任务并保留原始证据;独立验证;清理与收口。
角色边界
- 主代理(强):负责规划、复杂根因、整合、最终验收,不外包完成声明与合并决定。
- 执行型子代理(弱/中):负责明确 diff、批量操作、按清单执行,不扩需求、不做架构/根因/安全签字。
- 诊断协作者(强):负责独立采证、候选假设、复现,不替主代理定案。
- 审计型子代理(强且独立):负责冻结工作树后的只读复核,不修改实现、不沿用执行者结论当证据。
推荐顺序:主代理冻结范围 → 编译执行包 → 执行/诊断取证 → 主代理整合 → 工作树冻结 → 独立审计 → 主代理最终验收。
失败与重试
失败必须先分层再处理:PREFLIGHT_BLOCKED、CLI 启动失败、provider/auth 失败、tool/permission 失败、task execution 失败、artifact/verifier 失败、browser verification 失败、cleanup 风险。同一任务最多一次失败重试,且必须改变失败层或输入条件;相同命令、上下文和权限条件下原地轮询属于无效重试,主代理接管。弱模型例外更严格:只有 packet 已经预定义具体失败信号与下一动作时,弱模型才可执行一次固定恢复。
预算
任务封包记录时间预算;能获取真实 token 消耗时同时记录 token budget/usage,获取不到写 unavailable。简单:5 分钟以内;中等:10–20 分钟;复杂:20–45 分钟;预计超过 45 分钟先拆任务。预算不足不能成为放宽 write allowlist、关闭 verifier 或重复同参数重试的理由。
安全边界
不在 prompt、context、日志或结果中复制 API key、认证 header、私有 token,只引用环境变量名。执行 agent 不修改测试、评测、评分、verifier、CI 或 acceptance schema 来让自己通过。不自动 commit、push、发版、部署、数据库迁移、生产运维、长期记忆写入或外部任务状态修改,除非用户明确授权。不默认访问兄弟工作区、用户目录或全盘文件。前端任务不能用 build/test 替代浏览器验收。
最小验收清单
工作目录、路径、模型身份、权限和验收规则在调用前已冻结;跨工作区不可达时在模型调用前得到 PREFLIGHT_BLOCKED;弱模型任务满足 weak-executor 适用门槛;退出码 0 但存在权限拒绝、工具错误、缺失产物或 verifier 失败时没有标成功;changed files 精确匹配预期集合且全部位于 write allowlist;原始 stdout/stderr/JSONL 独立可复核;执行者没有写 verifier_status / human_accepted;重试最多一次且改变失败条件;主代理亲自查看最终 diff 并完成独立验证。
按需读取
弱执行模型编译、A/B/C/D 各路径、任务封包、失败分流、独立验证、前端浏览器验收、环境变量识别、维护/设计原因、案例与背景等均通过 references/ 下的对应文件按需读取,完整导航见 references/README.md。