
2000 个 PR按一个月 22 个工作日算每天要合掉 90 个左右。第一次看到这个数字我下意识以为是统计口径问题比如把机器人提交、依赖升级、自动格式化全算了进去。但 GrokBot 核心成员 Lauren Tan 的工作方式让我重新想了一件事一个人每月交付 2000 个 PR不是手速问题而是她把 PR 本身变成了流水线产物。这篇文章我想从工程实践角度拆一拆一个高频交付的开发者到底是怎么用 AI 把研发流程重新设计了一遍以及这套思路对普通团队意味着什么。这篇文章适合谁看被 PR 堆积压得喘不过气的开发、想给团队引入 AI Agent 的技术负责人、以及那些觉得“AI 写代码不靠谱”但还没真正把 AI 塞进工作流里的人。看完你会发现AI 编程的核心难点从来不是模型强不强而是你有没有一套能把需求、上下文、检查、合入串起来的工作流。1. 每月 2000 个 PR数字背后的工作流真相1.1 先算一笔账2000 个 PR 意味着什么我来拆一下这个数字。一个月 2000 个 PR按 22 个工作日平均每天要做 90 个 PR。如果一个 PR 从创建到合入需要经历代码编写、自测、提交、描述、评审、修 comment、合并手工情况下单个 PR 全流程少说 30 到 60 分钟90 个就是 45 到 90 小时这显然不是一个人能手工做完的。所以答案只有一个她交付的 PR 里很大一部分不是“坐在编辑器里一行行敲出来”的而是由 AI Agent 在既定规则下批量生成、批量提交、批量合入的。也就是说她的工作重心从“写 PR”转移到了“设计 PR 的产线”——写 Prompt、定规范、搭自动检查、处理异常分支。这才是“每月 2000 个 PR”真正值得研究的地方。换个角度想传统开发流程里PR 是工作成果的终点在她这套工作流里PR 变成了流水线上的一个标准工件。代码有人写检查有机器跑描述有模板生成她只负责那些机器搞不定的事情——比如判断业务逻辑是否正确、处理边界情况、决定某个改动要不要合入。这个思路对任何研发团队都有借鉴意义。1.2 PR 为什么是 AI 最擅长的环节做过开源项目或者带过团队的人都有体会PR 里 80% 的内容是机械化的。写 PR 描述要按模板填背景、改动、测试计划代码要按 lint 规则格式化提交信息要符合 convention小到一个空行、一个变量命名都有规范。这些恰恰是 AI 最擅长的——大模型本质上就是“模式补全机器”给它足够的上下文和规则它能稳定地产出符合规范的 diff。我的实测结论是AI 写代码的能力波动很大但 AI 写 PR、整理 diff、生成描述、补测试用例这些“围绕代码的活儿”非常稳。同样是 ChatGPT 或 Claude你让它自由发挥写一个模块可能翻车但你把需求、相关文件、规范喂进去让它只改有限范围、按模板输出成功率会高很多。Lauren Tan 这类高频交付者的做法本质上是把 AI 的能力边界收缩到了“机械化执行”这个最可靠的区间再通过大量小步 PR 把风险摊薄。这里也解释了为什么她是 2000 个 PR 而不是 2000 行代码——小步 PR 本身就是降低 AI 错误率的手段。PR 越小上下文越聚焦AI 越不容易跑偏评审也越快出了问题回滚也容易。2. 把 AI Agent 嵌进研发流程从任务拆解到代码落地的完整链路2.1 任务拆解是第一提示词我接触过不少团队引入 AI 编程后第一个问题是“不知道让它干什么”。直接说“帮我写个用户登录模块”AI 要么写出一坨泛泛的代码要么只写了半截。要像 Lauren Tan 这类高频交付者一样用 AI最重要的不是会写提示词而是会把一个 issue 拆成 AI 能执行的最小任务。我的拆法是这样的一个用户登录需求先拆成后端接口、数据库表、前端表单、错误处理、测试用例五个子任务每个子任务再限定输入输出。比如后端接口这个子任务我会写清楚“新增 login 接口接收 username 和 password校验通过后返回 JWT token失败返回 401参考已有 auth.py 的代码风格不需要改前端补两个单元测试”。这个描述看起来直白但给 AI 提供了完整的约束边界它知道改哪里、不改哪里、用什么风格、交付什么产物。关键是“最小”两个字。AI 的上下文窗口有限任务越大越容易在某个角落产生幻觉。我试过让 AI 一次重构整个模块结果它把无关的配置也改了改成小任务之后错误率直线下降。如果你希望 AI 稳定产出就把它当成一个刚入职、聪明但容易自作主张的实习生布置任务时要把范围、约束、交付物一条条写清楚。2.2 上下文工程比提示词更重要的输入拼装我之前一直以为写提示词是门玄学后来做得多了发现提示词的措辞只影响天花板喂什么上下文才决定地板。AI 编程最怕的是“啥也不给就让它写”最常见的问题是写了半天逻辑不对原因不是模型不行而是它根本没见过你项目的既有代码风格和数据表结构。所以我现在构建 AI 编程工作流时会先做一个“上下文包”里面包含需求描述、关联代码文件路径、同类功能的已有实现作为风格参考、数据表和接口文档的摘录、测试命令和启动方式。上下文拼装不是一句话的事而是工程活。你可以手动复制粘贴也可以像我一样写个脚本自动把相关文件拼接成 markdown 交给 AI。这里有个细节值得说上下文不是越多越好。有人以为把整个代码库丢给 AI 就完事结果重要的信号被淹没在海量代码里AI 反而抓不住重点。我的经验是控制在 20 到 50 个关键文件以内按“和本次改动相关度”排序有时候一个对了的示例文件胜过十个泛泛的说明文件。2.3 从 diff 到 PRAI 完成 80% 的机械性工作任务拆好了、上下文喂够了AI 生成代码只是第一步。真正让 PR 数量飞起来的是后续的“PR 自动化流水线”生成代码后自动跑 lint、自动跑单测、失败自动反馈给 AI 修复修复通过后由 AI 生成 PR 描述、提交信息、标签然后进入人工评审队列。Lauren Tan 的做法里我认为最核心的不是“让 AI 写代码”而是“让 AI 处理代码交付的完整闭环”。代码生成后AI 要自己检查 diff 是否引入了无关改动要自己跑测试确认没破坏现有功能要自己按模板写 PR 描述甚至要在收到评审意见后自己修改。人只做最后一道安全阀——抽查关键 diff、确认业务边界、点击合入。用一句话概括AI 负责“做完”人负责“做对”。这套流程跑通后单个 PR 的人工介入时间能压到 5 分钟以内剩下的事情全部由 Agent 和流水线消化。这也是为什么一个月能交付 2000 个 PR——不是她一个人在战斗而是她管理了一整条“AI 打工流水线”。3. 工具选型与工程配置我实测过的 AI 编程组合3.1 IDE 插件和独立 Agent 怎么分工现在市面上的 AI 编程工具大概分两类一类是 IDE 内嵌的插件比如 GitHub Copilot、PyCharm 的 AI Assistant、各种国产 IDE 的 AI 助手另一类是独立运行的 Agent能自主读仓库、跑测试、提 PR 的工具。我的使用经验是两者定位完全不同不能互相替代。IDE 插件适合“人在回路”的交互模式。你写代码时它补全、你选中代码它重构、你报错它解释这类工具的价值是提升单次操作效率但它的上限是“辅助”不是“替代”。独立 Agent 则适合批量处理和异步执行你把任务丢给它它自己读代码、改代码、跑测试、提交 PR你过一会儿回来检查结果就行。Lauren Tan 那种高频交付场景必须以独立 Agent 为主。为什么因为人不可能盯着每一个 AI 生成过程只有 Agent 才能做到并行的、无人值守的产出。我目前的组合是IDE 插件负责日常人工编码时的补全和问答独立 Agent 负责可批量化的 Issue比如 Todo 迁移、重构、依赖升级、测试补齐两类工具各干各的互不干扰。3.2 PR 自动化流水线的关键配置工具选完真正拉开差距的是流水线配置。一个稳定的 AI PR 流水线我的配置清单如下首先是分支策略AI 永远只能在独立分支上工作不允许直接推主分支其次是自动检查PR 创建后必须跑完 lint、单测、类型检查三项才能进入评审然后是评审辅助让 AI 生成 PR 描述和自检清单标明“改动文件、影响范围、测试情况、潜在风险”。还有一个很多人忽略的配置把合入门禁写死。主分支保护规则必须设置AI 的 PR 也需要至少一个真人 approve 才能合入。这听起来会拖慢交付速度但恰恰是这种“有约束的自动化”让 2000 个 PR 能持续稳定地跑下去而不是跑一个月就失控。我在团队里实践过门禁配置到位后AI 产出的 PR 合入率从最开始的 60% 左右提升到稳定 85% 以上人工评审压力反而下降了。3.3 一个可复制的“多 PR 并行”工作流示例纸上谈兵没意思我直接贴一个自己跑通的并行 PR 工作流不需要任何特殊硬件普通笔记本就能跑核心是流程设计。第一步每天早上把前一天积压的 issue 按“可自动化”和“需人工”分成两堆。可自动化的标准是需求明确、改动范围小、有明确的测试命令。第二步为每个可自动化 issue 生成任务卡包含上下文包和验收标准丢给 AI Agent 队列。第三步Agent 按队列逐个处理每个任务都在独立分支上完成并自动提交 PRPR 描述里附带自检记录。第四步我统一时间集中做人工评审重点看高风险文件的 diff低风险改动直接 approve。第五步合入后触发 CI/CD自动部署到测试环境。这套工作流跑下来我最多一次一天处理了 27 个 AI 生成的 PR个人参与时间大约一个半小时。对比手工时代一天处理五六个 PR 就累得不行效率差距是数量级的。你不需要上来就追求一个月 2000 个先把“任务拆解 流水线 门禁”这三件套跑通吞吐量自然会翻几倍。4. 常见问题与排查技巧实录4.1 AI 生成的代码“看着对跑不通”怎么办这是所有 AI 编程实践里遇到最多的坑。AI 生成的代码经常逻辑完整但跑不通最常见的原因有三个引用了不存在的函数或字段、忽略了当前项目的初始化方式、测试环境差异。我的排查路径是固定的先让 AI 自己解释这段代码的假设前提对比项目实际环境然后缩小范围把出错的堆栈喂回给 AI让它只修对应片段不要重写整个文件最后跑最精简的复现测试确认修复有效。实践中我还发现一个技巧——在任务卡里明确写上“先读 README 和现有测试了解运行方式再动手”这句话能把这类错误率降低一半以上。本质上是把“启动成本”前置让 AI 在动手前先花两分钟搞懂环境。4.2 上下文过长与 AI 幻觉给 AI 减负的三个技巧AI 在长上下文场景下最容易出幻觉对话稍微长一点它就开始编造不存在的 API、忘记之前的约束、把已经废弃的逻辑当现成的用。这不是模型变笨了而是注意力被稀释了。我减负的方式有三个。第一一个任务一个会话禁止在同一个对话里连续塞多个不相关需求。第二频繁重启会话每轮都重新附上精简后的上下文包宁可重复粘贴也不要让上下文里囤积无关信息。第三强制 AI 引用真实代码路径要求它在回答里标注“参考了 server/auth.py 第 12 行的 validate 函数”一旦它引用不出来说明上下文没喂对暂停它是更明智的选择。4.3 团队协作中 AI 代码的审查与安全底线最后聊一个管理和安全层面的问题。AI 批量产 PR 之后团队最大的风险不是质量问题而是“无人负责”。代码是 AI 写的人是 approve 的一旦线上出故障追责链条是模糊的。我的底线是AI 可以写代码但必须有人署名。具体落地上我要求每个 AI 生成的 PR 标注“Generated by AI, reviewed by [人名]”reviewer 必须看过 diff、跑过关键测试、确认过业务逻辑。高风险模块支付、权限、数据迁移等的人工评审是硬性要求不允许走“默认 approve”例外通道。主分支永远保留人工合入门禁。这套底线看着保守但它才是“每月 2000 个 PR”能持续跑一年不出大事故的根基。我在实际踩过几次坑之后最大的体会是AI 编程的瓶颈不在模型能力而在人有没有把工作流设计到位。很多人觉得 AI 写代码不稳定那是因为你给它的任务本身就模糊、上下文本身就是残缺的。当你把任务拆到足够小、把上下文喂到足够准、把检查接到足够严AI 的靠谱程度会远超你的预期。别一上来就追求“全自动”先从一个小模块开始把拆解、投喂、检查这套动作练成肌肉记忆再慢慢放大范围。你会发现自己不是在“用 AI 写代码”而是在“运营一条代码产线”。