# Triad Workflow：三角色状态机驱动的多Agent异步协作开发框架

> Triad Workflow 是一个沉淀自AIGC Gateway项目实践的工程化框架，通过Planner、Generator、Evaluator三角色分离和7状态机驱动，实现Claude CLI与Codex的多Agent异步协作开发。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-01T12:13:42.000Z
- 最近活动: 2026-05-01T12:24:02.371Z
- 热度: 161.8
- 关键词: Triad Workflow, 多Agent协作, Claude CLI, Codex, 状态机, Git工作流, 软件工程, AI编程, 异步协作
- 页面链接: https://www.zingnex.cn/forum/thread/triad-workflow-agent
- Canonical: https://www.zingnex.cn/forum/thread/triad-workflow-agent
- Markdown 来源: ingested_event

---

# Triad Workflow：三角色状态机驱动的多Agent异步协作开发框架

## 从实践中沉淀的工程智慧

Triad Workflow（早期曾命名为"Cowork + Harness"）并非纸上谈兵的理论框架，而是源于AIGC Gateway项目完整实施过程的实战总结。它的诞生源于一个核心观察：当多个AI Agent（如Claude CLI和Codex）协同工作时，最大的挑战不是单个Agent的能力，而是**角色边界模糊、状态管理混乱、跨会话记忆丢失**。

传统的多Agent协作往往依赖于Agent之间的直接通信，这在实际工程中存在诸多问题：网络不稳定、工具差异、上下文窗口限制。Triad Workflow提出了一种全新的解决方案：**Git作为协作总线**。

## 三角色不重叠：职责清晰的专业分工

Triad Workflow的核心设计是**三角色严格分离**，没有任何Agent评估自己的工作：

### Planner（规划者）

Planner是"做什么"的决策者。它负责：
- 理解用户需求，将其转化为可执行的功能规格
- 制定开发计划，确定批次范围和优先级
- 编写规格文档（硬性要求），生成features.json
- 与用户确认功能范围，管理用户期望

Planner不直接编写代码，它的产出是清晰的规格和计划。

### Generator（实现者）

Generator是"怎么做"的执行者。它负责：
- 根据Planner的规格文档实现具体功能
- 编写代码、配置、测试用例
- 每完成一个功能更新progress.json并推送
- 检查CI状态，红色即停止新功能开发

Generator不评估自己的工作质量，它的产出是功能实现和代码提交。

### Evaluator（验收者）

Evaluator是"做得对不对"的把关者。它负责：
- 设计并编写测试（测试域所有权归Evaluator）
- 执行`executor:codex`功能，产出测试报告
- 出具`PASS`、`PARTIAL`或`FAIL`的验收结论
- 编写`evaluator_feedback`指导修复

Evaluator不直接修改代码，它的产出是验收结论和反馈。

## 7状态机：驱动开发流程的引擎

Triad Workflow使用严格的状态机管理开发流程，状态转换由`progress.json`中的`status`字段驱动：

```
new → planning → building → verifying → fixing ⟷ reverifying → done
```

### 状态详解

- **new**：新需求批次开始，等待Planner介入
- **planning**：Planner正在分析需求、编写规格
- **building**：Generator正在实现功能
- **verifying**：Evaluator正在验收
- **fixing**：根据Evaluator反馈修复问题
- **reverifying**：修复后重新验收（可循环）
- **done**：批次完成，进入学习沉淀阶段

### 状态转换规则

- Planner只能在`new`或`planning`阶段工作
- Generator只能在`building`阶段工作
- Evaluator只能在`verifying`或`reverifying`阶段工作
- 从`building`到`verifying`的转换由Generator完成所有`executor:generator`任务后触发
- 从`verifying`到`done`需要Evaluator出具`PASS`结论

## Git作为协作总线：异步跨工具协作

Triad Workflow最独特的设计是**Agent间不直接通信**，而是通过状态文件和`.auto-memory/`目录异步交接。这一设计带来了多个工程优势：

### 跨机器协作

不同Agent可以在不同机器上运行，只要共享同一个Git仓库即可协作。Planner在开发者的笔记本上运行，Generator在CI服务器上执行，Evaluator在测试环境中验证——一切皆有可能。

### 跨工具协作

Claude CLI和Codex虽然都是Anthropic的产品，但它们的API和交互方式有所不同。Triad Workflow通过Git抽象层屏蔽了这些差异，两个工具可以无缝协作。

### 跨会话恢复

AI Agent的上下文窗口有限，长会话容易丢失重要信息。Triad Workflow通过分层记忆系统解决了这个问题：

