本文永久链接https://tonybai.com/2026/08/23/russ-cox-acm-interview-tactical-tornado-ai-agent-warning

大家好,我是Tony Bai。

【导读】

Go语言技术负责人长达十余年的Russ Cox,近日接受了ACM「People of ACM」栏目的深度专访。这篇文章很快被转发到Hacker News,很快就收获超过数十余条热评。真正引爆讨论的,是他借用「战术龙卷风」这一概念,对AI coding agent发出的一句警告——管理者若不够谨慎,AI agent很可能轻而易举地变成史上最强的战术龙卷风。这句话,说出了无数正在与AI agent协作的工程师,过去大半年里说不清道不明的焦虑。

【文章要点】

  • Go 设计的本质是工程规模:Go 的“简单”绝非玩具式的减法,而是 Google 面对海量代码、数千工程师与分布式集群时,用硬性约束(如禁止循环依赖)换取系统长期可扩展性的工程重构。
  • 高质量测试是拥抱 AI 的唯一前提:自动化测试提供了低心智负担的重构底气;测试基础设施越健全,团队才能越安全地接纳 AI Coding Agent 的高频代码提交。
  • 警惕“终极战术龙卷风”:引用 John Ousterhout 概念指出,只顾眼前快速交差而忽视长远演进的“战术编程”是技术债的万恶之源;若管理层只看产出数字,AI Agent 将迅速成为摧毁代码库的“终极战术龙卷风”。
  • 程序之死与理论缺失:引用 Peter Naur 经典论文阐明,软件的灵魂是团队头脑中连贯的“设计理论”;无法真正理解系统演化脉络与隐性上下文的 AI Agent,正在无形中加速代码失去灵魂与可维护性的“程序之死”。
  • AI 是工程连续统(continuum)而非断裂革命:拒绝浮躁的炒作叙事,将 AI 视为软件工程演进光谱中的一环,主张用扎实系统思维、清醒取舍与深度技术积累来从容应对转型期焦虑。


在Hacker News上,只要出现「Russ Cox」这个名字,评论区往往会立刻热闹起来。有网友直言,自己是个简单的人,只要看到和Russ Cox有关的内容,就会点进去读;也有人补了一句,同样的待遇他只给过Fabellard(法布里斯·贝拉,一位法国著名程序员,因FFmpeg、QEMU等项目而闻名业内)。

这种「信徒式」的追随不是没有原因的。Russ Cox长期担任Go语言技术负责人,早年是Bell Labs Plan 9操作系统团队的一员,后来又打造了Google Code Search——那个曾经让全世界开发者可以直接搜索开源代码的工具。如今,他是ACM Queue编委会成员,同时还是「整数数列在线百科全书」(OEIS)基金会主席。他很少接受长篇采访,但每次开口,几乎都能把复杂的工程直觉,浓缩成一句让人拍案叫绝的话。

这一次,ACM「People of ACM」栏目的专访再次证明了这一点。

Go语言诞生的现实驱动力:不是语言实验,而是工程规模问题

很多人对Go语言的第一印象是简单、无聊和没有花哨特性。但在Russ Cox看来,这种简单从来不是设计目标本身,而是解决了具体问题之后的自然结果。

Go项目启动于2007年前后的Google内部,当时团队面对的现实是:海量代码、成百上千名工程师协同开发、成千上万台联网机器,每台机器又有大量核心。现有的编程环境几乎在每一个维度上都跟不上这种规模,团队真正需要的,不是一门「更酷」的语言,而是一套能撑住这种规模的工程环境。也正因为是从零开始,Go团队才有机会重新思考依赖管理、构建系统这些通常不被语言设计者放在第一位的问题,顺带解决了低延迟垃圾回收之类的底层实现难题。

换句话说,Go语言的诞生,本质上是一次面向工程规模的系统性重构,而并发模型只是这次重构里最显眼的一小部分。

「简洁是最好的扩展策略」:一次「用约束换简单」的赌注

