基于子智能体的自主项目管理

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: 与设计团队评审主页"

工作原理

  1. 主智能体接收任务 → 生成具有特定范围的子智能体
  2. 子智能体读取 STATE.yaml → 找到其分配的任务
  3. 子智能体自主工作 → 更新 STATE.yaml 报告进度
  4. 其他智能体轮询 STATE.yaml → 接手被解除阻塞的工作
  5. 主智能体定期检查 → 审查状态,调整优先级

所需技能

  • 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 它们。

相关链接