- **T0层**（project-status.md, environment.md）：项目状态快照，覆盖写，≤30行
- **T1层**（role-context/*.md）：角色行为规范，按当前角色加载
- **T2层**（user-role.md, reference-docs.md）：用户偏好和文档索引

每次Agent启动时，根据当前角色和状态自动加载相关记忆，实现"跨会话连续工作"的错觉。

## 框架组成：开箱即用的工程模板

Triad Workflow提供了一套完整的脚手架模板：

```
framework/
├── bootstrap.sh            # 一键初始化脚本
├── INIT.md                 # Claude CLI初始化引导
├── harness/                # 状态机核心
│   ├── harness-rules.md    # 状态机规则
│   ├── planner.md          # Planner角色指令
│   ├── generator.md        # Generator角色指令
│   ├── evaluator.md        # Evaluator角色指令
│   └── progress.init.json  # 初始progress.json
├── memory/                 # 跨会话记忆系统模板
│   ├── MEMORY.md           # 记忆索引（T0/T1/T2分层）
│   ├── project-status.md   # T0：项目状态快照
│   ├── environment.md      # T0：环境信息
│   ├── role-context/       # T1：角色行为规范
│   ├── user-role.md        # T2：用户角色和工作偏好
│   └── reference-docs.md   # T2：文档结构索引
└── templates/              # 项目级配置模板
    ├── CLAUDE.md           # Claude项目指令模板
    ├── AGENTS.md           # Codex指令模板
    ├── signoff-report.md   # 功能签收报告模板
    └── features.template.json
```

## 快速开始：30秒启动新项目

使用Triad Workflow只需三步：

```bash
# 第1步：拉取模板
npx degit tripplemay/harness-template my-new-project
cd my-new-project

# 第2步：运行初始化脚本
bash bootstrap.sh

# 第3步：启动Claude CLI，按INIT.md初始化
claude
# 说："按INIT.md初始化项目"
```

Claude会交互式询问6个问题（项目名、技术栈、常用命令、生产地址、Agent身份、用户偏好），然后自动填充所有占位符，创建Git仓库并提交初始版本。

## 日常使用：一个完整批次的生命周期

### 开启新批次

1. 将`progress.json`的`status`改为`"new"`
2. 启动Claude CLI："根据harness规则，开发[需求描述]"
3. Planner读取测试报告和backlog，与用户确认功能范围
4. Planner写规格文档，生成features.json
5. 判断批次类型，设status为`building`或`verifying`

### 开发阶段（Generator）

- Claude CLI读取`progress.json`，status为`building`→进入Generator模式
- 每完成一个功能：更新progress.json + push + **检查CI（铁律）**
- CI红色→立即停止，先修复CI
- 上下文不足20%→保存进度，告知用户重启
- 所有`executor:generator`完成→status改为`verifying`

### 验收阶段（Evaluator）

- Codex读取status为`verifying`→进入Evaluator模式
- 设计并编写测试（测试域所有权归Evaluator）
- 执行`executor:codex`功能，产出报告
- 出具`PASS`/`PARTIAL`/`FAIL`结论，编写evaluator_feedback
- `PASS`→status改为`done`
- `FAIL`→status改为`fixing`，等待Generator修复

## 设计哲学：为什么这样设计

Triad Workflow的设计深受软件工程最佳实践的影响：

### 单一职责原则

每个Agent只负责一个明确的职责，不越界、不重叠。Planner不做实现，Generator不做验收，Evaluator不写代码。

### 状态机驱动

显式的状态管理避免了隐式的流程混乱。每个阶段做什么、产出什么、如何转换，都清晰定义。

### 不可变历史

通过Git的版本控制，所有决策和产出都有迹可循。`.auto-memory/`中的文件虽然会更新，但Git历史保留了完整的演进过程。

### 渐进明细

从T0到T2的记忆分层，体现了"渐进明细"的敏捷思想。项目启动时只需要粗略信息，随着开发深入逐步细化。

## 适用场景

Triad Workflow特别适合以下场景：

- **复杂功能开发**：需要多轮规划、实现、验收的功能
- **长期项目**：跨天、跨周的持续开发，需要记忆沉淀
- **多工具协作**：Claude CLI和Codex混合使用
- **团队协作**：多人、多机器共享同一个代码库
- **合规要求严格**：需要完整的开发记录和审计轨迹

## 结语

Triad Workflow代表了AI辅助开发的工程化趋势。它不再将AI视为简单的代码生成工具，而是将其纳入严格的软件工程流程中，通过角色分离、状态机驱动和Git协作总线，实现可管理、可审计、可复现的多Agent协作开发。对于追求工程质量的团队而言，Triad Workflow提供了一个经过实战检验的解决方案框架。
