一个 24/7 代理团队如何成形:SpaceXAI 工程师 Lauren Tan 把工程判断写进系统

一夜自动合并 20 个 PR 的前面,是 600 多个重构 PR。Lauren Tan 展示了架构、CI、验证技能与逐级授权怎样组成一支持续工作的代理团队。

作者:Grok Bot Team Workshop with Lauren Tan08-27 · 约 16 分钟
深度 · 小互解读

这是 SpaceXAI 工程师 Lauren Tan(@poteto) 的一次访谈式工作坊。她负责 GrokBot 与 Cursor 相关工程,此前在 Meta React 团队和 Netflix 工作。

“我几乎不再看代码了。”她能这样工作,是因为架构约束、CI 和验证流程已经承担了大量原本需要她逐行盯住的检查。GrokBot 让她可以组织一组各自拥有身份的独立代理,自己更像管理者一样协调它们。

完整视频接近一小时,Lauren 的主体分享约 50 分钟。她展示了如何构建 GrokBot 团队,以及代理怎样改变了她的编码方式。下面按视频的因果顺序,详细拆解其中最重要的做法。

一夜自动合并 20 个 PR,前面是 600 多个重构 PR

Lauren 的主体分享从视频约第六分钟开始。她接手的是一套真实运行、又带着绿地项目典型风险的 GrokBot 代码库:原型生成得很快,代码却没有稳定护栏。

完整中文字幕版。中文字幕采用单行大字,贴近原视频英文字幕。

Lauren 说,她已经很少亲自看代码。某天早上醒来,大约 20 个 PR 已由代理自动合并;上一个月她提交了约 1000 个 PR,当月才到第 12 天,又接近 800 个。

这些数字都来自她的现场自述,公开视频没有附上可独立审计的仓库和 PR 清单。它们可以说明交付规模,却不能直接证明代码价值、缺陷率或普遍生产率。

她还解释了为什么主动让代理拆分任务:单个 PR 可能只有几十行,也可能达到数百乃至上千行,并没有固定上限。她看重的是让每次提交尽量原子化地说明一小块改动,使 Git 历史继续成为理解上下文、回滚改动和定位缺陷的工具,而非做高 PR 数量。一个四万行的大 PR 即使合并成功,也很难回答问题究竟从哪里开始。

真正值得先看的,是这四个数字之间的关系。

先看工程账本自动合并是输出,600 多个重构 PR 才是基础设施
前置投入600+ PR

重构 GrokBot、建立 Dune 架构与 CI 护栏

→系统成熟后
一次夜间结果≈20 PR

由代理自动合并

讲者描述的近期规模上月约 1000 PR当月第 12 天接近 800 PR
数字均为 Lauren 现场自述,公开视频未附可独立审计的仓库清单;PR 数量不等于质量或业务价值。

20 个自动合并 PR 是输出端,600 多个重构 PR 是基础设施端。中间是一套重新设计过的代码库,单靠更聪明的提示词填不上这段距离。

GrokBot 最初是一个快速生成的绿地应用。速度很快,架构却会自然长成“代理当时最方便怎么做,就怎么做”的样子。每个任务都能局部完成,长期叠加后,目录、依赖、进程和状态管理开始互相缠绕。代理也许还能继续改,人类却越来越难理解和信任它。

Lauren 的选择是为代理重建工作环境。她把这套 Electron 架构叫作 Dune。目标是减少代理每次做决定的数量,让结构替它承担抽象原则。

让正确路径成为最短路径:Dune 如何约束代理

Dune 有一个很强的设计判断:代理喜欢走捷径,那就把最短路径设计成正确路径。

这句话比“给 AI 写一份更完整的编码规范”更具体。编码规范要求代理每次都记住、理解并主动服从;架构约束则直接改变它能看到的选项。

缩小错误空间把“请记住规范”改造成代理无法轻易绕过的路径
Lauren Tan 在视频中展示 Dune 设计原则
  1. 功能共置一个功能的状态、组件与逻辑尽量放在一起
  2. 进程边界主进程与渲染进程职责明确,避免重任务挤占界面
  3. 依赖图检查跨层、跨进程导入由 CI 机械阻止
  4. 危险模式禁用针对代理反复滥用的模式设置 lint 或编译门
禁止 useEffect 和普通注释是该团队的特定选择;可迁移的是“找到坏捷径,再用机械边界封住它”的方法。

