本文永久链接https://tonybai.com/2026/07/19/agentic-engineering-thorsten-ball-amp-interview

【导读】一年前,一篇题为《皇帝没穿新衣》的博客文章在程序员圈子里炸了锅。作者Thorsten Ball——《Writing An Interpreter In Go》的作者、Sourcegraph工程师——用一个几乎"反直觉"的发现告诉所有人:你不需要向量检索,不需要代码索引,不需要什么复杂的"Apply模型",给大语言模型三个工具——读文件、列文件、搜索文件——它就能在你的代码库里如鱼得水。如今,这篇文章被公认为"Agentic编程"叙事的起点之一。而写下它的人,已经从Sourcegraph的老将,变成了编程智能体产品Amp的联合创始人。在最近一期go podcast()的访谈中,Thorsten Ball罕见地敞开心扉,聊了聊他如何被"AI药丸"击中、Amp为什么拼命"做减法"、软件工程师的"经验"正在如何被重新定价,以及这场闭源与开源模型的战争究竟谁能笑到最后。这是一份信息密度极高的行业内部视角,我们把它梳理了出来。

文章要点

  • 起点:Thorsten Ball在2025年3月发布博客《How to Build an Agent: The Emperor Has No Clothes》,证明用极简工具集(读文件、列文件、grep)加大模型,就能超越当时依赖向量检索与索引的"高配"代码助手方案,这篇文章被视为Agentic编程叙事的引爆点之一。
  • 核心洞察:大模型正在把"要不要写YAML"、“要不要记搜索语法"这类中间层需求直接消解掉——用户不再需要学习工具的语言,只需要用自然语言描述目标。
  • 产品哲学:Amp定位为"前沿编程智能体”,不断砍掉功能(Tab补全、VS Code插件、自定义斜杠命令等),只为让用户把注意力聚焦在模型本身,而不是被杂七杂八的配置项分散精力。
  • 新动作:Amp刚刚上线"Agents and Orbs"——把智能体运行在临时云端机器上,预示软件开发生命周期可能从"一人一机"走向类似CI系统的高并发异步模式。
  • 争议观点:很多曾被视为"资深工程师经验"的判断(比如数据库迁移的两步部署),正在被模型直接内化和自动给出,真正稀缺的是业务判断力与"承担后果的边界感"。
  • 行业隐喻:作者用木匠、时装设计师类比未来的初级工程师培养方式——手艺仍要学,但不必再天天用手做。
  • 商业洞察:闭源大模型厂商陷入"不敢停下来的鲨鱼式竞速",利润被迫持续再投入下一代模型研发,同时普遍面临算力紧缺,而非外界想象的"稳赚不赔"。

大家好,我是Tony Bai。

十年前,Thorsten Ball写下了《Writing An Interpreter In Go》,成为无数Gopher的编程语言实现入门书。十年后,他的名字更多地和另一件事绑在一起——Amp,一款被用户戏称为"编程界法拉利"的Agentic编程工具。

最新一期go podcast()节目中,主持人Dominic St-Pierre和Morten Vistisen与这位老朋友聊了将近一个半小时。从他为什么离开Zed、如何被"AI说服",到Amp的产品哲学、初级工程师的未来、开源与闭源模型的终局之战,信息量巨大。我们把这场谈话中最值得记录的部分,梳理成了这篇文章。

“皇帝没穿新衣”:一篇博客如何点燃了一切

时间回到2025年初。彼时Cursor还是编程助手赛道的绝对王者,行业里讨论的关键词是Tab自动补全、向量嵌入(Embedding)、以及所谓的“Apply模型”——一种专门负责把大模型输出的代码差异应用到文件里的辅助模型。整个行业的默认假设是:要做好代码助手,必须堆叠一整套复杂的基础设施。

