ESC
↑↓ 选择↵ 打开esc 关闭⌘K 唤起
← Home NO.83
第 83 期 · AGENT 工程 · 收录于 2026 年 8 月 15 日

软件工程不是写代码

BS
Benoit Schillings · AI Engineer
视频 20:25 原文约 1.7 万字 预计阅读 10 分钟 来源视频 ↗ 中英对照全文
双人对谈 · 本期速读电台 00:00 / 12:57
TL;DR · 三句话
  1. 写代码这件事已经"结束"了——语法生成已是超人水平(Benoit:上次看着 Gemini 写的函数心想"我能写得更好",是很久以前的事了),但软件工程从来不是写代码:真正的工程是"入职第一天发现代码库里躺着 3500 万行 PHP、而你要在上面改东西"的那一刻。→ 详细
  2. 代码经济学正在剧变:整个软件工程文化、基础设施乃至一批公司都建立在"写代码最难最贵"的假设上,而现在写代码近乎免费——代码量将爆炸、没人再读代码(他预测一年内没人看模型生成的代码,就像今天没人检查编译器输出的汇编),瓶颈从"写"转移到规格化、架构、安全与验证。→ 详细
  3. 人类训练数据已枯竭(GitHub 新增代码约 80% 是机器生成),下一层进步靠 AlphaZero 式 self-play——模型自己出题、自己验证、自己打磨,能走多远只取决于算力和自我对弈时长;人类近期还占优的位置:架构师角色、归纳式思维、"确保代码是你真正想要的"。→ 详细
01

讲者是谁 · 团队使命"1 个月到 1 年"

  • Benoit Schillings 自嘲在机器学习领域是"新人":一年半前还在 Google X(做出 Waymo 无人车、Google Glass,"有成有败"),那段经历教会他如何在 DeepMind 这样的地方带研究团队。→ 详细
  • 他在 DeepMind 团队的使命定义得很精确:开发让 Gemini 在"1 个月到 1 年内"变强所需的任何技术——下限 1 个月,因为一周内要用的东西是完全不同性质的工作;上限 1 年,因为没人能预测更远。团队除代码外还做推理演进、网络拓扑、强化学习基础科学。→ 详细
02

起源故事:2018 年的 Pitchfork,没人搭理

  • 2018 年他们在 X 启动 Pitchfork 项目,研究 ML 如何改进代码编写——目标是压缩"一个小改动要等三天 review"这类拖慢开发的循环。在 Google 内部展示时"根本没人搭理":"你为什么会需要 ML 来写代码?"但他们同时也完全低估了这件事的发展速度→ 详细
03

45 年老兵的"抗拒变化"自白(老狗与新把戏)

  • Benoit 写了 45 年代码,从给 Apple II 和 Commodore 64 写游戏起步,科班出身是汇编。他的鄙视链亲历:写汇编时怀疑编译器"这玩意儿编译得对吗"→ 用 C++ 后看不起垃圾回收语言"那不是真正的编程"→ 今天他用 Python + vibe coding。"老狗也能学会新把戏。"→ 详细
  • 当年他也曾对"用英语写代码"(vibe coding)完全不屑:"我们有编程语言就是为了这个,英语可不是编程语言"——"看来我在这一点上错得离谱。"→ 详细
04

软件三时代:每个时代的瓶颈都不一样 ⭐

  • 时代一:机器是瓶颈。计算稀缺,要榨干机器每一分算力,那是汇编年代,写代码必须极其精确。→ 详细
  • 时代二:人脑是瓶颈。算力便宜后进入云时代,很多问题可以"靠算力硬解",真正的瓶颈变成模块化设计能力——怎么建库、写函数、把问题拆成长期可维护的结构。而这套软件流程的底层限制其实是人类工作记忆:普通人只能同时装下 7-9 个 token(虽然人类的 token 信息量很丰富),对比之下模型的 context(上下文窗口)"很快就基本上无限了"。人类这个生理局限塑造了过去所有软件的写法。→ 详细
  • 时代三:AI 前沿时代——写代码本身不再是挑战,瓶颈整体上移(见下)。→ 详细
05