第一层是功能共置。一个功能的大部分代码放在同一目录,代理不必跨多个共享目录寻找状态、组件和业务逻辑。它只需要识别“我正在改新手引导”,就能把主要工作限制在对应功能目录内。

第二层是进程边界。Electron 的主进程和渲染进程承担不同工作。计算或 I/O 一旦误入渲染侧,就会和界面绘制抢时间。60 FPS 意味着每帧只有约 16 毫秒,重任务越界很容易造成卡顿。Dune 用明确目录和导入图检查阻止这种依赖穿越。

第三层是把已知危险模式直接禁掉。Lauren 举了两个激进例子:禁止直接使用 useEffect,也禁止普通代码注释。这两样东西不一定永远错误;她针对的是代理反复滥用它们。尤其是注释,模型很容易把一次 PR 讨论中的临时意见写成永久规则,留下与当前代码无关的历史说明。

这些规则未必适合所有团队,但背后的方法可以迁移:找到代理最常走的坏捷径,先问能否通过 API、目录、类型或依赖关系让它根本走不进去。

把人工提醒改造成 CI:人的判断如何提前进入系统

代码审查里反复出现的同一句话,是一条尚未被编译进系统的规则。

如果工程师每周都要评论“这个依赖不能从渲染进程引入”“这里不能直接读共享状态”“这个功能必须放进自己的目录”,团队其实是在用最昂贵、最慢的方式执行约束:等错误发生,再让人发现。

Lauren 给出的迁移顺序很清楚:

人工判断 更可靠的承载方式 代理失败时发生什么
“请按这种目录组织功能” 脚手架、固定目录和注册机制 最容易复制的现有模式就是合规模式
“这里不能跨进程导入” 依赖图检查、类型边界 CI 直接失败
“不要再写这种 React 模式” lint 或编译器诊断 在合并前得到精确错误
“完成前请运行真实功能” 验证 Skill 和完成条件 没有证据就不能声称完成
“请记住我们的习惯” Rules、AGENTS.md、Skills 提供上下文,但仍可能被遗忘

最后一行很重要。Rules、Skills 和 BugBot 都有价值,但它们是较软的约束。代理可能漏读、误解或在长任务中忘掉。架构、类型系统、编译器和 CI 会给出机械结果,不能靠一句“我已经遵守”绕过去。

她用 Rust 举了一个具体例子:严格的编译器和借用检查器会在代码审查前淘汰一大类错误。这个例子不要求所有团队改用 Rust,它说明技术栈本身决定了多少工程判断能在人工介入前被机械执行。

于是,人类并没有退出工程判断。人的工作位置发生了变化:从逐个 PR 重复提醒,移到提前设计接口、错误空间和通过条件。

这种前置设计会消耗重构时间和 token,但回报不只属于最强模型。边界足够明确后,能力较弱的代理、新加入的工程师,甚至不熟悉完整代码库的产品和设计人员,也更容易在同一套护栏内安全贡献。

验证能力决定并行上限:代理必须能自己运行产品

架构可以让代码更像样,CI 可以挡住已知坏模式,但两者仍不能证明用户看到的功能真的可用。

Lauren 把验证称为代理工具箱里最重要的能力。这里的“验证”远不止跑单元测试。代理要能启动应用,进入用户报告的界面,执行操作,复现问题,采集 CPU trace 或 heap snapshot,完成修改,再用同一条路径检查问题是否消失。

验证闭环任何一段交还给人,并行代理就会堵在人类验证口
1 启动真实产品不是只读代码或跑单测
→
2 找到用户入口用功能地图连接界面与代码
→
3 复现问题沿用户操作路径触发失败
↗
可验证的完成
↘
6 留下完成证据清理环境后证据仍可检查
←
5 修改并回归沿同一路径确认问题消失
←
4 采集证据截图、日志、trace 或 snapshot
通过标准:代理能独立运行产品、复现、修复、回归并保存证据;否则人仍是转接员。

如果这条回路缺一段,人类就会成为转接员:代理写代码,人打开开发版本;人发现按钮没反应,再复制控制台错误;代理修改后,人重新点一遍。一个代理还能勉强配合,十个代理就会把同一个人堵死。

