一次不太一样的 issue 清理
Cloudflare 在 GitHub Actions 里用 AI 智能体给 Astro 自动分类 issue:复现、诊断、验证、修复一气呵成。未解决问题从 200 多个降到约 30 个,降幅 85%。这套流程后来变成开源框架 Flue,也成了企业上云自动化运维的新样板。
智能体怎么协作?像一个小型研发团队
这套流程里没有单个“万能智能体”,而是几个各管一段的小智能体:
- 复现智能体:先跑代码,看能不能稳定复现缺陷。
- 诊断智能体:分析日志、堆栈和代码,定位根因。
- 验证智能体:确认修复是不是真的改变了行为。
- 修复智能体:写出补丁,并生成预览版本。
它们之间不共享执行上下文,只通过 report.md 文件传递信息。这样每个步骤都留了记录,出问题也容易回溯。
状态机驱动,从 issue 到 PR 自动走完
整个流程由 GitHub Issue 标签驱动的状态机控制。修复方案确认后,系统会生成预览版本;上报者验证通过后,自动创建拉取请求。换句话说,从“有人报 bug”到“代码改完”,大部分环节不用人盯着。
效果也很直接:Astro 的未解决问题从 200 多个降到约 30 个,降幅约 85%,团队目标直接定到零未解决问题。这种自动化不是只对开源项目有用,企业上云之后,运维和研发团队同样可以用类似思路,把重复的 issue 处理从“人肉”变成“半自动”。
失败是信号,不是 bug
Cloudflare 把智能体运行失败当成代码库可维护性的提示。有一次热模块替换的案例里,因为测试用例不足,智能体反复修改条件判断,后来在代码里加了描述性注释,问题就解决了。这说明智能体不是万能的,代码库本身写得清不清楚,直接影响自动化能不能跑通。
从 triagebot-action 到 Flue
这套工作流后来演变成了独立的 GitHub Action,叫 triagebot-action。再往后,它的编排模型发展成开源框架 Flue。Flue 用声明式模型描述流程,通过仅追加事件日志持久化执行历史,所以中断之后还能恢复。
Flue 能集成 GitHub、Slack、Linear 和 Discord,也能跑在 Node.js、GitHub Actions 或 Cloudflare 基础设施上。在 Cloudflare 上,它以 Durable Objects 的形式实现持久化执行与隔离存储。如果你更习惯用国内云,把它部署到云服务器ECS上也没问题;需要搭环境、拿阿里云优惠、阿里云代金券的话,找阿里云代理商咨询一下,比如 易枫顺 - 阿里云官方旗舰级代理商,能省不少事。
FAQ
Q: 这套 AI 智能体流程能直接用到我的项目上吗?
A: 能。triagebot-action 已经独立发布,你可以把它加到 GitHub Actions 里。不过要结合自己项目的 issue 模板、标签规范和测试用例来调,代码库越清晰,效果越好。
Q: 为什么要用多个子智能体,而不是一个大模型从头干到尾?
A: 拆开之后,每个智能体只负责一个小环节,输入输出都通过 report.md 传递。这样更容易定位是哪一步出问题,也避免了上下文太长带来的混乱。
Q: Flue 和 triagebot-action 是什么关系?
A: triagebot-action 是这套工作流的具体实现,Flue 是从里面抽出来的通用编排框架。Flue 支持更多外部服务和运行环境,适合做更复杂的自动化流程。
Q: 智能体运行失败了怎么办?
A: 失败本身是信号,说明代码库某个地方缺少测试或注释。Cloudflare 的做法是补测试、加描述性注释,再让流程重跑。Flue 的事件日志也支持中断后恢复,不用从头再来。
关于易枫顺
深圳市易枫顺网络科技有限公司是阿里云官方旗舰级代理商。提供云服务器ECS、云数据库RDS、对象存储OSS等阿里云全系产品官方特惠折扣与代金券申请,以及多云成本优化、企业上云一站式服务。客服热线:19520841949 - 易枫顺
来源:InfoQ