⭐ 益项:写代码结束后,人还值钱的是什么

  • 金句本尊:"软件工程不是写代码。软件工程是你入职一家公司的第一天,发现代码库里躺着 3500 万行 PHP,而你需要在上面做改动——那一天你才真正明白什么叫软件工程。"管理这种极端复杂度、把它拆成可控单元的能力,正是 frontier(前沿)模型仍在攻坚、尚未拿下的地方。→ 详细
  • 语法生成已是超人水平,别再纠缠:"写代码的细枝末节——你可以争辩、可以找反例,但那个时代已经过去了。"他上次看着 Gemini 写的函数觉得"我能写得更好"已是遥远往事。承认这一点,才能看清剩下的仗在哪打。→ 详细
  • 真正的瓶颈是"确保代码是你真正想要的":写代码容易,但把一个具体问题真正需要什么讲清楚、规格化出来,难得多。所以至少近期,人类的角色是架构师——思考"让 ML 去设计的这段代码,究竟有哪些深层影响"。→ 详细
  • 归纳式思维(inductive thinking)是人类第二个明显占优的领域:在更宏观的上下文里审视一个系统,从中发现模式,并基于模式做决策。模型目前恰恰不擅长这个(见主题 9)。→ 详细
  • 判断力的天花板在架构层:他举 Google 架构与 Jeff Dean(Google 传奇工程师、核心架构师)为例——那个层面的思考牵涉硬件优化、安全管理、以及"怎么把系统设计好,让你十年之后不会追悔莫及"。这才是今天要攻克的进步空间全貌。结论一句话:"写代码结束了,但要做的事还多得很(code is over but there's plenty to do)。"→ 详细
06

代码为什么是 ML 的完美猎场 + 数据枯竭与 self-play

  • 当年选代码做 Pitchfork 有两个独特优势:① 数据海量——直接抓 GitHub;② 验证成本合理——代码能跑、能编译、能过单元测试,"模型生成的对不对"相对容易判定。这两点把行业带到今天。→ 详细
  • 训练数据用完了:他估计如今 GitHub 新增代码约 80% 是机器生成的——"人类贡献知识、供模型挖掘训练"的模式正走向终点。→ 详细
  • 好消息是可以 self-play(自我对弈)——DeepMind 的看家本领:AlphaZero 不靠任何人类知识、纯自我对弈就达到超人围棋/国际象棋水平。代码 frontier 模型现在也到了能"自己给自己出题"的阶段。→ 详细
  • 他的思想实验:把一位出色的工程师关进房间两年、只管送披萨,任务是"变成更好的工程师"——这个人会给自己出可自我验证的挑战,然后不断打磨。模型同理:"数亿小时的 self-play 写代码"就是通往下一层的路,能走多远只是算力和自我对弈时长的问题。→ 详细
07

⭐ 益项:代码经济学剧变——假设塌了,流程要重建

  • 行业的地基假设塌了:"我们建立起的整个软件工程文化、基础设施乃至一整批公司,都建立在一个假设上:写代码是最难、最贵的部分。而现在写代码已经免费或近乎免费了。"直接推论:代码产量将爆炸式增长→ 详细
  • 爆炸带来两个棘手问题。其一是设计与适配性:面对那座动态生成的代码大山,怎么在微观层面保证系统依然可用、可靠?——"这是人类可以发挥重要作用的地方(Great role for human)。"→ 详细
  • 其二是我们在写代码,但已经不怎么读代码了。他敢预测:一年之内,模型生成的代码将没有人真正去看——就像编译器:今天还有谁检查编译器输出的汇编?"也许还有那么一两个人,但基本到头了。"所以核心问题变成:需要建立哪些新流程,让这一切保持可控→ 详细
08

新流程之一:主动护栏与安全——圣杯是"从一开始就写对"

  • 模型审代码能发现"数量多得离谱"的漏洞,大家抢着修补,但这会是永无止境的过程:发现一层→修掉→模型更聪明→挖出更隐蔽的一层。所以"对代码安全和影响的思考,至少要和写代码本身一样多"。→ 详细
  • 圣杯(他团队正在攻关):不是"检测漏洞再修",而是教模型从一开始就写出正确的代码——"非常非常难,因为高度依赖上下文。"→ 详细
09

新流程之二:教模型归纳式架构 + 评测改革(SWE-bench"臭名昭著")

  • 今天的模型仍不擅长知识迁移:把一个领域的知识用到另一个领域、或拿两个概念找交集做演绎推理。要用 ML 建复杂系统,必须教会它这个——尤其是正确的规划:面对极复杂的问题,判断"哪种问题分解方式带来最好的清晰度和正确性"。→ 详细
  • 评测方式也得改:SWE-bench(业界主流代码评测集)"在我这儿有点臭名昭著"——它只验证代码能不能跑通、输出对不对,而那只是软件工程的一小部分。他主张加入开放式问题,例:给模型 10 MB 代码,让它写最好的无损压缩器,损失函数 = 压缩后文件大小 + 压缩器源码大小——"这个问题没有尽头",正是这类题会逼模型做真正新颖的事(如创造全新算法)。→ 详细
10

