用途
model-profile-resolution 用于在多智能体编排流程启动时,解析当前激活的模型档位(profile),并把各个智能体角色映射到具体模型。其目标是在成本与质量之间提供可切换的权衡:通过选择不同档位,让同一套编排流程使用不同层级的模型。
主要能力
-
读取激活档位:从 .planning/config.json 的 profile 字段加载当前档位;若未设置,默认使用 balanced。
-
档位定义:每个档位把智能体角色映射到具体模型。内置三个档位:
- quality:所有角色均使用 claude-opus-4-6。
- balanced(默认):orchestrator 使用 claude-opus-4-6,其余角色(gsd-planner、gsd-executor、gsd-verifier、gsd-plan-checker、gsd-phase-researcher、gsd-project-researcher、gsd-research-synthesizer、gsd-roadmapper、gsd-codebase-mapper、gsd-debugger、gsd-integration-checker)使用 claude-sonnet-4。
- budget:orchestrator 使用 claude-sonnet-4;gsd-phase-researcher 与 gsd-debugger 使用 claude-sonnet-4;其余角色使用 claude-haiku-4。资料说明 budget 档位在质量最关键的研究与调试环节仍使用 Sonnet。
-
按智能体解析模型:例如 resolve(agent: "gsd-executor", profile: "balanced") 返回 { model: "claude-sonnet-4", profile: "balanced" };resolve(agent: "gsd-planner", profile: "quality") 返回 { model: "claude-opus-4-6", profile: "quality" }。
-
档位切换:可在运行时切换档位,例如从 balanced 切换为 quality。切换在下一个智能体启动时生效,已在运行的智能体不受影响。
-
模型能力校验:确保所选模型支持智能体所需特性。资料示例中,gsd-executor 的代码生成、工具使用、长上下文(200k)、结构化输出均通过;gsd-debugger 的代码分析通过,推理能力排序为 opus-4-6 > sonnet-4 > haiku-4,并提示复杂调试可能更适合 quality 档位。
-
成本估算:按档位估算工作流成本。资料示例(execute-phase,Phase 72,2 个计划,7 个任务,3 个智能体,每智能体约 50,000 输入 + 20,000 输出 token):quality 约 $6.75,balanced 约 $1.35,budget 约 $0.12。资料注明成本估算为近似值,基于典型 token 使用模式。
使用方式
- 解析档位:使用 Read 加载 .planning/config.json,提取 profile 字段(未设置则默认 balanced),返回档位名称。
- 映射智能体到模型:解析激活档位,在档位映射中查找智能体名称,返回模型标识;若智能体不在映射中,使用档位默认模型。
- 切换档位:读取当前配置,校验新档位名称(quality/balanced/budget),更新 profile 字段,写回配置(由 gsd-tools 处理或直接编辑)。
- 成本估算:接受工作流描述(智能体类型与数量),按激活档位映射模型,估算每智能体 token 用量,按模型定价计算成本,返回成本明细。
流程集成
所有启动智能体的流程在初始化时调用本技能,包括:new-project.js(为 4 个以上并行研究者解析模型)、plan-phase.js(为 planner、plan-checker 解析模型)、execute-phase.js(为 executor、verifier 解析模型)、quick.js(为 planner、executor 解析模型)、debug.js(为 debugger 解析模型)、map-codebase.js(为 4 个并行 mapper 解析模型)、iterative-convergence.js(每次迭代解析模型)。
输出格式
输出为 JSON,包含 operation(resolve|switch|validate|estimate)、status(success|error)、profile、mapping(agent 与 model)、costEstimate(profile、agentCount、estimatedCost、breakdown 的 input/output)。
配置项
- profile:默认 balanced,激活的模型档位。
- customMappings:默认 {},覆盖特定智能体-模型映射。
- costWarningThreshold:默认 10.00,估算工作流成本超过该值时告警。
错误处理
- 未知档位:档位名不是 quality/balanced/budget,需使用三个有效档位之一。
- 未知智能体:智能体名不在档位映射中,使用档位默认模型。
- 配置未找到:.planning/config.json 缺失,使用默认档位 balanced。
- 模型已弃用:映射的模型不再可用,需更新档位映射为当前模型。
限制
- 仅三个内置档位:quality、balanced、budget。
- 档位变更仅在下一个智能体启动时生效。
- 成本估算为近似值,实际成本取决于 token 使用量。
- 配置中的自定义智能体-模型覆盖优先于档位默认值。
- 模型可用性取决于运行时环境(如 Claude Code、OpenCode 等)。
- budget 档位在关键任务(研究、调试)中仍使用能力较强的模型。