Stripe 分享了他们研发企业内部编程代理 Minions 的细节,给大家人工总结:
Minions 定位是「在 Stripe 技术栈下,无人值守的编码代理」。独特之处在于没有人参与监督,完全任由代理自主运行。接入方式包括:
Minions 核心的代理循环是基于 goose https://github.com/block/goose fork 出来的。不了解 Goose 这个的朋友,我简单介绍一下,这个 Agent 工具本身有很多想法都是超前的,比如把一次跟代理的交互保存成 SKILL 类似的东西,他们叫 recipes。而且很早就支持定时任务。
为了指导代理的运行,用「代码的方式」实现各种编排方式(Blueprints),想要解决的问题是:既要有 Agent 的自主性,又要有一定的确定性,在某某些节点按内部的规矩来,而不是随意发挥。太真实了,在内部的产品设计中,很多设计都需要「戴着镣铐跳舞」(为了可靠性将 LLMs 置于一个受控的环境中)。
Stripe 的代码组织方式是 Monorepo,在自定义上下文的设计上,沿用 Cursor Rules 的规则作为标准化,同时并通过什么方式(软链接?)让这些规则也能在 Claude Code 使用。
在内部,他们还构建了集中化的 MCP 服务器网关。员工可以自己创建新工具,新工具也能自动被代理发现。内部有 500+ 工具,默认情况下代理只有经过刻意精简的子集,其他交给团队和工程师自己配置。
「左移反馈」,把 CI 中失败左移到开发环境中,比如把代码的 Lint 检查作为确定性节点在代理循环中运行。
第一篇:https://stripe.dev/blog/minions-stripes-one-shot-end-to-end-coding-agents
第二篇:https://stripe.dev/blog/minions-stripes-one-shot-end-to-end-coding-agents-part-2
