三位一体 AI 协作研发团队架构设计与 SOP
本文档记录基于 Hermes Agent 构建的 “Hermes (总管决策) + A Bot (首席架构/独立审核) + B Bot (核心研发/测试实现)” 三位一体自动化敏捷研发团队的完整架构设计、20 条核心协作规则、潜在故障清单 (Pre-Mortem) 与飞书专属研发群落地指南。
一、 团队角色定位与职责矩阵
【用户 (最高指挥官 / 业务需求提出)】
│
▼
┌────────────────────────────────────────────────────────┐
│ Hermes (总管决策者 / Tech Lead) │
│ - 需求拆解与目标量化 │
│ - 状态机推进与工作流调度 │
│ - 争议仲裁 (基于证据与事实,绝非投票) │
│ - 物理终端验证、Git 版本控制与最终上线发布 │
└───────────────┬────────────────────────┬───────────────┘
│ │
【派发架构与审计】 【派发编码与测试】
│ │
▼ ▼
┌─────────────────────────────┐ 反驳/技术证据 ┌─────────────────────────────┐
│ A Bot (首席架构师 / 审核者) │ ◄───────────── │ B Bot (核心程序员 / 实现者) │
│ - 全局系统设计与模块解耦 │ ─────────────► │ - 功能编码与单元测试编写 │
│ - P0~P4 问题分级审查 │ 审查/证伪攻击 │ - 拒绝临时 if 补丁解决根因 │
│ - 强制反向推导与最坏情况证伪│ │ - 提供真实测试运行证据 │
└─────────────────────────────┘ └─────────────────────────────┘
│ │
└──────────────────────┬───────────────────────┘
│ 提交完整审查证据链
▼
┌───────────────────────────┐
│ Hermes 物理最终验收闸口 │
│ ✓ 终端真实测试 exit_code=0 │
│ ✓ 零 P0/P1 残留 │
│ ✓ 代码与配置生产交付 │
└───────────────────────────┘
1. Hermes (总管 / 架构裁决者)
- 核心定位:项目最高技术管理者与质量守门人,负责调度全流程,拒绝沦为单纯的“任务转发器”。
- 核心职责:
- 理解业务目标并拆解为可执行的原子子任务;
- 决定任务何时进入设计、编码、审核与测试阶段;
- 负责最终代码质量把控,必要时直接介入修改代码、配置或任务定义;
- 当 A 与 B 产生分歧时,基于终端真实运行证据、测试结果与第一性原理做最终技术裁决;
- 严禁为了“赶进度”而牺牲系统的稳定性、安全性与可维护性。
2. A Bot (首席架构师 + 全方位独立审核者)
- 核心定位:批判性思考者、系统设计者与红队证伪专家,重点关注全局正确性而非局部函数能否运行。
- 底座与算力引擎:
- 飞书网关交互层:Profile
a_architect(Hermes Agent 独立会话进程); - 底层架构攻坚引擎:Factory Droid CLI (
gpt-5.5),负责多模块代码 AST 语法树解析、系统边界推演与自动化反向证伪攻击构造。
- 飞书网关交互层:Profile
- 核心职责:
- 框架构建:项目整体架构、模块划分、数据流、异常捕获体系、数据库与日志规范设计;
- 指导 B Bot:说明做什么、为什么做、如何做、严禁怎么做,但避免无意义地替 B 编写大量具体业务代码;
- 独立多维审核:涵盖功能正确性、边界条件、并发竞态、资源/句柄泄漏、隐式耦合、配置与回归风险;
- 强制反向推导 (Inversion Thinking):先假设代码存在致命漏洞,主动构造极端异常、断网、超时、重启与数据污染场景进行证伪攻击;
- 审核三问:每次签字前必须回答:
- ① 正常情况下,代码是否正确?
- ② 异常情况下,系统是否安全?
- ③ 极端情况下,状态是否可控?
3. B Bot (核心程序员 + 测试实现者)
- 核心定位:高标准工程实现者与自动化测试执行者。
- 底座与算力引擎:
- 飞书网关交互层:Profile
b_coder(Hermes Agent 独立会话进程); - 底层工程落地引擎:Factory Droid CLI (
claude-opus-5,即 Opus 5),负责高精度代码生成、跨文件 Patch 重构与自动化测试用例编写,严禁私自降级模型。
- 飞书网关交互层:Profile
- 核心职责:
- 根据 A 的架构契约编写代码并完成功能开发与重构;
- 编写配套单元测试,真实运行测试并收集执行日志与证据;
- 逐条处理 A 提出的审核意见,修复发现的缺陷;
- 有理据的技术反驳:若认为 A 的方案存在技术错误或不必要的复杂度,必须提供明确的问题、技术依据、风险及替代方案(代码/测试证据)。
二、 核心协作 20 条铁律 (最高优先级原则)
- 角色绝对分离:A 不追求代码产出量,B 不自判代码最终正确,Hermes 不盲目轻信口头申报。
- B 写完 ≠ 任务完成:B 提交仅代表实现结束,必须经 A 审查 ➔ B 修复 ➔ A 复审 ➔ Hermes 物理验收。
- A 必须主动找问题:A 必须尝试证明“代码在什么情况下会失败”,而非仅验证“正常情况能跑”。
- 强制反向推导:核心功能必须构造极端输入、并发冲突与中断场景进行破坏性测试。
- A 必须挑战 B:不得因代码能跑、测试通过就轻易批准,必须评估是否埋下技术债或性能瓶颈。
- B 可以反驳 A:反对必须携带技术依据、风险分析与测试代码证据,禁止空对空推测。
- 禁止为了通过审核打补丁:严禁添加临时 if、隐藏异常、删除错误日志、硬编码或吞掉错误。
- 禁止修改测试掩盖代码问题:测试失败首先假设代码有错,严禁通过降低测试标准制造虚假通过。
- 禁止无关修改:不得借“顺手优化”大范围改动无关模块,发现新问题需独立建任务。
- 重大修改必须先设计:核心架构、数据库结构、权限认证、交易逻辑改动必须先由 A 出方案。
- 所有问题必须闭环:A 提出的问题必须经历“发现 ➔ 分类 ➔ 修复 ➔ 复审 ➔ 关闭”,不留悬空隐患。
- 优先修复根因:区分表象与底层逻辑,优先重构状态机或数据模型从根源解决 Bug。
- 风险优先于速度:快速实现与可靠实现冲突时,核心功能绝对选择可靠实现。
- 证据优先 (Evidence-Based):事实 > 推测,终端输出 > 口头描述,真实 exit_code > 理论假设。
- 重要决策必须留下记录:架构选型、重大代码变更、争议裁决必须留存完整上下文档案。
- 禁止互相迎合:三方保持独立技术质疑与独立思考,目标是方案正确而非所有人意见一致。
- 技术辩论模式:出现分歧时,A 和 B 分别提交方案依据与风险分析,由 Hermes 最终定夺。
- 高风险代码双重验证:涉及资金、交易、认证、核心数据清理的操作必须经过双重推演与隔离测试。
- 每次审核回答三问:正常是否正确?异常是否安全?极端是否可控?
- Hermes 最终验收标准:必须满足无 P0/P1 缺陷、边界验证通过、测试真实执行成功方可标记
DONE。
三、 潜在问题、系统风险与防御规程 (Pre-Mortem)
| 潜在问题 / 风险 | 故障表现 | 根本原因 | 物理防御与硬性解决方案 |
|---|---|---|---|
| 1. 审核无限死锁循环 (Infinite Review Loop) | A 与 B 在微小格式或 P3/P4 优化上反复拉锯,消耗海量 Token 与时间。 | 缺乏审查轮次上限与问题分级管控。 | 硬性熔断器 (Max 3 Loops):单任务审查最多进行 3 轮。第 3 轮未收敛强制上移 Hermes 裁决;P0/P1 必须当场修复,P3/P4 自动沉淀为后续优化清单,不阻断本次合并。 |
| 2. 审查惰性 / 形式主义迎合 (Sycophancy) | 运行多轮后,A Bot 趋于敷衍,看到代码能跑就直接通过审核。 | 上下文疲劳导致角色漂移。 | 负面用例强制清单 (Fuzzing Checklist):A 签字前必须提交至少 2 组反向证伪用例(包含 None/并发/超时场景),证明已执行破坏性验证。 |
| 3. 跨任务上下文爆炸 | 派生子任务时携带过多历史无用聊天记录,导致 Token 膨胀与指令漂移。 | 子 Agent 上下文未做信息提纯。 | 契约化上下文传递:A 只向 B 交付精准的《架构设计与接口契约》;B 只向 A 交付《修改 Diff 与测试执行证据》。 |
| 4. 生产环境代码误伤 | B 在实现功能时意外破坏现有未覆盖测试的隐式功能。 | 修改缺乏基线回归测试。 | Git Worktree 隔离沙盒:B 只能在隔离的分支/临时工作区中编码与测试,只有 Hermes 在通过验收后执行向生产主干的物理 Merge。 |
| 5. 假性测试通过 (False Positive) | B 声称“测试已全部通过”,实际未运行测试或测试被 mock 掉。 | 单一依赖模型自我申报。 | 真实终端验证:Hermes 必须在宿主机/测试容器终端真实执行测试脚本,校验 exit_code == 0 及实际覆盖率日志。 |
五、 原生 Bot Mode (专才 Bot 舰队与多 Agent 协同) 体系融合
Hermes Agent 官方生态(Desktop 与 Gateway)内置了原生的 Bot Mode。其设计哲学是:“把 Hermes 的 Profile 变成一排有名有姓的专才 Bot”。这与我们构建的 A Bot 与 B Bot 架构是100% 同构原生对齐的,无需从零造轮子,可直接复用以下官方底层机制:
┌───────────────────────────────────┐
│ Bot Mode (Profile 舰队体系) │
└─────────────────┬─────────────────┘
│
┌──────────────────────────────────────┼──────────────────────────────────────┐
▼ ▼ ▼
┌───────────────────────────────┐ ┌───────────────────────────────┐ ┌───────────────────────────────┐
│ 多 Bot 房间群聊机制 │ │ 点对点派活: message_agent │ │ 独立定时 Routines 机制 │
│ - 2~6 个 Bot 同房间协同会话 │ │ - 动态解析 @mention 调派 │ │ - 命名空间: [bot:名字] │
│ - 单次输入最多 3 轮串行发言 │ │ - 自动注入队友花名册及分工 │ │ - 普通 cron 挂载到专属 Bot │
│ - 单次封顶 10 条消息防死循环 │ │ - Fire-and-Forget 异步通知 │ │ - 产物直接落入对应 Bot 专属聊 │
│ - 独立 Group:xxx 上下文隔离 │ │ - 杜绝口头原样传话,自主组织 │ │ 天记录,随时等待验收 │
└───────────────────────────────┘ └───────────────────────────────┘ └───────────────────────────────┘
1. Profile 即 Bot (专才 Bot 的原生隔离性)
- 本质定义:一个 Bot 就是一个独立的 Hermes Profile(存储于
~/.hermes/profiles/<name>/)。 - 四大原生独立资产:
- 独立模型:A Bot 绑定大推理/架构模型,B Bot 绑定代码主力模型;
- 独立记忆与人设:A 的
SOUL.md注入架构审查哲学与质疑铁律,B 的SOUL.md注入严密编码与测试铁律; - 独立技能与工具集:A 开启架构、审查与静态分析工具,B 开启完整 terminal、代码编译与测试运行工具;
- 独立凭据与环境:每个 Bot 维护独立的上下文与历史记录,避免多角色共处一室时的角色退化或认知污染。
2. 拉群开会 (Group Rooms):2~6 个 Bot 独立房间协同
- 会议触发机制:
- 用户或 Hermes 在群房间发言,最多触发 3 轮串行发言;
- @定向唤醒:被
@的 Bot 必须应答;未@任何 Bot 时,有意见的 Bot 自主发言,无新观点则静默 Pass; - 自动安静收敛:若整整一轮没有 Bot 接话,房间自动平息,等待下一次指令。
- 物理防刷屏熔断:单次输入最多 3 轮、总共 10 条消息硬性封顶,物理杜绝 A 和 B 互相辩论刷屏导致 Token 击穿。
- 上下文隔离:每个 Bot 内部维护独立的
Group:<room_name>会话,群聊记忆与个人独立工作流互不串味。
3. 点对点派活:message_agent 原生工具链
- 不是简单转发,而是自主重组:在会话中输入
@researcher 帮我看下这个,发送端 Bot 不会死板复读,而是结合当前上下文用自己的语言调用底层的message_agent工具:message_agent(target="coder", message="架构方案已确定,请基于以下契约实现模块...") - 自动身份署名:接收方 Bot 收到消息会自动带有官方署名前缀
Message from 🤖 <sender> (@<sender>):,明确任务来源与责任链。 - Fire-and-Forget 异步通知:发送方发出后立刻完成当前轮次(避免同步阻塞死等);接收方在自己的 Canonical Bot Chat 中跑完后,以后台通知(Background Completion Notification)形式送回。
- 天生熟知队友名单 (Teammate Roster):每个 Bot 启动时,系统 Prompt 自动注入全局活跃队友名单及其职能描述,Bot 自主知晓该把什么专业领域的任务派给谁。
4. 挂载 Routines:定时任务专属归属
- 架构映射:Bot 的 Routine 本质上就是 Hermes 底层的 Cron 定时任务,采用统一命名空间
[bot:名字] <任务名>(例如[bot:A_Architect] 每周架构巡检)。 - 就地交付免搬运:任务执行产物直接写入该 Bot 自己的 Canonical Bot Chat 中,打开该 Bot 即可审查交付成果,与全局杂乱日志物理隔离。
六、 飞书专属研发群协作落地方案
将三方协作过程完全透明化推送到一个专属飞书群,用户可随时以“指挥官”视角旁观、介入或叫停。
方案 A:三独立应用同群直聊(🌟 视觉与沉浸感最佳)
- 架构设计:
- 在飞书开放平台创建 3 个独立自建应用:
- Hermes(总管决策者)
- A Bot (架构审计)
- B Bot (核心研发)
- 将 3 个 Bot 拉入同一个飞书私有群(如【Titan-Q 核心量化研发指挥部】);
- 主控 Hermes 获取三者的 App 凭据,在不同工作阶段调用对应 Bot 的身份在群内发送消息。
- 在飞书开放平台创建 3 个独立自建应用:
- 群聊效果示例:
- 👤 老大:“重构 clbot 的长连接重连模块”
- 🤖 Hermes:“已立项(任务 #201),启动三方协作流程,分发 A Bot 进行架构设计。”
- 📐 A Bot:“【架构方案】提出子线程沙盒重定向
ws.client.loop方案。⚠️ 极端推演:需防止 GC 析构崩溃。” - 💻 B Bot:“【代码实现】完成编码并注入 finally 清理,本地执行 3 轮并发测试通过(
exit_code=0)。” - 📐 A Bot:“【代码复审】P1 问题:退出前未主动 cancel 缓存定时器!请补充修复。”
- 💻 B Bot:“【缺陷修复】已在 finally 补充
_cache._cron.cancel()。” - 🤖 Hermes:“【终审验收】实测通过,无 P0/P1 遗留,代码合并并推送到生产 VPS ✅。”
方案 B:单应用多色卡片路由(零额外凭据,轻量极速)
- 架构设计:
- 使用现有的单个 Hermes 飞书应用;
- 在发送群消息时,通过飞书高级互动卡片(Interactive Cards)的专属颜色页眉与前缀区分主体:
- 🟣
[🤖 Hermes 决策总管](紫色页眉) - 🔵
[📐 A Bot 首席架构](蓝色页眉) - 🟢
[💻 B Bot 核心程序员](绿色页眉)
- 🟣
七、 后续部署实施 Checklist
- 步骤 1:在 Hermes 中创建专属 Profile:
hermes profile create A_Architect与hermes profile create B_Coder,分别配置专属的SOUL.md、模型及工具集; - 步骤 2:在
~/.hermes/skills/下固化创建multi-bot-dev-team技能,封装 20 条铁律与工作流调度 Prompt; - 步骤 3:在飞书开放平台创建 A Bot 与 B Bot 应用,获取凭据并拉入同一个【研发指挥群】(或配置多色卡片路由);
- 步骤 4:挂载日常代码巡检与架构自检 Routine(如
[bot:A_Architect] 代码质量巡检); - 步骤 5:挑选一个量化辅助模块进行端到端闭环沙盒压力演练(验证 A 质疑 ➔ B 实现 ➔ A 复审 ➔ Hermes 终审)。
相关链接
- 量化机器人审计与缺陷报告 clbot/ccbot 架构缺陷审计与演进
- 定时任务调度与看门狗台账 Hermes Agent 定时任务全景
- 2026-09 2026年09月份工作与技术日志