基于子智能体的自主项目管理
2025-01-15
3 min read
Anonymous
管理包含多个并行工作流的复杂项目令人筋疲力尽。你不断切换上下文,跨工具追踪状态,手动协调交接。
这个用例实现了一种去中心化的项目管理模式——子智能体自主处理任务,通过共享状态文件进行协调,而不是依赖中央调度器。
痛点
传统的调度器模式会产生瓶颈——主智能体变成了交通警察。对于复杂项目(多仓库重构、研究冲刺、内容流水线),你需要能够并行工作、无需持续监督的智能体。
功能
- 去中心化协调:智能体读写共享的
STATE.yaml文件 - 并行执行:多个子智能体同时处理独立任务
- 无调度器开销:主会话保持精简(CEO 模式——仅负责策略)
- 自我文档化:所有任务状态持久化存储在版本控制文件中
核心模式:STATE.yaml
每个项目维护一个 STATE.yaml 文件作为唯一真相源:
# STATE.yaml - 项目协调文件
project: website-redesign
updated: 2026-02-10T14:30:00Z
tasks:
- id: homepage-hero
status: in_progress
owner: pm-frontend
started: 2026-02-10T12:00:00Z
notes: "正在处理响应式布局"
- id: api-auth
status: done
owner: pm-backend
completed: 2026-02-10T14:00:00Z
output: "src/api/auth.ts"
- id: content-migration
status: blocked
owner: pm-content
blocked_by: api-auth
notes: "等待新的端点 Schema"
next_actions:
- "pm-content: api-auth 已完成,恢复迁移"
- "pm-frontend: 与设计团队评审主页"
工作原理
- 主智能体接收任务 → 生成具有特定范围的子智能体
- 子智能体读取 STATE.yaml → 找到其分配的任务
- 子智能体自主工作 → 更新 STATE.yaml 报告进度
- 其他智能体轮询 STATE.yaml → 接手被解除阻塞的工作
- 主智能体定期检查 → 审查状态,调整优先级
所需技能
sessions_spawn/sessions_send用于子智能体管理- 文件系统访问以操作 STATE.yaml
- Git 用于状态版本控制(可选但推荐)
设置:AGENTS.md 配置
## PM 委派模式
主会话 = 仅协调。所有执行工作交给子智能体。
工作流:
1. 新任务到达
2. 检查 PROJECT_REGISTRY.md 查找已有 PM
3. 如果有 PM → sessions_send(label="pm-xxx", message="[task]")
4. 如果是新项目 → sessions_spawn(label="pm-xxx", task="[task]")
5. PM 执行,更新 STATE.yaml,报告回主会话
6. 主智能体汇总给用户
规则:
- 主会话:最多 0-2 次工具调用(仅 spawn/send)
- PM 拥有各自 STATE.yaml 文件的所有权
- PM 可以生成子-子智能体以并行处理子任务
- 所有状态变更提交到 Git
示例:生成一个 PM
用户:"重构认证模块并更新文档"
主智能体:
1. 检查注册表 → 没有活跃的 pm-auth
2. 生成:sessions_spawn(
label="pm-auth-refactor",
task="重构认证模块,更新文档。在 STATE.yaml 中跟踪进度"
)
3. 回复:"已生成 pm-auth-refactor。完成后我会报告。"
PM 子智能体:
1. 创建 STATE.yaml,分解任务
2. 逐任务处理,更新状态
3. 提交变更
4. 向主智能体报告完成
关键洞察
- STATE.yaml > 调度器:基于文件的协调比消息传递更具可扩展性
- Git 作为审计日志:提交 STATE.yaml 变更以获得完整历史记录
- 标签约定很重要:使用
pm-{project}-{scope}以便于追踪 - 精简主会话:主智能体做的事越少,响应越快
基于
此模式灵感来源于 Nicholas Carlini 的做法——让自主编码智能体自我组织,而不是 micromanage 它们。