Thorsten当时刚刚和联合创始人Quinn重返Sourcegraph,着手打造Amp的雏形。他们很快发现了一件“离经叛道”的事:你几乎什么都不需要。只要给模型几个最基础的工具——读文件、列目录、跑一次类似ripgrep的全文搜索——再把问题原样丢给它,模型就会自己规划出搜索路径,反复调用工具,最终精准定位到答案。不需要预先建索引,不需要向量数据库,魔法完全在模型本身。

这个发现最终变成了那篇著名的博客文章,标题是《How to Build an Agent》,副标题则是那句后来被反复引用的“The Emperor Has No Clothes”(皇帝没穿新衣)——意指当时行业里堆砌的种种“高级”基础设施,很大程度上是不必要的复杂性。文章发布的时间点极其微妙:大约就在Claude Code发布前后一周。Amp那时其实已经做出来了,但还没有对外发布。

Morten在节目中提到,正是这篇文章让他确信“这事是真的”,并直接推动他重写了自己的编程工作流。这类“读者反馈”在过去一年里显然发生了很多次——这篇文章也因此被视为Agentic编程叙事被主流工程师社区广泛接受的一个重要节点。

从Batch Changes到Amp:自然语言正在杀死YAML

Thorsten在访谈中回忆了他在Sourcegraph的“前AI时代”经历,这段经历某种程度上解释了他为何对Agentic编程如此笃信。

他此前主导过一款叫Batch Changes的产品——一个允许用户跨成千上万个代码仓库批量执行变更的工具。用户需要手写一份类似GitHub Actions的YAML配置文件,描述搜索条件、步骤、缓存逻辑,甚至还要处理条件分支。Thorsten甚至为此写过一个“部分求值器”(partial evaluator)来处理YAML里的条件逻辑。

问题在于:现实世界的代码仓库千差万别。同样声称“用Go 1.13”的仓库,有的有vendor目录,有的没有;go.mod文件位置也各不相同。工程师们不得不像调试CI流水线一样,靠“改一次、跑一次、再改一次”的笨办法逐步逼近一份“完美”的配置脚本——用他的话说,这是一种“糟糕的用户体验”。

回到Sourcegraph重启对话时,他对Quinn说的第一句话就是:“如果今天让我重新做一次Batch Changes,我会直接塞一个大模型进去。没人应该手写YAML。”同样的逻辑也适用于他此前负责的代码语义搜索系统——原本需要维护庞大的符号索引、专门的查询语法,而现在,只需要让大模型理解自然语言指令即可。

这个洞察后来被他们在打造Amp的过程中反复验证:只要给模型足够的工具和token预算,曾经需要复杂基础设施才能解决的问题,现在用一个“循环”(loop)——模型不断调用工具、读取结果、决策下一步——就能自然涌现出解决方案。这也是他博客里提到的那个核心“loop”概念的来源。

Amp的产品哲学:拼命做减法

面对“Amp相比其他编程智能体到底有什么不同”的提问,Thorsten给出的答案不是功能清单,而是一种态度:Amp只服务于“前沿”(frontier),不迎合大众市场

具体体现是什么?是“杀功能”。Tab自动补全、VS Code插件、自定义斜杠命令、子智能体模板——这些在过去一年里被行业普遍视为“标配”的功能,都被Amp团队主动砍掉了。

Thorsten的解释是:随着底层模型能力越来越强,用户需要的“脚手架”反而越来越少。很多花哨的自定义功能,本质上是“噪音”,甚至可能是模型厂商希望用户“多消耗token”的一种商业驱动,而不是真正提升结果质量的必需品。

他还透露了Amp的商业逻辑:面向个人用户,团队几乎不赚差价,用户直接为API token的实际成本买单;真正的收入来自企业客户,而且团队在选择合作企业时相当挑剔——比如明确拒绝了“帮企业接入自建的开源模型”这类需求,即便这在2025年春天本可以带来可观的收入。理由很直接:一旦签了这种合同,团队就会被绑住,失去持续追随模型前沿快速迭代的灵活性。