功能地图解决的是“代理不知道产品在哪里”的问题。用户会说“左侧边栏很卡”或只发一张截图和三个问号,代码库里却没有一个文件叫“用户看到的左侧边栏”。功能地图从用户视角记录入口、子功能、快捷键、DOM 选择器和代码位置,让模糊报告能落到可操作路径。

这套思路后来进入 PStack。Cursor 官方仓库公开的 create-verification-skill 仍保留同一原则:从代码库识别用户实际接触的界面,为主要功能建立地图,实际启动产品,驱动至少一个功能,保存证据,清理环境后确认取证结果仍存在。没有亲自跑过的验证 Skill,只能算草稿。

Skills 也要被测试:PStack 如何从代理失败中长出来

Lauren 说,PStack 并不是先设计出一套宏大方法论,再把它分装成 Skills。它从观察失败开始。

代理没有读相关代码就自信判断根因,于是产生一条要求先检索证据的 Skill;代理不会操作真实应用,于是产生 Control Glass 和验证 Skill;代理找不到用户口中的功能,于是补出功能地图。

能力回归测试Skill 从失败样本中生长,也必须回到失败样本中接受测试
Lauren Tan 在视频中讲解验证、Skills、评测和代理友好架构
观察具体失败→写成可执行 Skill→定义评分标准→多模型隔离执行→比较回归结果通过:首次接触代码库的代理也能完成任务并留下证据
文档篇幅不是质量指标;跨模型稳定性、证据完整度和可定位失败才是。

Skill 写出来仍未结束。她把评测理解成“代理的单元测试”:先为任务制定评分标准,在隔离目录或 worktree 中启动多个子代理,让不同模型执行同一任务,再由协调代理或另一个裁判模型评分。修改 Skill 后重新运行,观察它是否更稳定地导向目标结果。

她甚至会给评测目录起不显眼的名字,避免代理意识到自己正在参加测试后改变行为。如果一条 Skill 只有在代理知道自己被评测时才有效,结果就不可靠。评分还可以由另一种模型交叉检查,再让循环持续修改 Skill、重跑任务,直到失败模式真正收敛。

这给团队一个很实用的判断标准。Skill 的质量不能由文档篇幅证明,要看第一次接触代码库的代理是否能按它完成任务,是否留下可检查证据,换一个模型后是否仍能工作,失败时能否定位到 Skill、环境或任务本身。

这套循环还会改变团队知识的形态。传统经验常散落在资深工程师的审查评论、口头提醒和事故记忆里。代理团队需要把它们变成可以分发、执行、评分和回归的工程资产。

从本地观察到自动合并:信任必须逐级购买

Lauren 没有建议团队第一天就启动几百个云端代理。她的顺序恰好相反:从本地开始,打开工具调用,观察代理读了什么、没读什么、怎样失败,再补架构、验证和 Skills。

当本地验证稳定后,任务才迁到云端。她举了一个叫 Benny 的代理:错误报告到来后,Benny 启动云端桌面,运行 Cursor,使用同一套操控 Skill 尝试复现,再判断主分支是否已经修复。现场案例里,它确认问题已在主分支修复,剩下的动作只是发布一个新构建。它交回复现结果、环境状态和下一步动作,而非一句“可能是这里”。

信任逐级购买模型能力只是一部分,权限取决于证据与可逆性
Lauren Tan 在视频中手绘的代理信任曲线
  1. 本地观察看清代理读什么、怎样失败
  2. 受控改动限制目录、权限和任务边界
  3. 独立验证能运行真实产品并留下证据
  4. 云端执行隔离环境、独立分支、可审计
  5. 错误分诊复现、判断状态并交回下一步
  6. 自动合并机械门禁、短回滚与上线监控齐备
左侧曲线是讲者的经验示意,不是实验数据;阶梯表示权限升级所需的工程门槛。

公开版 Cursor Cloud Agents 的实现已经更产品化。官方文档说明,每个代理运行在独立 VM,克隆授权仓库,在独立分支工作,并以草稿 PR 交接;网络出口、密钥、审计和仓库权限仍需要团队配置。Cursor 的安全说明也明确把人工复核写进默认交接流程。

自动合并比云端运行多跨了一道门。前者只是代理在哪里执行,后者决定代理能否改变主分支。要开放这项权限,团队至少要证明:任务边界清楚;架构能机械阻止高风险错误;代理会运行真实产品;失败证据可追踪;回滚路径足够短;监控能发现上线后的异常。

