From d083755985c6df2e3a28693ce8a18d719689db19 Mon Sep 17 00:00:00 2001 From: cfdaily Date: Fri, 15 May 2026 13:38:44 +0800 Subject: [PATCH] auto-sync: 2026-05-15 13:38:44 --- docs/design/architecture-v2.6.md | 38 +++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/docs/design/architecture-v2.6.md b/docs/design/architecture-v2.6.md index 2cad861..0ebba72 100644 --- a/docs/design/architecture-v2.6.md +++ b/docs/design/architecture-v2.6.md @@ -714,21 +714,21 @@ Agent A 完成 task-001 - Gateway WS `sessions.delete` 需要 `operator.admin` scope(token 模式不授予,不可用)❌ - 回退方案:直接编辑 `sessions.json` 是安全可靠的 ✅ -### 4.4 Agent Spawn 的上下文分层传递(课题 2 设计决策) +### 4.4 Agent Spawn 的上下文分层传递(课题 2 设计决策) -> **设计推导**:GSD Wave Execution 证明隔离 session + 新鲜 context > 单一 session + 压缩。Claude Code 的 file reference 模式证明"引用而非内联"是最优策略。Opal-Bridge 的 Fidelity 三档提供了理论框架。agent-chorus 的 Context Pack 实验证明结构化上下文让 Agent 效率提升 60-70%。问题不是 context 不够大,而是信号噪声比。 +> **设计推导**:GSD Wave Execution 证明隔离 session + 新鲜 context > 单一 session + 压缩。Claude Code 的 file reference 模式证明"引用而非内联"是最优策略。Opal-Bridge 的 Fidelity 三档提供了理论框架。agent-chorus 的 Context Pack 实验证明结构化上下文让 Agent 效率提升 60-70%。问题不是 context 不够大,而是信号噪声比。 -**L1/L2/L3 对应 Opal-Bridge Fidelity 三档**: +**L1/L2/L3 对应 Opal-Bridge Fidelity 三档**: | Opal-Bridge Fidelity | 我们的映射 | 场景 | |---------------------|----------|------| -| Mode A:无损(完整上下文) | L1 + L2 + L3 | 复杂任务,Agent 需要完整了解讨论历史和产出 | -| Mode B:LLM 摘要 | L1 + L2 | 标准任务,核心信息 + 扩展摘要 | -| Mode C:混合保留最近N条 | L1 | 简单任务,只传核心,Agent 按需取更多 | +| Mode A:无损(完整上下文) | L1 + L2 + L3 | 复杂任务,Agent 需要完整了解讨论历史和产出 | +| Mode B:LLM 摘要 | L1 + L2 | 标准任务,核心信息 + 扩展摘要 | +| Mode C:混合保留最近N条 | L1 | 简单任务,只传核心,Agent 按需取更多 | -Agent 自己决定用哪个 Fidelity 档位——收到 L1 后判断信息是否足够,不够就 L2/L3。 +Agent 自己决定用哪个 Fidelity 档位--收到 L1 后判断信息是否足够,不够就 L2/L3。 -**D2-5:三层上下文传递(L1 必传 / L2 按需 / L3 按需)** +**D2-5:三层上下文传递(L1 必传 / L2 按需 / L3 按需)** | 层级 | 内容 | Token 估算 | 谁决定 | |------|------|-----------|--------| @@ -940,11 +940,29 @@ Agent 被 spawn - must_haves 三件套(任务创建时由庞统定义): - truths:用户视角的可观测行为("用户能看到回测结果"),不是实现步骤("编写回测脚本") - artifacts:必须存在的产出文件 - - constraints:继承的约束(如"不超过500行"、"必须用vnpy") + - constraints:继承的约束(如“不超过500行”、“必须用vnpy”) ↓ -5. 退出 → daemon 自动清理 session +5. 写 Handoff Comment → 退出 + - Agent 结束前必须写一条结构化的交接评论(借鉴 agent-chorus checkpoint) + - 内容:完成什么、产出在哪、还剩什么、建议下一步 + - 这条 comment 会出现在下一个 Agent 的 L1 消息中(最近 3 条评论),实现无缝接手 + - 示例: + ``` + blackboard.py comment --task task-001 --author zhangfei-dev \ + --body "## Handoff\n完成:分批加载实现\n产出:task-001/output-zhangfei-v2.md\n未完成:止损逻辑分批适配\n建议下一步:关羽 review 止损逻辑" + ``` + ↓ +6. Daemon 自动清理 session + - 通知 Daemon(inbox JSONL) + - Daemon 检测到完成 → 继续下一步(解锁下游 / spawn review / 清理 session) ``` +**设计推导(Handoff Comment)**: +- agent-chorus 的核心机制是 Standup + Conclude:Agent 开始时读 inbox,结束时广播状态 +- 映射到黑板:Standup = Agent spawn 后读黑板(L1),Conclude = Agent 结束时写 handoff comment +- agent-chorus 的 checkpoint 广播给所有其他 Agent → 我们的 handoff comment 通过 L1 自然传递给下一个 Agent +- 关键价值:**黑板上的状态足够让 Agent B 无缝接手 Agent A 的工作**——这正是 agent-chorus 解决的核心问题 + ### 5.2 Agent 工具集 Agent 通过 `exec` 工具调用 CLI 命令操作黑板: