feat(v3): T26 两级智能体(大模型规划/审查 + 本地小模型执行,D7)

- run_dual 编排:规划者两阶段 JSON(plan/review,失败回喂重试一次再降级),
  redo 时裁决意见回喂执行者,交接上限 agent.max_handoffs(默认 2)
- 交接文档 agent_runs/{id}/handoff.json(智能体版交流文本:instructions/acceptance/exchanges)
- /agent 新增 executor_pool_id;规划者==执行者条目拒绝;整体 token_cap 覆盖两级调用
- ToolLoop 增 emit_final 开关(内层循环不发终态,防前端 SSE 提前收口)
- 前端:执行者选择器 + phase/message 事件渲染(阶段徽标 + 双色消息卡)
- 测试 +3(done/redo/执行者故障),全量 277 passed
- fix(tests): test_config_get_put_reset 增加设置备份/恢复隔离,防止清掉用户真实配置
This commit is contained in:
tzt
2026-09-01 11:45:33 +08:00
parent 8e2123343c
commit 43e2bceae7
20 changed files with 568 additions and 59 deletions
@@ -95,3 +95,17 @@
`config/model_pool.json`(池持久化)、`agent_runs/{id}/`events.jsonl + status.json)、
`agent_workspace/`(智能体默认工作区,可在设置 agent.workspace_dir 调整)。
## 7. 增补:两级智能体(D7,T26)
- **决策 D7(价位协作延伸到智能体形态)**:`POST /agent` 支持 `executor_pool_id`——
规划者(大模型:agent 角色或经典 Architect 设置)负责拆解指令与审查裁决;
执行者(本地小模型:llama_server/openai 池条目)负责工具轮;中间状态写
`agent_runs/{id}/handoff.json`(智能体版"交流文本"instructions/acceptance/exchanges)。
- **协议**:规划者两阶段 JSONplan: instructions+acceptancereview: verdict done|redo +
reply_to_executor + final_answer),解析失败回喂重试一次再降级(对齐仓库 JSON 纪律);
redo 时裁决意见作为执行者下一轮指令,交接上限 `agent.max_handoffs`(默认 2)。
- **护栏**:规划者与执行者不得为同一池条目;执行轮 token 与整体 token_cap 共享预算;
ToolLoop 内层循环 `emit_final=False`,终态事件由外层编排统一发出(防前端 SSE 提前收口)。
- **事件**:新增 `phase`plan/execute/review,带模型名)与 `message`planner/executor 正文)
两类事件,前端以阶段徽标 + 双色消息卡渲染。