全程0人工写代码!干掉低级码农的不是大模型
在当前全行业的 AI 辅助编程浪潮中,大多数工具仍停留在“交互式伴游”阶段,而支付巨头 Stripe 却打造了一套完全无人值守的端到端代码智能体——“小黄人”(Minions)
小黄人是一个独立打工的“数字员工”。目前的惊人数据是:在 Stripe 内部,每周有超过 1300 个由小黄人完全生成的 Pull Requests(合并请求)被成功合并。这些代码在最终阶段会经过人类审查,但其中不包含任何人类编写的代码。
更具挑战的是,Stripe 的代码库高达数亿行,主要使用较冷门的带有 Sorbet 类型的 Ruby 语言,且包含大量 LLM 根本没见过的大型内部自研库。此外,这些代码每年要处理超过 1 万亿美元的支付量,合规与容错要求极高。
Stripe 是如何让 LLM 驾驭如此庞大且复杂的企业级代码库的?核心答案在于极其强大的定制化工程脚手架。
以下是小黄人能高效运转的四大核心技术拆解。
1 极致标准化的预热沙盒(Devboxes)
要让全自动 Agent 大规模并行工作,绝不能让它们跑在开发者杂乱的本地笔记本上。Stripe 的解法是直接复用为人类工程师打造的云端开发机(Devboxes)。
●10 秒极速“热启动”:这些 Devbox 是 AWS EC2 实例。Stripe 预先配置并预热了一个资源池,里面已经克隆好了巨大的 Git 仓库,预热了 Bazel 构建缓存和类型检查缓存,甚至启动了持续运行的代码生成服务。因此,只要 10 秒钟,小黄人就能拿到一台随时可以运行测试和修改代码的机器。
●免弹窗的完全提权:为了让小黄人在后台静默运行,它需要无缝执行各种 Shell 命令。因为 Devbox 运行在与生产资源和外部互联网隔离的 QA 环境中,爆炸半径被严格限制,所以系统敢于跳过人类权限确认弹窗,给予小黄人完整的执行自由。
●解决并发冲突:如果用本地环境,并发运行多个 Agent 需要处理复杂的 git worktrees(这在 Stripe 的庞大代码库中无法扩展)。而在云端,工程师可以轻易地同时为 6 个不同的任务启动 6 个分配了独立 Devbox 的小黄人,实现物理级别的完美隔离
2 “蓝图”编排(Blueprints):将大模型装进确定性的盒子里
常规的 Agent 往往采用开放的循环机制,任由 LLM 自己决定下一步调什么工具,这极易导致出错和浪费 Token。 Stripe 创造性地引入了**“蓝图”(Blueprints)**状态机机制。蓝图将整个工作流视为一张图,将 LLM 的创造力与确定性的系统代码交织在一起:
●确定性节点 vs Agent 节点:在蓝图中,像“实现具体任务”或“修复 CI 失败”是让 LLM 自由发挥的 Agent 节点;但是,像“运行配置好的 Linter”或“推送 Git 变更”则是完全不调用 LLM 的纯代码确定性节点。
●底线兜底:这意味着小黄人无法绕过代码格式化等硬性规范。把大模型“关进受控的盒子里”,不仅极大地节省了 Token,还从系统层面提高了整体可靠性。各团队甚至可以编写自定义的蓝图,来处理复杂的、LLM 辅助的代码库迁移任务
3 极其克制的上下文投喂:规则文件与 Toolshed
面对上亿行代码,如果把所有全局规则都塞给大模型,上下文窗口瞬间就会被撑爆。
●按目录生效的局部规则:Stripe 几乎只使用作用于特定子目录或文件模式的规则文件。他们巧妙地复用了人类工程师为 Cursor 编写的规则格式。这样,工程师在日常开发中沉淀的最佳实践,小黄人(以及 Claude Code)在遍历文件系统时就能直接动态读取并学习。
●MCP 工具棚(Toolshed):小黄人通过模型上下文协议(MCP)获取网络信息(工单、文档、代码搜索等)。Stripe 建立了一个包含近 500 个内部与 SaaS 工具的中央服务器 Toolshed。但为了防止 Agent 分心,系统每次只会为小黄人精心挑选一个“小巧而高度相关”
4 反馈左移(Shifting Feedback Left):极速纠错循环
无人值守 Agent 成功的关键在于能否实现自我闭环修正。Stripe 为其构建了多层极速反馈循环:
●5 秒内的本地验证:在小黄人把代码推送到 CI 之前,Devbox 上的后台守护进程会通过启发式算法自动运行相关的 Linter 和类型检查。这个本地节点耗时不到 5 秒,让小黄人在本地极速完成语法纠错。
●克制的 CI 测试轮数:Stripe 的 CI 拥有超过 300 万个测试用例。推送到 CI 后,系统会运行相关测试,并自动应用已有的修复脚本(Autofixes)。如果还有未修复的错误,报错会发回给小黄人。但为了平衡算力成本、时间与边际收益,小黄人最多只被允许进行 1 到 2 次的 CI 循环试错。之后无论成败,都会将其移交给人类处理,防止其陷入昂贵的死循环
给我的启示
基于 Stripe 公开的这些技术细节,我得出了以下几点关于 AI 研发提效的深刻感悟:
1.“对人类工程师有益的基础设施,对 LLM 同样有益” 这是 Stripe 整个小黄人项目最核心的哲学。Stripe 并没有为了做 AI Agent 去凭空造一套新基建,而是直接将 AI 接入了他们多年打磨的 Devbox 环境、Pre-push hooks 和自动化测试管线中。这给所有企业的启示是:AI Agent 的天花板,取决于你现有工程基础设施的底座。 如果你的人类工程师本地环境经常崩溃、缺乏单测覆盖率、文档陈旧,那么大模型也一样会在这些泥坑里寸步难行。过去在人类开发者体验(Developer Productivity)上的每一分投资,都会在 AI 时代转化为巨大的复利回报。
2.放弃追求纯粹的“全能 Agent”,用“蓝图”管控不确定性 目前业界过度迷恋让一个 Agent 自主解决所有问题。但 Stripe 的蓝图(Blueprints)设计极其务实:能用一行 Bash 脚本或 Linter 稳定解决的问题(如代码格式化、Git 提交流程),就绝对不让 LLM 消耗 Token 去“推理”。在企业级生产环境中,**混合架构(确定性代码逻辑 + 局部受控的 LLM 节点)**才是保证系统高可靠性(SLA)的唯一出路。
3.工程师的日常工作流正在被重塑 ,在 Stripe,触发小黄人的方式极度符合人体工程学:工程师可以直接在 Slack 的讨论线程里@小黄人,或者在内部的“CI 间歇性失败(Flaky test)”工单中点击一个按钮启动它。我们可以预见,未来的高级工程师将越来越像一个“包工头”:他们在值班(On-call)时并行启动几十个小黄人去处理琐碎的 Bug,自己则专注于审查 PR、设计架构,以及维护和编写能够指导小黄人的局部规则(Cursor rules)。工程师不再逐行敲击代码,而是定义意图并管理基础设施。

参考
●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