对每一个接入的前沿模型(比如GPT系列、Claude Opus等),Amp团队都会针对性地调整系统提示词(system prompt)和工具集,让工具的设计“顺应模型的脾气”,而不是给模型五十个工具随它挑。这被他称为“harness”的设计哲学——不是简单地做模型选择器,而是深度理解每个模型真正想用什么样的工具,然后把其余的噪音过滤掉。

Agents与Orbs:开发流程的下一次迁移

访谈发生的前一天,Amp刚刚发布了一项新功能——Agents and Orbs。简单来说,这是一套让智能体运行在“临时云端机器”(ephemeral machine)上的机制:用户发出指令后,系统会自动拉起一台机器、克隆代码仓库、装好插件环境,智能体在这台机器上独立运行,用户可以通过手机、网页或本地命令行随时接入查看进度。

Thorsten认为,这代表了软件开发生命周期接下来的演化方向。他直言,“一个工程师、一台机器、开四个代码checkout、跑四个并行智能体”这种当下流行的工作模式,只是“这个时间点的一张快照”,而不会是未来一年的常态。就像CI系统早已从“单台构建服务器”演化成高度并行的临时云端实例一样,编程智能体也会逐渐获得更高的自主性——响应事件触发、异步运行、按需拉取结果,而不再需要用户全程盯着一个终端窗口。

灵魂拷问:AI比初级工程师写得还好,“经验”还值钱吗?

访谈中段进入了整期节目最有张力的部分。Morten提到一个真实困扰:长期重度使用编程智能体后,他发现自己对项目代码的掌握程度在下降,甚至没法在播客里讲清楚自己做的项目具体是怎么实现的——不得不刻意“退回”手写代码来找回这种掌控感。

Thorsten的回应相当坦率:这种感觉他也经历过,而且经历得更早。但他给出了一个关键的区分标准——“爆炸半径”(blast radius)。对于内部管理页面、一次性脚本、UI层的CSS这类影响面小的代码,他完全不在乎AI怎么实现、变量怎么命名;但对于承载核心业务逻辑、未来要在其上继续构建的“承重结构”,他仍然坚持要完全理解其实现细节——数据存在哪里、有没有索引、访问量级如何,这些判断力仍然依赖于他十五年的工程经验。

更进一步,他承认一个略显“虚无”的事实:很多过去被视为“资深工程师专属经验”的判断——比如数据库字段迁移要先加列、双写、再下线旧字段的两步走部署——现在模型已经能主动提醒用户注意这一点了。这类“过程性知识”正在被模型迅速内化和吸收。真正不会被替代的,是建立在大量真实生产系统经验之上的、关于取舍(trade-off)的判断力。

节目中双方也讨论了一个更现实的担忧:当管理层要求团队“更多地使用AI提效”时,代码产出量会陡增,但具备“这段代码质量够不够高、要不要收紧”这种判断力的人手却跟不上——这可能会催生新一轮的评审疲劳和职业倦怠。Thorsten的回应是,这是一个转型期的必经阵痛,历史上从Ruby on Rails到JavaScript再到“Stack Overflow编程”的每一次范式跃迁,都伴随过类似的群体性焦虑和“看不起下一代”的论调,而行业最终总是继续向前。

编程之乐的消逝:木匠与时装设计师的隐喻

对于“初级工程师该如何成长”这个更尖锐的问题,Thorsten提出了一个类比:即便宜家已经能大规模量产家具,人们依然可以学习成为一名木匠;即便时装公司已经把生产环节外包到海外工厂,时装设计师依然要经过学徒式的训练,只是学会手艺之后,并不意味着要每天亲手裁剪。他认为编程行业接下来也需要类似的转变——手艺(fundamentals)仍然要教、要学,但“日常亲手实践”和“真正掌握原理”这两件事,可能需要被重新解耦。

节目中Dominic补充了一个更具体的视角:比起技术细节,真正稀缺、也更难被AI替代的,其实是领域知识(domain knowledge)——你所在公司的业务本质到底是什么。这个观点得到了Thorsten的强烈认同,他甚至用了“你们把我说兴奋了”这样的表达。他援引了自己团队里一位资深同事的话作为总结:“工程只是业务的一个函数,它本身不是目的。”

