专题 · FULL STORY

DHH 用 AI Agent 重写 Campfire 风波

Rails 之父 DHH 让 AI agent 将 Campfire 从 Rails 重写到 Rust 等技术栈,其发布的基准测试遭到社区质疑。随后他让前沿 agent 优化 Elixir 再遇挫,引发「该不该追责工程师」的争论,DHH 亲自回应争议。

2026-10-05 ~ 2026-10-07 · 2 集 · 9 条

第 1 集 · DHH 用 AI agent 多语言重写 Campfire,性能结论遭质疑(2026-10-05,7 条)

Rails 之父 DHH 用自己攒的 token 额度让 AI agent 将自家聊天应用 ONCE Campfire 从 Rails 逐个转换到其他技术栈,先后用 Elixir、Go、Rust 实现,最新还有一版 JavaScript/Express 实现。他公布了同一房间页面的每秒请求数:Ruby 244、Elixir 722、Go 3860、Rust 36260,Rust 约为 Ruby 的 150 倍。DHH 承认 Ruby 最慢,但强调自己更看重生产力与开发乐趣,并质疑「不再读代码」的意义。该实验的跨语言性能结论随后遭到多位开发者质疑,焦点集中在调优投入不对等与实现缺陷上。

已确认

  • 性能数字由 DHH 公布:Ruby 244、Elixir 722、Go 3860、Rust 36260 每秒请求,差距近 150 倍
  • DHH 本人承认 Ruby 版本最慢,立场是生产力与开发乐趣优先
  • 实验使用多轮 agent 转换,技术栈还包括 JavaScript/Express
  • 针对 Elixir 版性能质疑,DHH 回应称他并未手动干预,而是让两个前沿 AI Agent 充分发挥 Elixir 后得到当前结果;他欢迎提交提速 PR

尚未确认

  • josevalim 引用 DHH 的实验指出:初始 vibe coding 版 Rust 的 req/s 与初始 Elixir/Go 版在同一数量级,部分场景甚至更慢;DHH 仓库里的 Rust 版本是历经约 300 次(另有说法为 398 次)提交优化后才追平并反超的。@kristoph 转述 @jskalc 的质疑认为该基准并非公平对比:Rust 版获得大量调优提交而 Elixir 版几乎无人问津;mattnjp 也拆解了对比中的陷阱,指出 Rust 快是手工调优的结果
  • @kristoph 指出其中的 Go 实现存在明显性能缺陷,修复后对比结论可能不同
  • DHH 反问:如果最前沿的 Agent 都找不到 Elixir 的「提速开关」,语言生态是否需要自省——这一观点本身也引发讨论
  • @rchaves 提出不同视角:普通应用更应关注编译时间与遗留 bug 等实际因素,而非单纯追求性能数字

为什么重要

这是「agent 编程」热潮中少见的、由知名框架作者亲自进行的大规模跨语言移植实验,其性能结论被广泛传播;但围绕调优投入不对等、实现缺陷的质疑说明,用 agent 生成代码做跨语言性能对比时,基准公平性与方法论本身需要谨慎对待。DHH 关于「Agent 都找不到提速开关则生态需自省」的回应,则把争论从单一基准延伸到了语言生态对 AI 时代的适配问题。

第 2 集 · dhh 让前沿 agent 优化 Elixir 遇挫并回应追责争议(2026-10-07,2 条)

dhh 日前让两个前沿 AI agent 充分发挥 Elixir 性能完成项目,但结果引发网友对其性能的质疑,并掀起「该不该追责工程师」的争论。dhh 回应称自己「什么都没做」,只是让 agent 发挥即可得到当前结果,并欢迎他人提 PR 提速,但同时指出如果前沿 agent 都找不到 Elixir 的「提速开关」,问题或许不在使用者。