diff --git a/docs/design/architecture-v2.md b/docs/design/architecture-v2.md index ff8fb00..3b40717 100644 --- a/docs/design/architecture-v2.md +++ b/docs/design/architecture-v2.md @@ -1679,63 +1679,72 @@ Daemon 写入 SQLite experiences 表 + 生成 experience.md | Agent 执行前 | Daemon | 注入与步骤相关的经验到 task 描述 | | 异常处理 | Daemon/庞统 | 检索类似异常的历史处理方式 | -## 4. 已决策 & 待讨论 - -### 已决策 +## 4. 已决策(全部) | # | 决策 | 结论 | 理由 | |---|------|------|------| -| 1 | 黑板载体 | **SQLite + 文件系统** | 状态在 SQLite(查询快、事务安全),产出物在文件系统(git 可追踪) | +| 1 | 黑板载体 | **SQLite + 文件系统** | SQLite 存状态(查询快、事务安全),文件系统存产出物(git 可追踪) | | 2 | 庞统运行方式 | **主 session + daemon API** | 庞统在正常 session 里与用户对话,通过 HTTP API 调度 daemon | -| 3 | Agent 调度 | **Gateway WS API → 主 session** | 不用 sessions_send(不稳定)、不用 sessions_spawn(大爆炸) | +| 3 | Agent 调度 | **主 session(简单)+ sub-agent(复杂)** | 简单步骤发到主 session,复杂步骤用 sessions_spawn + cleanup=delete | | 4 | 事件触发 | **daemon 内部事件循环** | Agent 回报时触发下一步,不用 cron | | 5 | 配置化 | **YAML/JSON 配置文件** | 状态/流转/事件/模板全部配置化,代码零硬编码 | | 6 | Agent 团队 | 复用三国角色 | 角色映射清晰 | | 7 | v1.0 共存 | 独立 session,并行运行 | v1.0 和 v2.0 互不干扰 | | 8 | 前端 | 先纯对话(Control Center) | 后续加可视化 | - -### 待讨论 - -| # | 问题 | 说明 | -|---|------|------| -| 1 | Daemon 进度推送方式 | 步骤完成时 daemon 通过 Gateway WS API 通知庞统,还是庞统自己轮询? | -| 2 | Agent session reset 策略 | 每完成 N 个步骤自动 reset?还是上下文超过阈值时 reset? | -| 3 | AI 决策在 daemon 还是庞统 | 复杂的 Agent 选择/异常处理是在 daemon 里触发 AI session,还是在庞统 session 里做? | -| 4 | 经验沉淀触发 | 任务完成后自动触发 AI 蒸馏,还是定期批量处理? | +| 9 | 状态机 | 继承 v1.0 + AI native 扩展 | steer/takeover/intervene/replan 等 | +| 10 | 执行历史 | sub-agent transcript 归档到任务目录 | 可追溯、可学习、可复盘 | +| 11 | Daemon 通知庞统 | Gateway WS API systemEvent | 步骤完成/异常/需要裁决时 | +| 12 | 经验沉淀 | 任务完成后自动触发 AI 蒸馏 | + 规划/执行/异常时自动检索 | +| 13 | 实现方式 | **一次性完整实现** | 不做最小集迭代,避免做着做着偏离 | --- -## 5. 里程碑建议 +## 5. 实现清单 + +> 用户决策:一次性完整实现,不做最小集迭代。 ``` -M1: 黑板核心 + 指挥官原型 - ├── blackboard/ 目录结构 + 读写 API - ├── lock.py 文件锁 - ├── moments.jsonl 追加写入 - ├── 庞统 cron 唤醒 + 黑板扫描 - └── 端到端测试:一个简单任务的完整生命周期 +核心基础设施: + [x] Daemon HTTP API (FastAPI + uvicorn + SQLite WAL) + [x] config/ 配置化体系(states.yaml / step-states.yaml / events.yaml / agent-registry.json) + [x] SQLite 表结构(tasks / steps / moments / agent_status / decisions / experiences) + [x] artifacts/ 文件系统结构 + [x] Gateway WS API 客户端(daemon → Agent session 通信) + [x] daemon 启动时补偿归档(检查未归档的 transcript) -M2: Agent 调度 + 动态规划 - ├── agent-registry.json 能力画像 - ├── Agent 选择算法 - ├── plan.json 动态计划 - ├── propose→validate→commit 写入保护 - └── 端到端测试:多步骤任务(3个Agent协作) +四相循环: + [x] Phase 1 需求探索(庞统苏格拉底对话) + [x] Phase 2 动态规划(AI 生成 plan + 用户审批) + [x] Phase 3 自主执行(daemon 事件循环 + Agent 调度) + [x] Phase 4 主动汇报(AI 生成报告 + 用户验收) -M3: 四相完善 + 经验沉淀 - ├── Phase 1 苏格拉底对话 - ├── Phase 2 Plan 审批 - ├── Phase 4 主动汇报 - ├── experience/ 经验沉淀 - ├── 健康检查 + 幻觉门控 - └── 端到端测试:异常场景(超时、Agent崩溃、用户干预) +Agent 管理: + [x] agent-registry.json 能力画像 + [x] Agent 选择算法(基于能力匹配 + 历史表现) + [x] 主 session 调度(简单步骤) + [x] sub-agent 调度(复杂步骤 + cleanup=delete) + [x] 执行历史归档(transcript → artifacts) -M4: 生产化 - ├── 成本治理 - ├── 监控面板 - ├── 文档完善 - ├── 与 v1.0 并行运行验证 - └── 切换:v1.0 → v2.0 +智能特性: + [x] 幻觉门控(产出验证) + [x] 挑战循环(reviewing → challenge pass/iterate/fail) + [x] 动态计划调整(异常时 replan) + [x] AI 决策记录(可追溯) + [x] 经验沉淀引擎(任务完成后自动蒸馏) + [x] 经验检索(规划/执行/异常时自动注入) + +人工介入: + [x] steer(用户改方向) + [x] takeover(用户接管步骤) + [x] intervene(用户主动干预) + [x] escalated(AI 主动升级) + [x] waiting_human(Agent 请求确认) + +监控 & 运维: + [x] 健康检查(daemon 内部定时 + API) + [x] Token 预算管理 + [x] Agent 心跳 + [x] 与 v1.0 并行运行验证 ``` ---