他也坦言,对相当一部分程序员而言,写代码这件事本身带来的审美愉悦——调好一个配色方案、想出一个更精准的函数名、体会到“这周比上周写得更漂亮”的掌控感——正在变得不那么“刚需”。这对那些真正因为热爱敲代码本身而入行的人来说,是这场变革中最难消化的部分。

开源 VS. 闭源:一场没人敢停下来的军备竞赛

节目临近尾声,话题转向了行业格局的终极问题:开源模型和闭源模型,谁会赢?

Thorsten的判断相当直接:闭源模型厂商目前处境凶险。

行业的共识预期是“更大的模型总是可能的、AGI是可能的”,这意味着任何一家公司一旦发布新模型,竞争对手立刻会推出更强的版本作为回应。

模型可以被随时替换,用户对旧版本没有任何忠诚度——去年的Claude 3.5“已经死了”。这迫使所有厂商必须持续投入巨额资金滚动训练下一代模型,哪怕单次推理本身是盈利的,利润也必须被立刻重新投入下一轮竞赛,否则一旦放慢脚步,原本落后的开源模型(尤其是中国的开源模型)就会迅速追平甚至反超,并且直接免费开放——这会瞬间摧毁闭源厂商积累的价值。

他同时提到,团队正在公开倡导一种被称为“智能自由”(freedom of intelligence)的立场:反对由政府主导决定谁有权使用哪些模型,认为私营公司自主决定产品的开放策略是一回事,而基于国籍限制模型访问权限则是另一回事,这类做法让他相当不满。

算力荒与被误解的“AI泡沫论”

针对“AI公司的财务状况其实很脆弱”这类质疑,Thorsten给出了一个反直觉的补充视角:外界普遍低估了这些公司当下面临的算力紧缺程度。他提到一个流传的说法——某家顶尖大模型公司大约一个月前一度考虑暂停新用户注册,原因不是缺钱,而是没有足够的算力承接新增需求。

他把这类公司的处境类比为早期的亚马逊AWS:并非不盈利,而是主动选择把每一分利润都重新投入扩张,如果真的按下暂停键,反而可以立刻实现可观的账面利润。眼下真正稀缺的,已经不只是GPU本身,而是从铜矿开采、数据中心建设到能源供给的整条价值链——这也是为什么与过去“技术只会越来越便宜”的常识相反,如今连内存价格都在上涨,苹果甚至因此上调了手机售价。

小结:保持好奇,在新范式里重新找到乐趣

访谈的最后,Thorsten给出了一句略带禅意的总结:他已经“敲鼓”敲了一年——保持开放的心态,美这件事可能会以你意想不到的方式重新出现在你面前。编程这件事的形态肯定在变,但如果愿意睁大眼睛去看,或许仍然能在一种全新的方式里,重新找到当初写代码时的那种乐趣。


还在为写 Agent 框架频频死循环、上下文爆炸而束手无策?我的新专栏 从0 开始构建 Agent Harness 将带你:

  • 抛弃臃肿框架,回归“驾驭工程 (Harness Engineering)”的第一性原理
  • 用 Go 语言手写 ReAct 循环、并发拦截与上下文压缩引擎等,复刻极简OpenClaw
  • 构建坚不可摧的 Safety Middleware 与飞书人工审批防线
  • 在底层实现 Token 成本审计、链路追踪与自动化跑分评估
  • 从“调包侠”进化为掌控大模型边界的“AI 操作系统架构师”

扫描下方二维码,开启从 0 开始构建Agent Harness 的实战之旅。


还在为“复制粘贴喂AI”而烦恼?我的新专栏 AI原生开发工作流实战 将带你:

  • 告别低效,重塑开发范式
  • 驾驭AI Agent(Claude Code),实现工作流自动化
  • 从“AI使用者”进化为规范驱动开发的“工作流指挥家”

扫描下方二维码,开启你的AI原生开发之旅。


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