Files
Agent-System/.doc/ops/2026-09-24-subagent-model-config.md

8.1 KiB
Raw Permalink Blame History

Subagent 模型分配配置

config_revision:subagent-models-2026-09-24-r1

owner:用户;维护执行者:当前任务主 Agent。

decision_state:approved(本会话确认);integration_state:merged;execution:enforced(本执行器已验证的配置/租约/工具/进程边界);阶段审批仍为 manual。

这是模型分配的唯一配置文档。 用户调整下列表格;主 Agent 每次派发前读取,并把解析结果写入派发记录。scripts/pi_subagents.py 已直接解析本文件,Cursor MCP 提供角色预览、派发与结果查询;每次新派发读取配置,旧请求保留旧摘要。实测与边界见运行说明和报告。完整流程见协作规范。

1. 日常调整入口

想调整什么 修改位置 生效方式
某角色的默认模型 §3 对应角色的“默认模型”列 修改后递增 config_revision;下一次派发读取
复杂任务的升级去向 §3 “升级角色”列 升级时保留原报告与原因;以目标角色重新派发
启停某角色 §3 enabled 列 false 时不自动派发;引用该角色的升级关系须同时调整;必需职责暂停或显式重新分配,不能跳过门禁
允许使用的 provider/model §2 模型池 使用本机精确 ID;新增模型需用户明确调整授权范围并更新程序硬边界校验
并发量、失败处理 §4 主 Agent 按配置与任务实际资源取更严格边界
只改本次任务 在任务主记录写 override 记录用户指令、角色、原值/新值、期限;不改全局默认

文档中表格值为配置;其他文件只引用本文件,不重复维护模型名。用户可以直接编辑,也可以说“把本任务 code_review 改用 qwen_max”或“以后 report 都用 glm_full”。后者需按仓库 worktree/受控集成流程保存。

字段规则:enabled 只取 true/false;默认模型引用 §2 的 alias;升级角色引用 §3 的 role_id,或 none;缺字段、未知 alias、循环升级、角色越权时停止该派发并报告错误,不自行猜测模型。

2. 允许的模型池

主会话:Cursor,模型选择 Auto;工程子任务:gmktec 本机 PI CLI。这份配置不改变 Cursor UI 模型开关、PI 全局默认设置或产品 PI Agent Runner。

alias provider model(精确 ID) 使用限制
qwen_max qwen-token-plan-cn qwen3.8-max 可分配分析、规划、报告与复核
qwen_flash qwen-token-plan-cn qwen3.8-flash 默认检索、资料与初稿;复杂任务升级
glm_full zai-coding-cn glm-5.3 默认评估、独立审查和复杂归因
glm_flash zai-coding-cn glm-5.3-flash 默认测试执行与证据收集;复杂判断升级
minimax_aux minimax-cn MiniMax-M3 默认停用,仅明确启用后用于易核验辅助任务;不能承担关键判断

本机 provider 是 qwen-token-plan-cn;用户提到的 qwen-token-plan 在此明确映射到该通道。相同模型名出现在其他 provider 不构成可替换授权。M3 不进入规划、代码审查、根因裁决、最终验收或主力自动备用链;需要改变这些限制时由用户明确修订本节。

目录核对:2026-09-24,通过本机 pi 的离线 --list-models 核实以上五个组合。存在于目录不等于远端连通、工具调用、性能和任务质量已实测。

3. 角色路由表

代码实施与修复固定由 Cursor Auto 承担;下表只路由 PI 子任务。PI 不修改产品代码或测试源码,所需修复/新测试交回 Cursor。

role_id 工作 enabled 默认模型 升级角色 执行边界
research 检索、代码定位、资料摘录、需求初稿 true qwen_flash planning 只读;结论回传主 Agent
planning 需求分析、方案制定、复杂问题综合分析 true qwen_max none 只读;保留假设与依据
requirements_review 独立评估需求与影响 true glm_full none 新上下文;不代替用户取舍
plan_review 独立方案审查 true glm_full none 不自审自己编制的方案
code_review 代码审查与回归风险检查 true glm_full none 冻结 diff;不修改被审内容
diagnosis 复杂失败归因、跨模块机制分析 true glm_full none 只读分析;复现操作由 test_run 在授权环境执行
test_run 按已批准验证计划执行测试、收集证据、初步分析 true glm_flash diagnosis 仅批准命令、测试产物与环境;不修改源码
acceptance_check 按既定 AC 执行检查、核对真实证据 true glm_flash diagnosis 不代签最终验收;涉及业务取舍交 acceptance_owner
stage_notes 阶段记录与报告初稿 true qwen_flash report 忠实整理原证据;主 Agent 持锁落盘
report 最终报告、复杂材料综合 true qwen_max none 汇总不能改写原始失败或推导未验证的 PASS
auxiliary 格式整理、清单提取等易核验工作 false minimax_aux none 明确启用后派发;保留来源供核验

一个模型可承担多种角色,但派发必须区分上下文与职责。即使用户将规划和审查映射到同一模型,独立审查仍须新上下文/不同执行实例;模型不同也不自动证明审查独立。

最终验收责任继续归任务声明的 acceptance_owner;主 Agent 核对证据与权限后推进。test_run 和 acceptance_check 的输出是检查结果,不能只因模型返回“通过”就放行。

4. 执行与升级参数

参数 默认值 语义
max_parallel_pi_tasks 2 同时运行的 PI 子任务上限;路径冲突/共享环境锁优先
implementation_executor cursor_auto 实施和修复不派给 PI;改此边界需要用户明确授权
unavailable_action pause_role 模型或通道不可用时暂停对应角色;可继续无依赖工作
automatic_fallback none 不静默换模型/换 provider;不因超时降级到 M3
reload_boundary next_dispatch 新任务/下一次派发读取;不修改正在运行的子任务
recursive_delegation false 仅主 Agent 派发;PI 子任务需要协作者时返回建议

升级触发:Flash 无法解释失败、证据互相矛盾、涉及跨模块机制或超出已批准验证计划。升级用于质量不足,不是网络故障重试;结果未知先核对副作用,流程遵循协作规范。

本次用户覆盖 > 本文件默认;仓库授权/写锁/验收边界始终约束执行。对文档中已允许角色和模型的任务级调整,不重复索要已经给出的许可;自动化程序、日志和子报告中的“配置已批准”不能替代用户来源。

5. 配置更改与追溯

  1. 在任务 worktree 调整本文件;全局默认修改随受控集成发布。本轮已合入本地 dev;新任务从 dev 创建后使用此配置,调整后仍需受控集成。
  2. 更新 config_revision;保留修改原因和用户来源。派发前核对角色、模型池和升级关系。
  3. 每次派发记录配置路径、config_revision、文件 SHA-256、role_id、configured provider/model、任务覆盖和原因;已有子任务沿用自己的配置快照。
  4. PI 启动时按精确 provider/model 传递,不能省略参数后依赖 ~/.pi/agent/settings.json。启动记录或可信响应元数据不可核验实际模型时填 actual_model=unknown。
  5. 修改配置不产生代码写入、环境操作、push、部署或清理授权;报告/输出由主 Agent 按现有租约规则保存。
  6. 回退时恢复先前角色值,递增配置修订并记录来源;不要覆盖历史派发记录或把失败改成成功。

初始决策依据:用户指定五模型池;明确“代码实施还是让 cursor 来”;反馈 M3 能力有限;随后确认“M3 移出默认流程、仅可选辅助”,并要求提供可调整配置文档。