Russ Cox在采访中反复强调一个观点:面对复杂问题时,工程师的第一反应往往是设计一个复杂的解决方案;但如果肯花时间去简化问题本身,通常能得到开销更低、同样好用、还更容易维护的简单方案。

他举了一个具体的例子。C++和Java的构建系统长期被库之间的循环依赖折磨——因为一旦出现循环,就要把一大堆模块捆成一个整体来处理,围绕这个问题,社区已经堆砌了大量复杂的工程方案。而Go从一开始就选择了一条更硬核的路:直接禁止循环依赖。如果A导入了B,那么B就不能反过来导入A,哪怕是间接的也不行。

这不是一个讨巧的语法糖,而是一种「用约束换简单」的工程哲学:宁可在设计阶段多一点限制,也不要在规模扩大之后被自己的灵活性反噬。十几年过去,Go生态在依赖管理上依然比很多同代语言更清爽,这套哲学功不可没。

测试的复利效应:为什么好测试是拥抱AI agent的前提

采访中一个容易被忽略、但其实非常关键的部分,是Russ Cox对自动化测试的看法。

他回顾了早期没有完善测试体系时的工作方式:每次改动都要极其谨慎,靠人工逐一排查可能受影响的地方。这种方式能用,但完全不具备可扩展性。

相反,如果有一套覆盖了核心行为、并且可以随时重新运行的自动化测试,团队几乎可以「零心理负担」地做很多事情——评估新编译器、升级依赖库版本、重构甚至重写复杂代码,都变得可控。

在这份清单的末尾,Russ Cox补上了一句意味深长的话:好的测试体系,也让团队更容易接受来自不熟悉这套系统的工程师,或者coding agent提交的改动。

软件工程里几乎所有事情,都会随着测试质量的提升而变得更容易——这句话放在今天AI辅助编程越来越普及的背景下,几乎是一句预言:测试基础设施的好坏,将直接决定一个团队能在多大程度上安全地拥抱AI agent。

核心爆点:「AI agent正在成为终极战术龙卷风」

如果说这篇专访里有一句话让整个HN评论区集体破防,那一定是这句关于AI agent的警告,它也是这次热议的绝对核心。

Russ Cox在谈到AI对软件工程的影响时,引用了John Ousterhout在《A Philosophy of Software Design》一书中提出的一组概念——「战术编程」与「战略编程」。前者是不计代价地先把眼前的功能做出来,后者是花时间把系统设计打磨扎实,以从容应对未来的新需求。两者都有各自适用的场景,但多数团队的失败模式,都源于战术工作太多、战略投入太少。

Ousterhout为此发明了一个词,叫「战术龙卷风」:指那种能疯狂产出大量能跑起来、但极其复杂、和现有系统格格不入的代码的工程师。更糟糕的是,一个缺乏判断力的管理者,往往会把这种人当成团队里最高产的成员,却意识不到他们留下的复杂度和技术债,最终都要由其他人来买单。

Russ Cox接着补上了那句让HN网友集体沉默的话:如果管理者不够谨慎,AI agent很可能会轻而易举地变成终极版的战术龙卷风。

一位HN网友的留言几乎道出了很多工程师过去半年多说不清道不明的感受,他说这段话精准地表达了自己的心声。

要知道,AI agent的产出速度是人类工程师的数倍甚至数十倍,一旦缺乏「战略层面」的把关,它制造技术债的效率同样会呈指数级放大。这条警告之所以引发共鸣,正是因为它把很多人模糊的不安,第一次说得如此具体。也有网友当场调侃,觉得这个词造得实在传神,甚至联想到自己团队里那些「修好了一个bug、却弄垮了整个设计范式」的经历。

程序之死:当AI读不懂工程师脑子里的「理论」

除了「战术龙卷风」,另一段被HN网友称为「黄金内容」、值得每隔几年重读一次的部分,来自Russ Cox对Peter Naur 1985年论文《Programming as Theory Building》的引用。

