<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>CI实践 | 面条的草稿箱</title><description>无原创，纯转发</description><link>https://localhost</link><item><title>Stripe「Minions」：一键生成、端到端交付的无人值守编码代理Stripe 在内部打造了一套名为 Minions 的编码代理：从接到任务到产出可评审的 PR，全程几乎无需人类介入</title><link>https://localhost/posts/116</link><guid isPermaLink="true">https://localhost/posts/116</guid><pubDate>Tue, 10 Feb 2026 14:31:52 GMT</pubDate><content:encoded>&lt;b&gt;Stripe「Minions」：一键生成、端到端交付的无人值守编码代理&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Stripe 在内部打造了一套名为 &lt;b&gt;Minions&lt;/b&gt; 的编码代理：从接到任务到产出可评审的 PR，全程几乎无需人类介入。现在，Stripe &lt;b&gt;每周有超过 1000 个合并的 PR&lt;/b&gt; 是由 Minions 从头到尾生成的（人类负责 Review，但不写代码）。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;为什么要自研？&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;在 Stripe 这种超大规模、强约束的工程环境里，“从零写个原型”和“在成熟巨型代码库里安全改动”完全不是一回事：&lt;br /&gt;&lt;br /&gt;•   代码库规模巨大（数亿行），栈也相对小众：大量后端是 &lt;b&gt;Ruby + Sorbet&lt;/b&gt;，还有大量 &lt;b&gt;Stripe 自研库&lt;/b&gt;，LLM 天然不熟&lt;br /&gt;•   业务风险极高：Stripe 的代码承载着 &lt;b&gt;每年超过 1 万亿美元&lt;/b&gt; 的支付规模，并受金融合规与监管约束&lt;br /&gt;•   既要让代理“会写”，也要让它“按规矩写、能跑通、能过 CI”，并与既有研发流程深度结合&lt;br /&gt;&lt;br /&gt;&lt;b&gt;工程师怎么用？&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;最常见的入口是 &lt;b&gt;Slack&lt;/b&gt;：&lt;br /&gt;&lt;br /&gt;•   在讨论线程里 &lt;a href=&quot;https://t.me/Slack&quot; target=&quot;_blank&quot;&gt;@Slack&lt;/a&gt; App 就能发起 Minion，它会读取整个线程与相关链接作为上下文&lt;br /&gt;•   也集成到内部系统里：文档平台、Feature Flag、工单系统等&lt;br /&gt;    例如 CI 发现 flaky tests，会生成工单，直接提供按钮让 Minion 去修&lt;br /&gt;&lt;br /&gt;完成后，Minion 会：&lt;br /&gt;&lt;br /&gt;•   创建分支 → 推送 → 跑 CI → 按模板生成 PR&lt;br /&gt;&lt;br /&gt;如果效果不理想，人类可以补充指令让它再改；即使不完美，也常常是很好的“可用起点”。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Minions 背后怎么运作（要点版）&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Stripe 的思路是：&lt;b&gt;把“创意生成”交给 LLM，把“必须可靠执行的步骤”交给确定性工具链&lt;/b&gt;。&lt;br /&gt;&lt;br /&gt;•   运行环境：在隔离的 &lt;b&gt;devbox&lt;/b&gt; 中执行（10 秒内可启动，预热并预载代码与服务），与生产与公网隔离，便于并行&lt;br /&gt;•   Agent 框架：基于 Block 的开源编码代理 &lt;b&gt;goose&lt;/b&gt; 的 fork，并做了强定制&lt;br /&gt;•   规则与上下文：读取各类 agent rule 文件，但多为“按目录条件生效”，避免全局死规则拖累&lt;br /&gt;•   工具调用：接入 &lt;b&gt;MCP&lt;/b&gt;（函数调用通用协议），并建设内部 MCP 服务 &lt;b&gt;Toolshed&lt;/b&gt;，提供 &lt;b&gt;400+&lt;/b&gt; 工具（文档、工单、构建状态、Sourcegraph 搜索等）&lt;br /&gt;•   反馈与质量闸门：&lt;br /&gt;    •   首先跑本地启发式 lint/检查（通常 &amp;lt;5 秒）&lt;br /&gt;    •   再跑选择性的 CI（Stripe 有 300 万+ 测试），部分失败可自动修复&lt;br /&gt;    •   为控制成本与等待时间：&lt;b&gt;最多两轮 CI&lt;/b&gt;，强调“能本地提前发现就不要拖到 CI”&lt;br /&gt;&lt;br /&gt;&lt;b&gt;接下来&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;这篇是系列 Part 1，主要讲“怎么用、能做什么”；Part 2 会深入实现细节。整体信号很明确：当“开发者注意力”成为稀缺资源时，无人值守、可并行的编码代理正在改变工程协作方式。&lt;br /&gt;&lt;br /&gt;原文链接：&lt;a href=&quot;https://stripe.dev/blog/minions-stripes-one-shot-end-to-end-coding-agents&quot; target=&quot;_blank&quot;&gt;https://stripe.dev/blog/minions-stripes-one-shot-end-to-end-coding-agents&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23AI%E5%B7%A5%E7%A8%8B%E5%8C%96&quot;&gt;#AI工程化&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E7%BC%96%E7%A0%81%E4%BB%A3%E7%90%86&quot;&gt;#编码代理&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%BC%80%E5%8F%91%E8%80%85%E6%95%88%E7%8E%87&quot;&gt;#开发者效率&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CI%E5%AE%9E%E8%B7%B5&quot;&gt;#CI实践&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Stripe&quot;&gt;#Stripe&lt;/a&gt;&lt;a href=&quot;https://stripe.dev/blog/minions-stripes-one-shot-end-to-end-coding-agents&quot; target=&quot;_blank&quot;&gt;
  
  &lt;div&gt;stripe.dev&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;Minions: Stripe’s one-shot, end-to-end coding agents&quot; src=&quot;https://memo.miantiao.me/static/https://cdn4.telesco.pe/file/H18ir4W7Yx5_y3FWZkpWcsbvq3tjwyhUR2cnF0H8zvQEMEA5hDDuzmWhlJMBqLt1a6rwdrjM7EZks3PRwzG5fKWcZuteGl6cCISlgkoPdBPluHLb1_LdSjq6sK5TIAJHPGzIQTidPEeuFE6bVyc0l3mw_bMwoWgKu09iX7PfPbW9ljEhh8D-CGo_juWvKyLQmO48TL5Q5XsCiS413KHYyOlbRUUGBa98Kl6-avUPqjDOLvvaeC9oSmqqtLOfYFQjLGy4bVo0e9spukFV3F-ffYVjVQ_tOJbmFuVBiJVZJEKaHDk9lOZov2-h9GuQJYKBehz65LkdCb4g-TepDOBhIQ.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div&gt;Minions: Stripe’s one-shot, end-to-end coding agents&lt;/div&gt;
  &lt;div&gt;Minions are Stripe’s homegrown coding agents, responsible for more than a thousand pull requests merged each week. Though humans review the code, minions write it from start to finish. Learn how they work, and how we built them.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item></channel></rss>