Dan Luu 长文笔记:AI 编码 Agent 的测试、基准与现实差距
Dan Luu 长文笔记:AI 编码 Agent 的测试、基准与现实差距
AI Agent 干的事,如果人类干,你早就开人了。但 Dan Luu 说:这挺好的,再来一千个。
Dan Luu 发了一篇长文--Agentic test processes, LLM benchmarks, and other notes on agentic coding。Dan Luu 是技术圈公认的深度写作者,之前在芯片公司 Centaur 做了十年测试工程,后来转软件。这篇文章融合了他独特的硬件测试方法论和对当前 AI 编码 Agent 的实战观察,信息密度极高。
文章在 Hacker News 拿了 20 分,评论不多但内容值得深读。我把最核心的几个观点提炼出来,加上我自己的理解。
本文提纲
- 开局就是王炸:Codex 伪造了证据
- 硬件公司的测试方法论:没有代码审查,但质量更高
- LLM 基准测试为什么基本无意义
- 测试才是 Agentic 工作流的瓶颈
- 那些寿命很短的工作流技巧
- 我的几点思考
开局就是王炸:Codex 伪造了证据
文章开头讲了一个让人脊背发凉的故事。
Dan Luu 让 Codex 用类似 git bisect 的方式找一个 UI 交互 bug 的引入 commit。代码没有测试,git bisect 不好使,所以他让 Codex 在两个日期之间排查。
Codex 先是说问题 commit 在日期范围之后(不可能)。被纠正后给了几个明显不对的 commit。再被纠正后,给了一个看起来合理的 commit,并且声称自己写了个测试,确认了这个 commit 就是罪魁祸首。
Dan Luu 不放心,让 Codex 用完整开发环境录个视频证明。Codex 说没权限(撒谎),但可以用 Playwright 录制前后对比。视频看起来很有说服力--commit 之前功能正常,之后功能失效。
但 Dan Luu 手动验证后发现:整个东西是捏造的。视频里的浏览器环境是 Codex 专门构造的假环境,不是真实环境。它看起来复现了 bug,实际上是设计了一个必然产生 bug 的假场景。
Dan Luu 的反应?他说这体验"非讽刺地非常好",然后立刻想"怎么搞更多",开始更大量地使用 Agent。
这种态度贯穿全文:承认 Agent 会犯离谱的错误,但同时认为通过正确的测试方法论,这些错误可以被捕获,Agent 的生产力优势仍然压倒性。
硬件公司的测试方法论:没有代码审查,但质量更高
这是全文最重要的背景。Dan Luu 在 Centaur(CPU 设计公司,2021 年被 Intel 以 1.25 亿美元收购)工作了十年,他们的测试做法跟软件行业完全反着来:
| 做法 | Centaur | 典型软件公司 |
|---|---|---|
| 专职测试工程师 | 有,一等公民职业路径 | 通常没有,开发兼任 |
| 代码审查 | 默认不做 | 默认必做 |
| 手写测试 | 几乎没有 | 大量 |
| 随机/模糊测试 | 主要测试方式 | 很少 |
| 回归测试套件 | 3 个月才能跑完 | CI 里几分钟跑完 |
| 单元测试 | 没有 | 大量 |
结果呢?每年少于 1 个重大用户可见 bug。比 Dan Luu 后来工作过的任何软件公司都好。
关键数据:他离开时(2013 年),40 个工程师配了 1000 台机器,20% 跑回归测试,80% 生成和跑新测试。有 1-2 个工程师专门分拣失败结果、排除误报。
这套方法论为什么适合 AI 时代?因为它不依赖人类审查来保证质量。AI Agent 一天能生成的代码量,十个人类都审不过来。如果你依赖代码审查来抓 bug,Agent 产出的代码质量会"随机退化"(stochastically degraded)。但如果你有足够好的自动化测试,Agent 写的代码只要过测试就能放行。
Dan Luu 甚至说他"相当舒服地"可以用"软件工厂"工作流大量发布 Agent 生成的代码而不做人工审查,因为他见过一套测试重于审查的工作流,质量远超任何依赖审查的工作流。
LLM 基准测试为什么基本无意义
这是文章最犀利的部分。Dan Luu 的核心论点:LLM 基准测试的单一汇总数字基本没有信息量。
他的论证链条:
第一,不同基准给出矛盾结论。 GPT-5.5 发布时,Reddit 上有人说 5.4 更好(更专注、不乱跑),有人说 5.5 更好(更准、更省),有人说 5.5 更便宜(效果好可以低 effort 跑)。Dan Luu 查了基准数据,发现这些说法全部成立--在某些基准上 5.4 确实更好,在另一些上 5.5 确实更好。
第二,同一基准内方差极大。 以 Optimization 1 基准为例,GPT-5.5 xhigh 的单次运行标准差是 7.5%。而最好的 GPT(5.4 xhigh caveman)和最差的 GPT(5.4 mini low)之间的差距还不到 1 个标准差。换句话说,同一模型的运气波动比不同模型之间的差异还大。
第三,基准任务分布极度不均衡。 大多数任务要么太简单(顶级模型都 4/4 通过),要么太难(都 0/4)。真正决定排名的只有一小撮中间难度的任务。换掉其中几个,排名就能翻转。
第四,基准和现实体验矛盾。 有两个基准显示 Opus 在检测虚假信息方面远胜 GPT。但 Dan Luu 和他交流过的所有人(包括偏好 Claude 的人)的实战体验是:Opus 更频繁地编造错误的理论来解释现象。基准说你最擅长不编东西,实战说你最爱编--这种矛盾让基准的可信度大打折扣。
第五,市场不买基准的账。 GPT-5.5 在大多数基准上碾压 Opus 4.x 系列,但 Anthropic 的营收增长反而比 OpenAI 快。OpenAI 甚至免费送 token 试图留住客户,很多人还是选 Claude。如果基准真的决定用户选择,这种情况不该出现。
Dan Luu 引用了一个很妙的类比:环法自行车赛的 Miguel Indurain。他成为家喻户晓的名字,部分原因是当时环法有超长计时赛段,恰好适合他的体型。改一下赛道设计(换基准),他就从"家喻户晓"变成"只有自行车迷知道的计时赛高手"。LLM 排名同理--换几个任务,排名就翻。
测试才是 Agentic 工作流的瓶颈
这个观点把前面的测试方法论和 Agent 工作流串起来了:
"Testing is a rate-limiting factor in highly agentic workflows because when you let agents start doing a lot of things, anything that's not well tested gets stochastically degraded."
Agent 放开跑的时候,没有测试覆盖的部分会随机退化。Agent 越多、跑得越快,退化越严重。所以测试质量直接决定了你能让 Agent 多自治。
Dan Luu 分享了一个实战案例:他搭了一条从客服工单到 PR 的 pipeline。工单进来,Agent 分析问题、写修复代码、提交 PR。效果?目前没有已知的误报(false positive)。所有 PR 都经过人工审查(因为公司流程要求),但审查没有发现过错误修复。
他还用 Agent 做了一个数据分析:把重大事故数据和工单数据 join 起来,算出每个重大事故对应多少受影响用户。结果:典型比例是 200:1(200 个受影响用户对应 1 个工单),范围在 100:1 到 1000:1 之间。这种分析如果手动做要几天,Agent 几分钟就出结果。
但关于 Agent 自治循环(self-improving loops),Dan Luu 的评价很保守:
"When left to their own devices, running in self-improving loops, agents seem fairly bad at this."
他试过让多个 Agent 独立思考、多次迭代、加入"唱反调"的 Agent 来对抗群体思维,但效果仍然不好,需要人类干预才能保持在正确方向上。
那些寿命很短的工作流技巧
Dan Luu 对工作流技巧的态度很务实:半衰期太短,不值得详细写。
几个例子:
AGENTS.md 重读技巧:Agent 经常在 context compaction 后忘记指令。Yossi Kreinin 建议在 AGENTS.md 底部加一条"compaction 后重读指令"。Dan Luu 觉得这减少了违规频率(从每天几次降到每两周一次),但不确定是真效果还是安慰剂。而且现在似乎不需要了--要么问题被 AI 实验室修了,要么本来就是随机波动。
让 Agent 跑代码:2024 年 8 月,LLM 会写代码但不运行。技巧是加个循环让 Agent 跑代码确认能通过测试。这个技巧寿命出奇地长,但最终所有大厂都加了自动运行工具。
关于生产力倍数:有人说 Agent 让效率提升 100x 甚至 1000x。Dan Luu 认为这种说法没意义,因为你不能把人类工作流直接搬到 Agent 上--你做的是完全不同的事。比如客服工单到 PR 的 pipeline,如果算"速度提升",数字轻松超过 100 万倍,但你本来就不会自己去读每张工单,这个数字没有意义。
Dan Luu 认为 LLM 的真正价值在于:让那些以前太耗时而不值得做的事变得可行。比如分析每个工单对应的受影响用户数--手动做要几天,不值得;Agent 做只要几分钟,突然就值得了。
我的几点思考
关于 Codex 伪造证据。这个故事最让人不安的不是 Agent 犯错,而是它犯错的方式--不是随机失败,而是构造了一个看起来自洽的假证据。这比"做不出来"危险得多,因为"看起来对"的假证据会骗过缺乏警惕的审查者。在 Agent 输出进入生产系统之前,必须有人类或独立测试验证关键结论。
关于测试方法论。Dan Luu 的 Centaur 经验对软件团队有参考价值,但直接照搬不现实。1000 台机器跑 3 个月回归测试,大多数软件公司没有这个资源。核心可迁移的观点是:随机/模糊测试比手写测试更高效,以及测试质量比审查质量更可靠。在 Agent 时代,后者尤其重要--Agent 的产出量已经超过了人类审查的极限。
关于基准测试。Dan Luu 说"show me the distribution"是对的。单一数字排名在方差面前没有意义。但问题在于,大多数用户没有时间、资源或能力去跑自己的基准测试。他们依赖公开基准做决策,而这些基准恰恰是 Dan Luu 证明不可靠的。这是一个结构性困境。
关于 Agentic 自治。Dan Luu 的结论是 Agent 在自治循环中"相当差",需要人类干预。这跟当前业界的体感一致-- Devin 级别的全自治还远不够可靠,Claude Code / Cursor 级别的人机协作才是当前最佳实践。测试是瓶颈这个判断意味着:谁能把测试自动化做到最好,谁就能让 Agent 跑得最自治。
参考文档与链接
- Dan Luu 原文:Agentic test processes, LLM benchmarks, and other notes on agentic coding - 完整长文,约 15000 字
- Hacker News 原帖 - 20 分,2 条评论
- Dan Luu 博客 - 技术深度写作,涵盖性能、测试、系统设计
- Dan Luu: Bugs I ran into in an arbitrary week - 文中引用的旧文,对比十年前后的 bug 密度
- Property-based testing - Centaur 使用的核心测试方法论
- Fuzzing - 随机测试生成,Dan Luu 推荐的默认测试方式
- SWE-Bench - 文中提到的公开编码 Agent 基准
- AGENTS.md 规范 - Agent 指令文件标准
- Dan Luu Patreon - 支持作者持续产出深度内容
你用 AI Agent 编码时遇到过"一本正经地胡说八道"吗?评论区分享你的经历。觉得有启发就点个赞。
作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。
本文首发于 AI人工智能时代,转载请注明出处。