PM + Architect + Coder + Reviewer —— 四个 Agent 分工协作,完成软件开发项目
每个 Agent 只做一件事,System Prompt 明确禁止越界。
| 维度 | PM | Architect | Coder | Reviewer |
|---|---|---|---|---|
| 核心职责 | 需求分析 | 架构设计 | 代码实现 | 质量审查 |
| 输出物 | P0/P1/P2 任务列表 | 技术方案 + 数据模型 + API | 可运行代码 | 评分 + approved/revise |
| 不能做 | 设计架构、写代码 | 写代码 | 改架构 | 自己改代码 |
| System Prompt 关键指令 | "只拆解需求,不涉及技术选型" | "严格基于 PM 的任务列表" | "严格遵循架构设计" | "只指出问题,不修改代码" |
所有 Agent 通过 State 通信。Agent 从 State 读取上游产出,完成后写入 State。State 就是"项目交接单"。
class TeamState(TypedDict):
messages: list # 消息流(add_messages reducer)
next_agent: str # Supervisor 路由决策
# 各 Agent 产出(渐进填充)
requirement: str # 用户输入
task_breakdown: str # PM → 任务列表
architecture: str # Architect → 架构设计
code: str # Coder → 代码
# Reviewer 产出
review_result: str # "approved" / "revise"
review_feedback: str # 具体意见
# 循环控制
revision_count: int # 防无限循环
back_to_architect: bool # 问题在架构层还是代码层
Supervisor 不做具体工作,只决策"下一步派谁"。它不是硬编码的 if-else,而是让 LLM 根据 State 状态做路由决策。
┌──────────────────┐
│ Supervisor │
│ (LLM 路由决策) │
└────────┬─────────┘
│
┌─────────────────────┼─────────────────────┐
│ │ │
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ PM │ │Architect│ │ Coder │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
└────────────────────┴────────────────────┤
▼
┌─────────┐
│Reviewer │
└────┬────┘
│
┌─────────┴─────────┐
│ │
approved revise
│ │
▼ ▼
END Coder/Architect
│
▼
Supervisor
| 条件 | → 决策 |
|---|---|
| task_breakdown 为空 | pm |
| 有任务、architecture 为空 | architect |
| 有架构、code 为空 | coder |
| 有代码、未审查 | reviewer |
| revise + revision_count < 3 | coder 或 architect |
| approved 或 revision_count >= 3 | FINISH |
| 冲突 | 场景 | 解决机制 |
|---|---|---|
| Reviwer ↔ Coder | Reviewer 反复打回,Coder 反复修改 | revision_count < 3 上限保护 |
| Architect 越界 | 架构设计超出了 PM 任务范围 | Reviewer 对照 task_breakdown 校验 |
| Coder 质疑架构 | Coder 发现架构问题但不能改 | # [疑问] 注释 → Reviewer 判断是否退回 Architect |
| 标准分歧 | "好的代码"见仁见智 | 3 轮后自动通过 Stop-the-World 机制 |
用户输入: "开发一个用户管理系统,支持注册、登录、查询个人信息"
| 框架 | 协调方式 | 灵活度 | 学习曲线 | 适用场景 |
|---|---|---|---|---|
| LangGraph | 显式图 + State + Supervisor | 最高 | 中 | 需要精细控制流程、循环依赖 |
| CrewAI | 预定义 Crew/Task 抽象 | 中 | 低 | 快速搭建多 Agent 原型 |
| AutoGen | 对话驱动、GroupChat | 中 | 中 | 对话式协作、研究讨论 |
| OpenAI Swarm | 函数路由、handoff | 低 | 低 | 简单任务分发、Demo |
009-agent-learning (单 Agent 基础)
│
▼
007-langgraph-learning (StateGraph + Supervisor 模式)
│
▼
010-multi-agent-learning (本模块: 4 Agent 协作)
│
▼
未来: 真实工具集成 (GitHub API, 文件系统, Docker)
评估体系 (自动化测试, 性能基准)
人机协作 (Human-in-the-Loop)