Antfarm如何自动修复Bug?triage、定位根因、修复、验证闭环全流程详解
【免费下载链接】antfarmBuild your agent team in OpenClaw with one command.项目地址: https://gitcode.com/gh_mirrors/antf/antfarm
Antfarm 是一款基于 OpenClaw 的多智能体工作流开源项目,一条命令即可组建 AI 智能体团队,实现 Bug 的自动修复:粘贴一份 Bug 报告,它会自动完成 triage(分诊)→ 定位根因 → 修复 → 验证 → 创建 PR 的完整闭环,全程无需人工盯守。
🐜 Antfarm 是什么:一条命令组建你的 Bug 修复团队
Antfarm 的核心理念是"你不需要雇佣开发团队,你只需要定义一个"。它把开发工作拆成确定性流程(YAML 工作流),每个环节由一个职责单一的 AI Agent 负责,Agent 之间互相验证、失败自动重试、超限自动升级给人工。
其中内置的bug-fix 工作流就是为自动修复 Bug 而生的流水线,由 6 个 Agent 协作完成:
triage → investigate → setup → fix → verify → PR🚀 快速上手:如何启动 Bug 自动修复流水线
安装要求:Node.js >= 22,主机上运行 OpenClaw v2026.2.9+,创建 PR 需要ghCLI。
安装只需一条命令(也可直接对 OpenClaw 说 "install github.com/snarktank/antfarm"):
curl -fsSL https://raw.githubusercontent.com/snarktank/antfarm/v0.5.1/scripts/install.sh | bash然后安装并运行 bug-fix 工作流,把你的 Bug 报告直接作为任务描述传入:
antfarm workflow install bug-fix antfarm workflow run bug-fix "用户搜索在输入空用户名时崩溃,报错 TypeError"运行后可以用antfarm workflow status "关键词"随时查看每个步骤的完成状态,无需守在终端前。
👥 6 个 Agent 角色分工:像侦探、医生、外科医生、质检员
Bug 自动修复的关键不在"让 AI 一把梭",而是分工 + 制衡。bug-fix 工作流中每个 Agent 都有自己的人设(SOUL.md)、职责规范(AGENTS.md)和身份卡(IDENTITY.md):
| Agent | 角色 | 职责 | 性格设定(SOUL) |
|---|---|---|---|
| Triager | 分诊 | 读报告、复现问题、定级严重性 | 像侦探勘查现场:只观察、只记录,不动手修 |
| Investigator | 根因分析 | 追踪代码路径,找到根因并给出修复思路(不写代码) | 不止步于表象,追问"为什么会这样" |
| Setup | 环境准备 | 建分支、探测构建/测试命令、建立基线 | 严谨的项目管家 |
| Fixer | 修复 | 实现修复 + 编写回归测试 | 精准的外科医生:只修该修的地方 |
| Verifier | 验证 | 质量门禁,独立检查 diff、跑测试、查安全 | 铁面质检员,不合格就打回 |
| PR Creator | 交付 | 推送分支、创建结构化的 Pull Request | — |
角色定义见 workflows/bug-fix/agents/,共享 Agent 见 agents/shared/。
🔄 闭环全流程详解:从 Bug 报告到可合并的 PR
第 1 步:triage 分诊——复现并给 Bug 定级
Triager 拿到 Bug 报告后,会先探索代码库找到受影响区域,再尝试复现(跑测试、查报错日志、跟踪代码路径),然后按 critical / high / medium / low 四级诚实定级——"不是每个 Bug 都是 critical"。
它的输出是结构化结论:仓库路径、建议的分支名(如bugfix/null-pointer-user-search)、严重性、受影响文件、复现方式、一句话问题陈述。规范明确禁止它修 Bug 或猜测根因——复现不了就如实标注"未复现,可能是环境问题",为下游留足信息。详见 workflows/bug-fix/agents/triager/AGENTS.md。
第 2 步:investigate 定位根因——追问"为什么"
Investigator 接手分诊数据,从输入一路追踪执行路径直到失败点,判断这到底是手误、逻辑错误、缺失的边界情况还是竞态条件,并给出具体的修复思路(改哪个文件、改什么、有哪些边界要处理),但不写代码。
它还回答更深层的问题:这是回归 Bug 还是一直没修好?有没有相关 Bug 共享同一个根因?这保证了后续修复是"对症下药"而不是"头痛医头"。见 workflows/bug-fix/agents/investigator/AGENTS.md。
第 3 步:setup 环境准备——建分支、定基线
Setup Agent 从 main 拉出 bugfix 分支,自动探测项目的构建/测试命令(读package.json、CI 配置、测试配置文件),补齐缺失的.gitignore,然后先跑一遍构建和测试建立基线——如果 main 分支本身就是坏的,它会明确记录下来,避免下游 Agent 背锅。
第 4 步:fix 修复——最小改动 + 回归测试
Fixer 是整个闭环里唯一写代码的角色。它的工作规范相当严格:
- 最小化修复:按根因和修复思路做定向修改,"手起刀落,绝不顺手重构"
- 回归测试是强制项:必须写一个"没有这个修复就会失败、有了修复就能通过"的测试,且命名要能说明它防的是什么 Bug
- 提交前自检:跑
git diff --stat确认改动都在仓库内、与声明一致,检查敏感文件(.env、密钥)没有被提交
第 5 步:verify 验证门禁——验证不过就打回重修 🔁
这是闭环的核心设计:写代码的 Agent 不能给自己打分。独立的 Verifier 会:
- 直接看
git diff main..分支——diff 为空、或与实际声明不符,立即打回 - 跑完整测试套件,回归测试不通过一个都不放行
- 专项核查 Bug 修复质量:回归测试是否针对这个具体 Bug(而不是泛泛的通用测试)、修复是否真正针对根因而非症状、改动是否最小化、有没有夹带私货
- 安全检查:.gitignore 是否存在、diff 里有没有敏感文件、代码里有没有硬编码凭据
发现问题时它回复STATUS: retry并列出具体缺陷,工作流引擎会自动把 verify 的反馈传回 Fixer 重跑修复步骤(最多重试 3 次),形成fix → verify → 反馈 → 再 fix的自我修正循环;重试耗尽后才升级给人类。相关配置见 workflows/bug-fix/workflow.yml。
第 6 步:PR——自动创建带完整上下文的 Pull Request
验证通过后,PR Creator 推送分支并用gh pr create创建 PR,正文自动填充前面各环节沉淀的完整信息:Bug 描述与严重性、根因分析、修复内容、回归测试、验证结论。人类收到的不是一个干巴巴的 diff,而是一份可以直接 review 的完整证据链。
📊 Dashboard 监控:全程进度一目了然
整个修复过程不需要盯终端。启动 Dashboard 后,每个运行的步骤状态(DONE / RUNNING / PENDING / FAILED)、重试次数、Stories 进度都实时可见,点击卡片还能展开每一步的执行详情:
antfarm dashboard # 启动,默认端口 3333💡 为什么这个闭环设计可靠
- 确定性流程:同样的工作流、同样的步骤、同样的顺序,不依赖"AI 记得去测试"
- 互相验证:修复者不给自己打分,独立 Verifier 逐条对照标准
- 每步全新上下文:每个 Agent 独立会话启动,没有上下文膨胀,也不会被 50 条消息前的幻觉状态污染(Ralph loop 模式)
- 失败不沉默:失败自动重试,重试耗尽自动升级人工,
antfarm workflow resume <run-id>还能恢复失败的运行
📁 相关文件与延伸阅读
想深入理解每个角色的行为,直接读这些纯 Markdown 文件即可(工作流完全透明,安装前就能看清每个 Agent 会做什么):
- 工作流总定义:workflows/bug-fix/workflow.yml
- 分诊 Agent:workflows/bug-fix/agents/triager/AGENTS.md
- 根因分析 Agent:workflows/bug-fix/agents/investigator/AGENTS.md
- 修复 Agent:workflows/bug-fix/agents/fixer/AGENTS.md
- 验证 Agent(共享):agents/shared/verifier/AGENTS.md
- PR 创建 Agent(共享):agents/shared/pr/AGENTS.md
- 自定义工作流完整指南:docs/creating-workflows.md
bundled 的 bug-fix 只是起点——如果你会写提示词,就能用同样的 YAML + Markdown 模式定义自己的 Agent 和步骤,搭建属于自己项目的自动修复流水线。
【免费下载链接】antfarmBuild your agent team in OpenClaw with one command.项目地址: https://gitcode.com/gh_mirrors/antf/antfarm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考