Naur认为,维护一个程序最核心的东西,并不是代码本身,而是团队脑子里那套关于「现实需求如何映射到程序设计与结构」的连贯理论。

这套理论本质上无法被完整写下来或传授,因为它最重要的价值,恰恰体现在如何应对那些设计之初根本没想到的新需求。几乎每个工程师都有过这样的经历:为了实现一个新需求,绞尽脑汁在系统里做了大量改动,结果原作者随口一句话,就点出了一个自己从未想到的简单方案。

Naur由此得出一个略显冷峻的结论:当拥有这套理论的团队解散时,一个程序也就随之「死亡」了——即便代码本身一行没变,它也已经失去了灵魂。

Russ Cox把这个结论延伸到了AI agent身上:一个没有长期记忆、无法真正理解系统演化脉络的AI agent,很难避免在不知不觉中,加速一个程序的「死亡」。

AI agent确实可以像精力充沛的新人工程师一样,写出能跑起来的代码,但结果往往比实际需要的更复杂——因为它缺的正是那套无法被完整传授的「理论」,缺的是连贯性与简洁性背后的判断力。

AI不是范式革命,而是一场「连续统(continuum)」

面对「AI会不会给软件开发带来全新范式」这个近乎必答题的问题,Russ Cox给出了一个克制得多的回答。他更愿意用「连续统」(continuum)而不是「范式革命」,来描述AI正在发生的影响。

他的逻辑是:软件工程与软件系统的近未来,其实早已经藏在最近的研究成果和实践进展之中,只是还没有被广泛看见。他所参与的ACM Queue,工作方式正是识别出这些重要但尚未普及的话题,邀请真正的专家撰写深度文章,把这部分已经存在、只是还不够显眼的未来,尽早呈现给更多人看到。而随着这种深度、系统性的技术写作在业内变得越来越稀缺,它的价值反而越来越高。

这种态度和他一贯的工程气质是一致的:不追逐话题热度,也不轻易被宏大叙事裹挟,更倾向于把复杂的变化,拆解成一个个可以被理性讨论、被测试验证的具体问题。

HN网友怎么说:共鸣、彩蛋与争议

除了正经的技术讨论,HN评论区照例贡献了不少有意思的细节。

有网友提到,Russ Cox个人博客上最近更新的内容,是关于浮点数快速打印与解析算法的系列文章,据说相关的性能优化已经被吸收进了最新版本的Go——这也侧面印证了,即便不再担任Go技术负责人,他依然活跃在最硬核的系统编程一线。

还有网友「考古」发现,Russ Cox同时是整数数列在线百科全书(OEIS)基金会的主席,曾经为这个项目编写过软件——这个身份很少被主流报道提及,却让人对他的技术版图有了更立体的认识。

采访中还有一句被反复引用的话,被网友评价为「可以直接刻在墙上」:软件工程,就是当时间和其他人被加进「编程」这件事之后,所发生的一切。有网友补充说,Abseil团队所著的《Software Engineering at Google》一书,对这个观点做了系统性的展开,并附上了免费在线阅读的链接,评价这本书「值得一读」。也有网友顺势追问:既然「战术龙卷风」描述的是加入时间和他人之后的失控状态,那当我们把prompt和AI agent也加进这个方程式,是不是也该有一个新词来形容它?评论区随即有人打趣,觉得「slop(劣质产物)」和「vibe coding(氛围编程)」这两个已经流行开来的说法,多少已经顶上了这个空缺。

当然,评论区也不全是赞美。有人认为这篇专访整体不错,但部分内容偏套路化;也有人直言不太认同Russ Cox在AI风险问题上的乐观程度,认为「战术龙卷风」式的AI agent恐怕会比他预想的更快成为常态——原因很现实:比起代码质量,很多管理者更在意「东西有没有做出来」,而AI agent恰恰最擅长制造这种「看起来很快做出来了」的错觉。

还有个别评论则把矛头指向了他所在的公司本身,认为技术理念和商业现实之间存在落差。