下一代模型:多模态思考 + 为模型造一门新语言

  • 今天的推理是"代码链"(chain of code,类比 chain of thought),很成功,但人类思考远比这复杂——他认为写代码是很视觉化的活动(脑中的框图、数据流动路径),"代码只是吐出来的一串 token"这条路只能走到某个程度。Gemini 从一开始就定为多模态,模型正开始学会用空间、动态表征解题——他认为这将成为必备能力。→ 详细
  • 一个反直觉的提议:是时候为模型造新编程语言了。Python 等语言是为人类发明的,不擅长写安全可靠的代码。既然写代码的痛苦不存在了,"何不反过来把写代码变得更难"——超强类型、借鉴 Lean(数学定理证明语言),把正确性的负担压到模型身上;而且这门语言不需要人类可读,"那已经不重要了"。→ 详细
11

代码之外:科学的新战线与"看不见的金子"

  • 代码是"解决问题的通用语言",在代码里快速做实验的能力正外溢到其他领域——因为做实验基本变免费了;代码 × 原子世界/科学的交叉点是"真正的新颖性将出现的地方"。→ 详细
  • 两个让他最兴奋的领域:化学——人类只理解化学"非常小的一角",分子超过 20 个原子就不知道它会怎么表现;而"能把一万个原子组装在一起时,那就开始有点像生命了"。生物学——"大自然做了一场不可思议的工程,却把文档写得一塌糊涂",模型能发现人类难以捉摸的关联。→ 详细
  • 收尾概念"我们看不见的金子":人类对"正确解法"的直觉带强烈偏见——"我们是进化训练的产物,那场训练是帮我们在丛林里活下来的,不是用来搞量子计算的。"大量突破人类根本感知不到,而 ML 视角截然不同,将带来很多"天哪,答案一直摆在眼前我们却看不见"的时刻。"激动人心的时代就在前方。"→ 详细

本期为大会 keynote(20 分钟单人演讲),无问答/闪电轮环节。收尾即主题 11 的"看不见的金子"+"激动人心的时代就在前方"。→ 详细

字幕中未提供嘉宾联系方式。身份信息:Benoit Schillings,Google DeepMind 研究副总裁(VP of Research),前 Google X 出身。→ 详细

🎯 于你何益 为你定制 · 非通用结论

1. 职业 / 判断力下注 —— 这期是给"判断力 > 努力"的一份来自最前沿的背书

他怎么说:Benoit 的整场演讲其实是在给"哪些能力贬值、哪些能力升值"划线。贬值端说得毫不留情:语法生成已是超人水平,"你可以争辩、可以找反例,但那个时代已经过去了"。升值端他点了三样,全都是判断力而非执行力:① 规格化能力——"写代码容易,但把一个问题真正需要什么讲清楚,难得多";② 归纳式思维——在宏观上下文里看系统、发现模式、据此决策;③ 架构级判断——Jeff Dean 那种"怎么设计系统让你十年后不追悔莫及"的思考。注意他的措辞:这些不是"人类永远的堡垒",而是"至少近期"人类占优——他连自己 45 年的手艺都承认看走眼过("英语不是编程语言……我错得离谱")。

你可以怎么做:你 2021 年写下"判断力 > 努力"时是价值观,这期把它变成了可操作的职业资产负债表——把你日常工作按他的三条升值线归类:写 PRD 里"这个功能到底解决什么问题、边界在哪"是规格化;从客户杂音里看出"这类跨境卖家都卡在同一个流程"是归纳;"这个模块这样设计,两年后接新业务不用推倒"是架构判断。凡是落在这三条线上的活,是你该 all-in 的"编码下注";凡是能被"吐 token"完成的活(初稿、格式化、翻译需求为字段),主动让 AI 干、且干得越早越好——他那句"承认语法之战已结束,才能看清剩下的仗在哪打"对 PM 同样成立。

更深一层(镜子):Benoit 的鄙视链自白(汇编→怀疑编译器→看不起 GC→今天用 vibe coding)是一面很准的镜子——每一代专业者都把"我熟练的那层"当成"真正的专业"。你此刻对某些 AI 产出的不信任,有多少是判断、有多少是"汇编工程师看编译器"?他的解法不是放弃怀疑,而是把怀疑升维:不再检查每行输出(没人看编译器的汇编了),而是把验证机制建在更高层(测试、护栏、评测)。

2. Holdwell PRD 工厂 —— "人留在哪一层"这题,他给了 DeepMind 版答案

他怎么说:他描述的软件新流程和你的 PRD 工厂结构惊人同构:代码(≈你的 PRD 产出)近乎免费、量会爆炸、没人会逐字读——他预测一年内没人看模型生成的代码,就像没人检查编译器的汇编。那怎么保质量?他的答案不是"人回去读",而是三件事:① 主动护栏(active guardrails)——但他警告"检测→修补"是永无止境的猫鼠游戏,圣杯是让生成方从一开始就写对(他团队正攻关此事,承认"非常难,因为高度依赖上下文");② 教模型做正确的规划/问题分解——"哪种分解方式带来最好的清晰度";③ 改评测——SWE-bench 只测"能不能跑通"所以"臭名昭著",要加开放式问题。

