智能体工作流
AgentFlow
概述
AgentFlow 将你现有的看板转化为一个完全自主的 AI 开发流水线。它无需构建自定义的编排基础设施,而是将你的项目管理工具(Asana, GitHub Projects, Linear)视为一个分布式状态机——任务在不同阶段之间移动,AI Agent 通过评论读取和写入状态,而人类则通过原有的 UI 进行干预。
其结果是:你可以通过手机实现完整的流水线可观测性,拥有免费的崩溃恢复能力(状态存储在项目管理工具中而非内存中),并且可以通过拖动卡片在任何时间点进行人工覆盖。
何时使用此技能
- 需要在完整的开发生命周期(构建、评审、测试、集成)中编排多个 Claude Code Worker 时。
- 在 AI 评审 AI 生成的代码之前,需要确定性的质量门禁(tsc/eslint/tests)时。
- 希望通过看板或手机获得完整的流水线可见性时。
- 在运行需要自主任务调度和成本追踪的个人或团队项目时。
- 需要能够在会话重启后依然生存的防崩溃编排时。
核心概念
7 阶段看板流水线
任务流转路径:待办 (Backlog) $\rightarrow$ 研究 (Research) $\rightarrow$ 构建 (Build) $\rightarrow$ 评审 (Review) $\rightarrow$ 测试 (Test) $\rightarrow$ 集成 (Integrate) $\rightarrow$ 完成 (Done)。每个阶段都有特定的门禁。看板本身就是编排层——无需独立数据库,无需消息队列,无需自定义基础设施。
无状态编排器
由 crontab 驱动的单次扫描每 15 分钟运行一次。无需守护进程,不依赖会话。如果崩溃,下一次扫描将从上次中断的地方继续,因为所有状态都存储在项目管理工具中。
确定性优先于概率性
在任何 AI 评审之前先运行硬门禁(tsc + eslint + 测试),以近乎零的成本拦截约 60% 的问题。AI 评审作为第二层在之后进行。
对抗性评审
由另一个不同的 AI Agent 评审代码,且必须列出 3 个错误点后才能决定通过。这防止了形式主义的直接批准。
传递优先级调度
优先构建能解锁最多下游工作的任务,自动计算关键路径。
技能 / 命令
/spec-to-board
将 SPEC.md 分解为看板上的原子任务,并映射依赖关系。
/sdlc-orchestrate
根据传递优先级和冲突检测将任务分发给 Worker。以 crontab 扫描形式运行。
/sdlc-worker --slot <N>
在终端槽位中运行一个 Worker,负责领取任务、构建代码并创建 PR。可并行运行 3-4 个 Worker。
/sdlc-health
实时流水线状态仪表盘,显示每个任务的当前阶段、分配的 Agent、重试次数和累计成本。
/sdlc-stop
优雅停机:活跃的 Worker 完成当前任务,未开始的任务返回待办列表。
分步指南
1. 编写规格说明书
为你的项目创建一个 SPEC.md,描述你想要构建的内容。
2. 分解为任务
claude -p "/spec-to-board"这将读取你的 SPEC.md,将其分解为原子任务,映射依赖关系,并在你的看板上创建这些任务。
3. 启动 Worker
打开 3-4 个终端窗口,每个窗口作为一个 Worker 槽位:
# 终端 2 — 构建者终端 3 — 构建者 (Builder)
claude -p "/sdlc-worker --slot T3"终端 4 — 评审员 (Reviewer)
claude -p "/sdlc-worker --slot T4"终端 5 — 测试员 (Tester)
claude -p "/sdlc-worker --slot T5"### 4. 启动编排器 (Orchestrator)添加到 crontab(每 15 分钟运行一次)
crontab -e添加: */15 * * * * ~/.claude/sdlc/agentflow-cron.sh >> /tmp/agentflow-orchestrate.log 2>&1
### 5. 监控与干预
在手机上打开你的 Kanban 看板。观察任务在流水线中的流动。将任何卡片拖动到“Needs Human”即可进行干预。运行 /sdlc-health 可查看终端仪表盘。
6. 停止流水线
## 质量门禁 (Quality Gates)
每个阶段在晋级前必须通过特定的门禁:
- 构建 $\rightarrow$ 评审:
tsc + eslint + npm test 必须全部通过(确定性检查)
- 评审 $\rightarrow$ 测试:对抗性评审员必须列出 3 个问题后方可通过
- 测试 $\rightarrow$ 集成:新文件的测试覆盖率需达到 80%
- 集成 $\rightarrow$ 完成:合并后在 main 分支运行全量测试集;失败则自动回滚
成本追踪
按任务追踪成本并设置阶段上限(Sonnet 默认值):
- 研究 (Research): ~$0.10
- 构建 (Build): ~$0.40
- 评审 (Review): ~$0.10
- 测试 (Test): ~$0.05
- 集成 (Integrate): ~$0.03
自动防护栏:在 $3/$8 时发出警告,在 $10/$20 (Sonnet/Opus) 时强制停止并升级至人工处理。
安全与恢复
- 自动回滚:集成失败将触发
git revert(创建新提交,绝不强制推送)
- 阻塞任务:尝试 2 次失败后,任务将升级至人工评审
- 僵死 Agent 检测:每 5 分钟发送一次心跳,超时 10 分钟后重新分配
- 优雅停机:
/sdlc-stop 会排空 Worker,并将未开始的任务返回到待办列表 (Backlog)
- 范围蔓延检测:将 PR 的 diff 文件与预测的文件列表进行对比
- 规格漂移检测:通过 SHA-256 哈希对比捕捉 Sprint 中途的需求变更
安装
克隆仓库
git clone https://github.com/UrRhb/agentflow.git将 skills 和 prompts 复制到你的 Claude Code 配置中
cp -r agentflow/skills/* ~/.claude/skills/ cp -r agentflow/prompts/* ~/.claude/sdlc/prompts/ cp agentflow/conventions.md ~/.claude/sdlc/conventions.md或者作为 Claude Code 插件安装:
最佳实践
- 建议:在运行
/spec-to-board 之前编写清晰的 SPEC.md
- 建议:典型项目建议启动 3-4 个 Worker
- 建议:通过 Kanban 看板进行监控,必要时将卡片拖至“Needs Human”
- 建议:定期审阅 LEARNINGS.md —— 它记录了常见的失败模式
- 避免:跳过确定性质量门禁 —— 它们能以极低成本拦截大多数问题
- 避免:强制推送 (Force-push) 到 main 分支 —— AgentFlow 使用
git revert 以确保安全
- 避免:运行超过项目并行能力支持的 Worker 数量
故障排除
问题:Worker 似乎卡死或失效
症状: 任务卡片 15 分钟以上没有移动,且没有新评论
解决方案: 编排器会通过心跳检测僵死 Agent 并在 10 分钟后重新分配。如果问题仍然存在,运行 /sdlc-health 检查状态,并手动将卡片拖回 Backlog。
问题:触发成本防护栏
症状: 任务被移至“Needs Human”并带有 COST:CRITICAL 标签
解决方案: 查看任务的评论线程以了解累积的上下文。决定是增加预算、简化任务,还是将其拆分为更小的部分。
问题:合并后集成测试失败
症状: 任务从 main 分支被自动回滚
解决方案: 自动回滚保留了 ma
稳定性。请在评论中检查任务的重试上下文,其中记录了已尝试的操作及失败原因。下一位被分配的执行者将使用此上下文。
相关技能
@brainstorming - 在使用 AgentFlow 之前,用于设计你的 SPEC.md
@writing-plans - 补充规范编写,用于任务分解
@test-driven-development - 与 AgentFlow 的质量门禁(quality gates)配合良好
@subagent-driven-development` - 多智能体协作的另一种方法
附加资源
局限性
- 仅在任务明确符合上述范围时使用此技能。
- 不要将输出视为针对特定环境的验证、测试或专家评审的替代方案。
- 如果缺失必要的输入、权限、安全边界或成功标准,请停止并请求澄清。