这种混杂着敬佩、认同与质疑的讨论氛围,恰恰说明这篇专访触碰到了当下工程师群体最真实的焦虑。

写在最后

从「简洁是最好的扩展策略」,到「好测试是拥抱AI agent的前提」,再到「警惕AI agent变成终极战术龙卷风」,Russ Cox这篇专访串起来的,其实是一条清晰的工程逻辑:无论是十几年前设计Go语言,还是今天审视AI coding agent,他关心的始终不是某个具体的技术选型有多炫酷,而是一个系统能否在时间和人(或者agent)的双重考验下,依然保持简单和可控。

对于今天每一个正在与AI agent协作的工程师和管理者来说,这或许才是这篇专访最值得反复咀嚼的地方:AI能极大地提升产出速度,但能不能守住系统的「战略层面」,依然取决于人——取决于我们愿不愿意投入时间去建立那套连贯的「理论」,愿不愿意把测试基础设施打磨扎实,愿不愿意在效率和复杂度之间,做出清醒的取舍。

毕竟,龙卷风跑得再快,也终究需要有人来清理它留下的废墟。

参考链接

  • ACM《People of ACM》专访原文:https://www.acm.org/articles/people-of-acm/2026/russ-cox
  • Hacker News讨论贴:https://news.ycombinator.com/item?id=49327408
  • Russ Cox个人博客:https://research.swtch.com/

你的Go技能,是否也卡在了“熟练”到“精通”的瓶颈期?

  • 想写出更地道、更健壮的Go代码,却总在细节上踩坑?
  • 渴望提升软件设计能力,驾驭复杂Go项目却缺乏章法?
  • 想打造生产级的Go服务,却在工程化实践中屡屡受挫?

继《Go语言第一课》后,我的《Go语言进阶课》终于在极客时间与大家见面了!

我的全新极客时间专栏 《Tony Bai·Go语言进阶课》就是为这样的你量身打造!30+讲硬核内容,带你夯实语法认知,提升设计思维,锻造工程实践能力,更有实战项目串讲。

目标只有一个:助你完成从“Go熟练工”到“Go专家”的蜕变! 现在就加入,让你的Go技能再上一个新台阶!


「Go & AI 精进营」已全面升级为「Go, Rust & AI 精进营」知识星球,快来加入星球,开启你的技术跃迁之旅吧!

我们致力于打造一个高品质的 现代系统级开发(Go / Rust)前沿 Agentic AI 工程实践 平台。在这里,你将获得:

  • 体系化 Go 核心进阶内容: 深入「Go原理课」、「Go进阶课」、「Go避坑课」等独家深度专栏,夯实你的 Go 语言内功。
  • 硬核 Rust 专项实战赋能: 同步解锁全年 54 讲独家专栏「事不过三:Rust 系统级入门实战课」,通过 4 个里程碑项目(命令行工具、KV引擎、多线程Web服务、异步Redis),带你彻底攻克所有权与并发高山,拿下 Rust 核心壁垒。
  • 前沿 Agentic AI 落地实践: 紧跟时代步伐,系统学习「Agent开发实战课」、「Agentic软件工程课」、「Claude Code开发工作流实战」、「Harness工程设计」等,掌握 AI 时代的系统架构新技能。
  • 星主 Tony Bai 亲自答疑: 遇到疑难杂症?星主第一时间为你深度解析,扫清 Go、Rust 与 AI 实践中的学习与工程障碍。
  • 高活跃 Gopher & Rustacean 交流圈: 与众多优秀的技术极客探讨系统设计、分享前沿心得、碰撞思想火花。
  • 独家资源与专栏首发: 博客深度长文、专栏教程更新、精选技术资源,星球会员第一时间触达,加入星球即可免费阅读全套进阶专栏!

衷心希望「Go, Rust & AI 精进营」能成为你拓宽技术边界、持续精进与交流的温暖港湾。让我们在此相聚,享受代码与工程之美以及技术精进的快乐!欢迎你的加入!


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。