产品经理和设计师能直接贡献代码,也来自同一个条件。系统先把可接受的改动范围收得足够清楚,让不熟悉整个代码库的人和代理都不容易越界,参与门槛才会真正下降。

PR 数量不是生产率:这套方法能学什么,不能照抄什么

这场分享很容易被误读成一套高产秘诀:多花 token、重写代码库、让代理自动合并,然后用 PR 数量证明效率。

PR 数量只记录改动被切成了多少份。一个大任务可以拆成十个 PR,同样十个 PR 也可能只是小修复。它没有自动包含缺陷率、返工、回滚、用户价值、交付时间和维护成本。

METR 在 2026 年更新开发者生产率实验时给出了一个很能说明问题的边界:晚 2025 工具的原始数据出现了加速迹象,但参与者选择偏差、较低报酬和多人同时运行代理造成的计时困难,让研究团队认为这些数据只能提供很弱的幅度证据。研究更新甚至专门指出,并行代理让“一个任务花了多少人类时间”更难测量。

单个高产工程师的 PR 数字更不能替代生产率研究。更合理的团队指标应同时看:从需求到可验证结果的时间、人工介入次数、缺陷与回滚、验证证据完整度、改动可逆性,以及最终业务结果。

绿地和棕地也不能采用同一条改造路线。全新应用最容易快速生成,也最容易在没有护栏时失控,所以适合从第一天设计代理友好边界。成熟代码库如果已有严格类型、测试、权限和大规模工程规范,可能已经比新项目更适合代理。全面重写只有在现有结构无法提供机械边界、迁移能够分阶段验证时才值得考虑。

Lauren 还指出,大型科技公司为数量庞大、能力和经验不同的人类工程师建立的框架、约定、权限限制和防误操作设施,恰好也能约束代理。代理工程并非凭空出现的一门新学科;很多有效基础设施,只是把原来为人类组织设计的护栏重新用于模型。

模型调用和过夜运行的成本也必须单独核算。视频里的 token 投入没有给出可复用的成本表,末尾对具体模型、价格和能力的现场讨论也会随产品更新而失效,因此不能拿来承诺另一支团队的预算或产出。

把方法与宣传数字分开复制机制,按条件迁移架构,不复制未经验证的结论

可以复制

  • 把坏捷径改造成机械护栏
  • 让代理独立运行产品并保存证据
  • 把 Skills 当作需要回归的工程资产
  • 按证据逐级开放权限

取决于条件

  • 是否全面重写代码库
  • 绿地与成熟系统的改造顺序
  • 自动合并适用的任务范围

不能外推

  • PR 多就代表质量更高
  • 一个人的数据代表普遍生产率
  • 模型够强就可以取消监督
更可靠的结果指标还应包含交付时间、人工介入、缺陷与回滚、证据完整度和业务结果。

因此,真正可复制的成果不是“每月 1000 个 PR”。它是一套逐步降低人类同步成本的方法:先收窄代理的错误空间,再让代理独立验证结果,把重复失败写成经过评测的能力,最后根据证据开放更多权限。

一支 24/7 工作的代理团队,并没有消灭人的判断。它把人的判断从深夜逐行看代码,提前搬到了白天设计系统、定义完成条件和检查证据的地方。

24/7 代理团队落地材料包
三份可直接复制使用的工作表:先判断团队是否具备无人值守条件,再验证 Skills 是否真的有效,最后决定代理可以获得多大权限。
  • 24/7 代理团队就绪检查表
  • Skill 评测运行卡
  • 代理权限升级决策表
来源
Grok Bot Team Workshop with Lauren TanGrok Bot Team Workshop with Lauren Tan·查看主材料
本站说明
视频中的 PR 数量为讲者自述;Lauren 在视频中自述加入 Cursor,当前公开简介将其工作概括为 Grok Bot 与 Cursor at SpaceXAI。Cursor 官方于 2026 年 8 月 14 日宣布已并入 SpaceX。
↑ 正文结束
✓ 本篇全文免费开放

会员可复制、下载全文 Markdown,还能让你的 AI 订阅和提问。

阅读原文 ↗
📮 新解读第一时间进邮箱

读完觉得有用?留个邮箱,每篇新解读发布就送达,随时退订。