你可以怎么做:对照你的碰撞环节和真人评审:如果评审是"生成后逐份人审",那就是他说的"检查汇编输出"——量一上来必然失守,这正是"真人评审意见回炉难闭环"的深层原因。照他的三件事迁移:① 把最常见的评审驳回理由前移成生成时的硬约束(agent 定义里的护栏),而不是留给事后评审去挑;② 他说圣杯是"让生成方从一开始就写对"、难在"高度依赖上下文"——你让 tech-lead 对着隔壁真实代码仓干活正是这个思路;六条产品线的跨线领域事实同理,模型写不对往往是因为没有可依赖的事实层;③ 你的评审别只测"PRD 格式齐全"(≈SWE-bench 式跑通),要加开放式质检——比如让另一个 agent 拿 PRD 反推"这功能上线后哪里会出岔子"。app_incubator 的"设计稿即工程强制契约"同理:那就是他说的"把正确性负担压到生成方身上"的一种语言设计。

所以呢:人不留在"读产出"层,留在**定义"什么叫对"**的层——写护栏、备好领域事实层、设计评测。

3. Personal Thinking / 思维模型库 —— 三个可直接入库的模型

他怎么说 → 可迁移的思维模型:① "瓶颈迁移"史观:软件三时代的划分逻辑是"每个时代的稀缺资源不同——机器算力→人脑 7-9 token 的工作记忆→规格与验证"。这是一个通用透镜:任何行业剧变,先问"旧稀缺是什么、新稀缺是什么",价值总是流向新瓶颈。② "关屋子喂披萨"self-play 模型:变强 = 给自己出可自我验证的挑战并反复打磨——对个人学习同样成立,你的复盘/看板若没有"可验证"这一环(预测→对答案),就只是记录不是训练。③ "看不见的金子":人类的直觉是丛林进化训练出来的,"不是用来搞量子计算的"——对"什么是好解法"的强烈直觉本身可能就是偏见,这和你"接受现实、不抗拒"的操作系统同源,但更进一步:主动借用一个非人类视角(AI、数据、外部人)去照自己看不见的角落。

所以呢:入库时建议挂 mental-models 主题,"瓶颈迁移"和"self-play 可验证挑战"两条最值得做成原子笔记。

诚实闸门

StockHelp / 投资、小红书号与本期无直接关联(通篇是软件工程与模型研究,无商业模式/估值/内容视角),略过不硬掰。

One Human Company 新号(2026-07 回填)

怎么做的:Benoit(DeepMind 研究 VP,写了 45 年代码)敢预测"一年之内,模型生成的代码将没有人真正去看——就像今天没人检查编译器输出的汇编";他的保质量答案不是人回去读,而是护栏前置、教模型正确分解问题、改评测——"人留在定义'什么叫对'的层"。

你可以怎么做:这是给新号的一篇高含金量 C 类——候选标题《DeepMind VP 说"一年内没人会读 AI 写的代码",我在自己的 AI 公司试了:两周一行不读,只靠验收放行》:把 drizzle tech 的质检从"你翻代码"切成"QA 角色 + 验收清单放行",记录漏网 bug 数、返工成本、你省下的小时数,最后给判断(含诚实反驳:什么规模以下这样做是作死)。可抄物是那份验收清单。删掉实测就只剩转述预言——不发。

怎么做的:他给行业算的账:"整个软件工程文化建立在一个假设上:写代码是最难、最贵的部分。而现在写代码已经免费或近乎免费了。"升值的三样全是判断力:规格化、归纳、架构——"写代码容易,把一个问题真正需要什么讲清楚,难得多。"

你可以怎么做:这是一篇 D 类观点短评的骨架,立场句现成——"一人公司最贵的成本从来不是开发,是想清楚。"(引 Benoit 的假设崩塌论做背书)用你自己的账坐实:晒一个月的 API 账单 vs 你花在"定义什么叫对"上的时间分布,可抄物是"一人公司成本结构表"。这个立场可反驳(获客比想清楚更贵的人大有人在),正好符合 D 类要有对立面的要求;而且它同时是你"验证派/想清楚"定位的定桩文——值得排进 Phase 0 存稿。

对你的镜子:他的鄙视链自白(汇编→怀疑编译器→今天 vibe coding)也照向办号者——你对"AI 写的内容/代码不放心"的那部分怀疑,别用逐行检查解决,用更高层的验证机制解决;这本身就是你新号最该反复讲的工作方式。

所以呢(总):这期最值钱的不是任何一个技术预测,而是一位写了 45 年代码的人当众演示"如何优雅地承认自己那层手艺贬值、然后把赌注挪到上一层"——你在 PM 这行正站在同一个楼梯口,他挪注的方向(规格化、护栏、评测、架构)就是你 PRD 工厂和职业下注可以直接抄的方向。

接着读