多 Agent 对证循环架构通览
Hermes / CC (Claude Code) / Codex CLI 三 Agent 协作框架 2026-05-26 ~ 2026-06-12 · project-archive
一、架构概览
对证循环(Concordance Loop) 是一种 peer-review 式的多 Agent 协作模式。三个角色各司其职:
| 角色 | 工具 | 职责 | 运行模式 |
|---|---|---|---|
| Hermes | Hermes Agent | 大脑:规划、调度、终审、归档 | 常驻终端,交互式 |
| CC | Claude Code CLI | 手:发散型编码、实现 | 持久窗口,事件驱动 |
| Codex | Codex CLI | 眼:严谨审查、找问题 | 持久窗口,事件驱动 |
核心原则:事件驱动,不定时不轮询,不废 token。
二、对证循环流程
Hermes 规划任务 → 创建 STATUS.md → 启动工作间
↓
CC 读 STATUS.md → 实现 → git commit → notify
↓
Codex 被唤醒 → 读 STATUS.md + git diff → 审查
↓
├─ REVIEW-PASS → 通知 Hermes → 终审 → 归档
└─ REVIEW-FAIL → 通知 CC → 修复 → 再循环
↓
循环,直到 REVIEW-PASS 或超限 5 轮关键设计
- STATUS.md 是唯一的交流通道 — 不接受 Agent 之间直接通信
- git 是事件容器 — commit 触发通知,但不承载协议
- notify-agent.sh 是门铃 — 一行 curl POST 到路由层,不带上下文
- 路由层做决策 — 解析 commit 作者 or 消息前缀,决定唤醒哪一方
迭代记录
| 轮次 | 提交者 | 结果 | 详情 |
|------|--------|------|-----------------------------|
| 1 | CC | 完成 | 实现 JWT 登录签发 |
| 2 | Codex | REVIEW-FAIL | token 过期校验缺失 |
| 3 | CC | 修复 | 增加 exp 字段检查 |
| 4 | Codex | REVIEW-PASS | 审查通过 |三、三层架构
┌──────────────────────────────────────┐
│ 路由层(n8n) │
│ 事件接收 → 解析 → 决策 → 注入 │
├──────────────────────────────────────┤
│ 会话层(持久窗口) │
│ Agent 常驻 → send-keys 注入 → 读输出 │
├──────────────────────────────────────┤
│ 协议层(文件级) │
│ STATUS.md + SKILL.md │
└──────────────────────────────────────┘| 层 | 职责 | 可替换为 |
|---|---|---|
| 路由层 | Webhook 接收、commit 解析、决策、注入 | n8n / Dify / LangGraph / 自建脚本 |
| 会话层 | Agent 持久化、命令注入、输出读取 | Windows 终端 / WSL tmux / Docker |
| 协议层 | 共享状态格式、Agent 行为规范 | STATUS.md + SKILL.md |
核心思想:每一层都是可替换的协议接口,不是框架绑定。
四、工作间模型
- 工作间(Workspace) = 一个任务 + 一对 CC/Codex + 一个 STATUS.md
- 工作间之间可并发
- 工作间 STATUS.md 放在
workspaces/wsXXX/STATUS.md
D:/files/HomeSense/
STATUS.md ← 项目级状态(Hermes 维护)
workspaces/
ws001-jwt-auth/
STATUS.md ← 工作间状态(CC/Codex 对话)
events/ ← 事件文件五、与现有方案的核心差异
| 维度 | 传统方案 | 本架构 |
|---|---|---|
| 通信 | LangGraph 图内传消息 | STATUS.md 文件协议 |
| 注入 | 插件/子进程 | 原生窗口 send-keys |
| 持久性 | 干完就消亡 | 窗口常驻,会话连续 |
| 并发 | 单线程 | 多工作间并行 |
| 耦合度 | 框架锁死 | 三层可替换 |
| 可调试 | 黑箱 | 文件即日志,人可读 |
六、核心原则
- 文档是主权,Agent 是工具 — STATUS.md 是唯一的真实源
- 事件驱动,拒绝轮询 — 不做 sleep 循环,commit 触发一切
- 协议不绑项目配置 — Hook 只做 curl,路由在 n8n,Agent 行为在 SKILL.md
- 系统可手动修改 — 所有文件都是人可读可改的,不依赖 Agent