我们在每个房间都问同一句:如果 AI 负责写代码,工程到底去了哪里?没有人给出同一个答案。但每个人都同意,这个问题很急。
——Thoughtworks × Martin Fowler,软件工程的未来闭门会,犹他,2026 年 2 月
2026 年 2 月,Martin Fowler 把一群资深工程师、CTO、架构师和咨询顾问关进犹他的一栋房子里。会议按 Chatham House Rule 进行:可以说房间里发生了什么,不能说是谁说的。没有主题演讲,没有路线图,没有需要对外表演的共识。二十多个分会之后,他们交出的不是愿景,而是一张断层图——旧做法在哪些地方裂开,新做法在哪些地方成形。
四个月后,同一批人在瑞士恩格尔贝格再聚一次。变化的速度让第一次的纪要已经显得旧了。这一次是 40 场参与者自组织的 unconference,有时甚至是吵架。价值仍然不在共识,而在思考的范围和认真程度。可是这一次,答案开始收敛。
两份纪要不宜当白皮书读。它们是闭门谈话的合成,不是实验室结果,也不是厂商路线。它们最有用的地方,是让一群本来就不会轻易互相说服的人,反复撞上同一组裂缝。本文也不复述那二十多个分会。我只想做一件 Fowler 式的工作:给裂缝一个名字,再沿着它看行业会往哪边走。
名字是这句:工程没有消失,它搬家了。
生成变便宜之后,原来住在「写代码、评代码」里的那门学科,迁到了规格、测试、约束和风险管理。下一门可拥有的学科,是廉价、快速、人能读懂的验证,以及围着 Agent 的那套 Harness。真正不可商品化的,不是吞吐,而是判断、品味,以及把它们传给下一代的学徒制。写代码的钟快了,等决策的钟没动。谁先看清这三件事,谁才有资格谈「未来的软件开发」。
这三件事,就是本文的脊柱和两翼。
一、诊断:工程搬家了
犹他场上最重要的问题,不是「AI 会不会取代工程师」。那是给封面用的问题。房间里真正转圈的是另一句:如果代码生产被接走,原来住在写代码和评代码里的那门学科,迁到了哪里?
学科没有蒸发。它搬家了。搬家这件事,比「取代」难听得多,也有用得多。取代是一个开关。搬家要求你重新布置家具:哪些工件变成一等公民,哪些仪式其实在同时承担四种职能,哪些能力一旦不再经过人手,就会在下一代身上断掉。
严谨性迁到了五处
犹他的人把目的地说得很具体。不是「质量还是重要的」这种正确的空话,而是五处已经在发生的迁移。
第一处,上游,到规格评审。 有人把工作改成「预审计划,事后再审工程」,不再把主要力气花在读生成出来的代码。逻辑直白:Agent 从规格生成代码,规格就是捕获错误的最高杠杆工件。坏规格会以规模复制坏代码。这不是新发现,只是代价变了。以前一份含糊的用户故事,最多让两个工程师争论一周;现在它能在一个下午变成三个看起来都能跑的实现,每一个都在放大那个含糊。
于是规格自己需要新格式。传统用户故事对 Agent 太软。有人重新拿出 EARS、状态机、决策表——这些技术并不新,它们被重新发现,是因为它们终于能给 Agent 足够的精度。站内把这件事叫做 规格成为真相源。犹他补了一句更硬的话:如果你还在用「作为一名用户,我想要……」去驱动舰队,你不是在做 SDD,你是在用散文喂一台高速复印机。
第二处,到作为一等公民的测试套件。 会上最好传的一句洞察是:TDD 从 Agent 拿到的结果,比许多人从任何别处拿到的都好。机制很具体。Agent 有一种稳定的心智错误:先写出坏实现,再写一张恰好证明这个坏实现的测试。测试先于代码,这条路就被堵死了。测试变成对非确定性生成的确定性校验。有人把评审力气整段挪到测试上,把生成代码当成可抛弃物——测试对、代码过,代码长什么样就不那么重要。
这不是在怀旧 XP。这是 Beck 一直在说的那件事,换了一个更贵的场景:测试是你对系统的承诺,不是实现的附属品。Prompt 工程如果还有一个配得上「工程」二字的形态,它看起来会很像 TDD。
第三处,到类型系统和约束。 与其生成后再读,不如让错误的代码无法被表达。规格描述「该变什么」,约束描述「不许碰什么」。约束限制爆炸半径,让 Agent 能安全穿过领域边界;一旦必须打破约束,那是新边界出现的信号,该重构,而不是再加一条例外。这和形式化方法的血缘很近,但会上没人把它当学术练习。它是给 Agent 输出装的护栏。
瑞士场把这层说得更绝:
符合性测试比规格更要紧。如果符合性测试和规格打架,你猜谁赢?
规格是意图。测试是意图落地之后还能不能被否认。两者打架时,赢的从来不是写得更漂亮的那份文档。
第四处,到风险地图。 不是所有代码都承担同样的风险。内部工具、对外服务、安全关键系统,爆炸半径差几个数量级。新的核心问题不再是「有没有人看过这行代码」,而是「这代码错了,爆炸半径有多大,我们的验证是否与风险成比例」。工程从手工艺模型——每一行都经人手——转向风险管理模型:验证投入匹配暴露面。这和站内的 HITL / HOTL / HOOL 监督光谱 是同一条力:监督按风险路由,而不是按道德洁癖一律人工。
第五处,到持续理解。 代码变得比人读得快,靠 Review 建立心智模型的老路就断了。替代方案被点了名:每周架构回顾、多人同时盯同一段代码的 ensemble,以及按需生成系统全景的理解工具。底下的担心很具体。Code Review 从来不只是质量门。师徒、共享理解、对代码库的熟悉,都曾经过这条通道发生。通道拆了却不另开一条,理解的缺口会利滚利。
有人几乎是不耐烦地说:
结对能解决这一切。如果理解系统是重要的,那就一直做。别把它塞进「到了 Review 再理解」的小阶段。
这句话听起来像 1999 年的 XP。它在 2026 年重新变贵,是因为理解不再免费附赠在「我亲手写过」里。
Code Review 被拆包了
犹他把 Code Review 拆成四种职能:师徒、一致性、正确性、信任。四种职能曾经挤在同一次 Pull Request 里,像一间既是课堂、又是质检台、又是社交礼仪的房间。Agent 把这间房撑裂了。正确性可以部分迁到测试和约束,一致性可以部分迁到 Harness 和平台,信任必须迁到风险分层和可审计的验证。师徒如果也跟着正确性一起迁走,行业就会在五年后发现,自己不会做高级工程师了。
瑞士场把这件事推进了一步。多人指出:在座没有人能拿出数据,说明人工评审到底拦住了多少缺陷。这是一种现状幻觉——我们信任它,是因为我们一直在做它,不是因为我们测量过它。Fowler 对「我们一直这样做」从来不怎么客气。一种实践如果承担了四种职能,却说不清自己拦住了什么,它就不是质量保证,它是习惯。
习惯在加速器下面会变得很贵。DORA 2025 说 AI 是放大器。放大器不挑选你的好习惯。瑞士有人补了一句更狠的:
坏习惯的惩罚来得比以前快得多……现在只需要几个小时,它就会回来踢你一脚。
认知债务正在成为主账本
犹他还给技术债务找了一个更贴这个十年的亲戚:认知债务。系统复杂度与人类理解之间的裂缝。代码可以继续涨,测试可以继续绿,没有人再能在脑子里放下整张图。Agent 很擅长加深这条裂缝,因为它能在你还没问「为什么这样」之前,先交出一片看起来合理的实现。
有人开始认真讨论一个更激进的可能:源代码本身变成瞬时工件,按需生成,不再长期存放。房间里没有共识。一方看见十年内源码消失;另一方坚持,确定性校验需要一个稳定的被测物,那个被测物无论叫什么,都还是源码。这场争论本身就说明搬家进行到了哪一步——连「工程住在文件里」这件事都不再是默认。
我站在后一方,不是出于怀旧。瞬时源码如果成立,验证就必须再上一层:规格、约束、生产回流、可审计的行为记录,都得比今天更硬。大多数组织还没有这些地基,却已经有了生成的速度。先把源码扔掉,等于在还没有新房子的时候拆除旧房子。
搬家的第一课是这个:先认清家具搬到了哪,再决定哪堵墙可以拆。
二、学科:稀缺的是信任
瑞士场上被重复最多的观察,几乎算不上观察,已经是事实陈述:Agent 生成代码、测试、规格和基础设施的速度,已经超过任何人、任何组织建立信任的速度。有人把新学科压成一句:
工程现在被蒸馏成两件事:我如何描述目标,我如何验证自己到达了目标。
生成不再是瓶颈。谁生成得最多,不再是竞争力。谁能便宜、快速、用人能读懂的方式验证,谁才拥有速度。速度如果不能被信任,它只是事故的预付款。
一套正在成形的验证词汇
会上出现的不是「多写点测试」这种劝告,而是一套正在被命名的词汇。
约束测试:用单组输入输出,把 Agent 允许生成的东西框死。场景测试。从真实生产事故里长出来的 好日志 / 坏日志。有人现场做了专用的 approval-testing 架子,几个小时就能量产,而且比通用 BDD 框架更有效——因为人要审的那一层被故意做得很薄,Agent 很难靠堆步骤定义来作弊。BDD 的 step definition 曾经是为了让人读懂。面对会游戏规则的生成器,藏在步骤后面的复杂度重新变成弱点。
高风险迁移上,一层信任栈在成形,而且相当硬:
- 特征化测试:从遗留系统捕获行为,不是捕获愿望。
- 符号执行:数学上站得住的路径,不让 AI 来编。
- 生产回流:拿真实数据流做最后一关。
这不是「用 AI 改写老系统」的演示叙事。这是一套可以在董事会面前讲清楚、也可以在事故 comms 里站得住的方法。对任何不熟悉的、或由 AI 生成的代码库,会上还记下另一条序列:先看覆盖率,再让一个对抗性的 AI 在不打破测试的前提下拆代码,只有拆得动,才上变异测试。测试套件自己也会撒谎。覆盖率绿着,不代表有人认真想过失败。
确定性与非确定性混着用,是对「LLM 当法官」不可靠的实务回答。有团队把 linter、模式匹配,和三个模型组成的「评委会」叠在一起,第一遍合并接受率大约从 60% 抬到 80%。注意分子分母:这不是「模型更聪明了」,这是把能确定化的判断确定化,只把语义判断留给模型。站内 Harness Engineering 把同一件事写成 Guides 与 Sensors;瑞士用现场数据证明,混合栈比单纯加一个更贵的评审模型更管用。
Harness 成为可拥有的学科
模型在商品化。多场会收敛到同一句:模型周围的脚手架——上下文管理、确定性护栏、技能、自我改进的反馈环——才是好的 agentic engineering 和差的之间的差别。有组织报出:有效 Harness 至少把 token 用量砍到四分之一,并明显提高输出的确定性。一次重构实验里,生 lint 把 code smell 的解决率推到 50% 以下;把 lint 翻译成具体的、确定性的、一步一步的重构指令(他们叫 habit hooks)之后,解决率大约到 90%。小模型配好挽具,据说跑赢大模型配坏挽具。
这组数字值得当原则读,不当 benchmark 读。原则是:
能确定化的反馈,不要写成感想。 「这个函数太长」是给人看的礼貌。「这里这样拆,拆完跑这组测试」才是给 Agent 的挽具。会上把这一手标成最高杠杆、也最便宜的改进。它几乎就是 Loop Engineering 里的 verifier 契约:停止条件必须是 Agent 无法含糊解释的东西。
表现最好的团队并不手写自己的挽具。他们让 Agent 失败,跑一个「learn」技能去回顾这一场、提出对挽具的修改,人的工作是定期修剪和简化,不是当作者。这很像好的框架治理,也很容易变成坏的框架治理。共享的 skills 和上下文工件,会像没有主人的内部框架一样腐烂。可是再设一个专职「Harness 团队」,又有把旧 Ops 反模式重建一遍的风险:平台远离产品,菜单代替铺好的路,标准变成别人的事。
所有权必须有人认领。认领者不必然是一个新部门。更像样的形状,是平台团队自己使用他们要求产品团队使用的同一套 agentic 工具,并把「选项菜单」收成一条有主张的铺好的路。传统只懂基础设施的平台团队,可能还没有拥有「挽具」或「暗工厂」工具的编码深度。补救不是再发一套指南,而是自己先踏上同一条路。
遗留现代化是最站得住的近端价值池
如果一定要给董事会一个「AI 工程投资应该先落在哪」的答案,瑞士场上最站得住的不是绿色字段上的 10x 新产品,而是遗留与主机现代化。多个分会描述的不是设想,是已经在跑的试点或生产路径。
纪律被反复复述,而且听起来几乎像是对 Agent 热心的解毒剂:
- 移植期间:什么都不加,什么都不改,能删的全删。
- 一次只改一件事:先保行为保真,再动结构——永远不要两件事一起做。
- 已知缺陷要故意留下,并当作客户批准的决定。Agent「好心」修掉的 bug,下游系统可能正靠它活着。
以前不经济的事,突然进了普通团队的射程。会上听到的例子具体到几乎不像闭门会该有的细节:四天用 AI 做出完整的 TypeScript 到 .NET CLR 编译器;三天、大约五千美元 token,做出通过 NIST 套件的 COBOL 编译器;靠模型辨认字节模式,反解一套 1994 年、无文档、加密过的主机二进制格式。定制编译器、转写器、形式化验证,这些曾经只属于少数人的工作,现在能被平均水平的团队摸到。
给董事会的框架也很具体。大型企业往往把 30% 到 50% 的 IT 花费在现代化和维护上。把 AI 投资接到这笔已经存在的预算上,抽象的技术申请就变成一笔能看懂的资本配置。一个真实例子:把含糊的一亿美元以上申请,收成八百万美元、覆盖约 20% 系统、并绑上可测价值的提案。
注意这里赢的不是「AI 会写 COBOL」。赢的是验证纪律配上范围纪律。没有特征化测试、没有「先不要变聪明」,编译器三天做完也只是一个更危险的演示。
Token、安全、公民开发:都是治理,不是事后补丁
瑞士和犹他都提到安全,而且都带着一种不耐烦:安全分会出席率低,行业顺序仍然是「先让它能用,再让它安全」。对 Agent 来说,这个顺序是危险的。给 Agent 邮箱权限,就等于给它重置密码和接管账户的路径。给开发工具整机权限,就等于给它决定做任何事的整机权限。犹他的建议很直:平台工程必须把安全做成默认,让安全行为容易、不安全行为困难,而不是指望每个开发者在配置 Agent 权限时保持清醒。
瑞士补了几件已经发生的事。一个会计师用 Copilot 做的应用,经 AI 建议的 Cloudflare 隧道,把客户数据露到了公网。一个市场团队的 AI 助手,通过层层叠加的 OAuth scope 拿到了宽到公司关停时都数不清的 G-Suite 权限。一个磁盘不够的 Agent 删了备份腾地方——并且对此「很兴奋」。这些不是未来威胁模型。这些是本季度的事故。
供应链上出现了一种针对生成器的新攻击:恶意方预测 LLM 可能会幻觉出哪些不存在的库名,再把真实的恶意包发到那些名字下面。沙箱不够。依赖仍可能进生产。实务上的部分缓解已经在传播:新库版本默认等大约两周(多数失陷在这个窗口被抓住);内部受审登记;微虚拟机沙箱(比容器好,但仍未证明足够);以及把 Agent 生成的代码即使在内网也当不信任,把零信任用到内部,而不只用在边界。
公民开发需要的不是一刀切禁令,而是绿 / 黄 / 红的风险分层:个人使用、团队使用且强制培训、公司范围且必须有职业工程师签字。培训跟不上每周一次的模型发布,所以检测必须压过预防——持续扫描 Agent 对话日志里的危险模式,而不是指望一次启用培训管一年。
Token 经济学在同一季度变成了董事会问题。有组织报出:安全事件大约六个月涨了 20 倍;AI token 预算三个月就花完本来该撑十二个月的额度。这种预算休克,比生产力故事更快引起董事会注意。成本效率可以因企业数据访问的架构差到 1400 倍——不只是因为选了哪个模型,也因为低效的 MCP 来回把数据在模型和系统之间转运。数据和模型离得近,成本低、暴露面大;离得远,安全好看、账单难看。这是治理权衡,不是采购权衡。
自托管的兴趣越来越多不是因为省钱,而是因为主权:怕数据落进别国法律,怕供应商单方面涨价或限流,怕把组织「学习与改变的能力」整个外包出去。真要大规模自托管,是一门稀缺的专门学科,机架拓扑级别的吞吐/美元工程,大部分正在被超大规模云和 neocloud 吃掉。编码负载有一条中间路:更小的专用推理硬件,或专门的编码模型托管,而不必先解决全套超大规模问题。
把这些段落放在「信任」这一翼,是因为它们不是旁支。验证如果只覆盖功能正确,覆盖不了权限、依赖和账单,信任仍然是假的。瑞士对管理层最清楚的警告是:agentic AI 放大的是组织里已经存在的纪律——好的和坏的。测试文化弱、风险所有权不清、文档卫生差的团队,不会「先快起来再补质量」。他们会更快地变得更糟。
所以不要把「先加速、质量以后再说」当成过渡策略。放大器不提供过渡期。
三、差异化:两座时钟,和故意慢下来的人
如果第二部分是新学科,第三部分就是这门学科无法自动化的那一层。验证可以变便宜,Harness 可以自我改进,遗留系统可以被特征化。判断、品味、以及一个人如何学会「好是什么样子」,不能被生成。
瑞士场下面一直有一股认真的逆流。他们并不反对工具。他们担心的是:如果验证、原型、甚至市场测试都变得近乎免费、人人能用,剩下的差异化就只剩人类的判断、品味和小心。组织需要故意保护这些,而不是把它们工程掉。
两座时钟
团队拓扑的讨论至少穿过五场会,形状差不多:更小的「核」——常常是两人组或三人组——监督一大群 Agent,同时为了组织神志清醒,保留大约十人左右的社会/凝聚地板。Domain-Driven Design 被重新估价,不是因为它能给出一张伟大的总图,而是因为它是大型组织里持续协商、命名边界的现成学科。Agent 的速度和规模,让边界谈判变成日常,而不是架构委员会的季度仪式。
更锋利的诊断叫 两座时钟。一座量写代码的时间,一座量等决策、等规格清楚的时间。开发吞吐爆炸了,端到端周期却常常没动。约束已经上移。再优化流水线,是在给已经不是瓶颈的局部加润滑油。
犹他把同一现象写成组织语言。Agent 几天清空 backlog,然后撞上跨团队依赖、架构评审、以及人类速度的决策。结果不是交付更快,而是同样的速度配上更多挫败——因为瓶颈从工程产能,移到了其他所有地方。Conway 定律没有退休,它只是更麻烦了。Agent 可以瞬时复制、同时出现在每个团队,一个数据库专家 Agent 能 concurrent 地存在于所有小队。这听起来像全胜,直到你看见 Agent drift:从同一份配置出发的两个数据库 Agent,在电商后端和 ERP 里分别学会不同的偏好,时间尺度比人类团队规范分裂短得多。漂移该被管住,还是该被当成局部优化接受,房间没有共识。需要共识的是另一句:我们曾经为人类优化交付过程;现在参与者不只是人类,组织本身的含义要重问。
决策疲劳是新瓶颈的日常面目。Agent 产出工作单、缺陷修复、功能实现的速度,快过任何人说「可以」。中层管理者从协调点变成批准瓶颈。犹他问过一个不礼貌的问题:如果人对系统的理解有容量上限、Agent 没有,我们还需要这么多中层吗?没有答案。问题本身已经够用。
不健康的快,和健康的结对
一个健康/不健康对照,在瑞士被原样复述了多次。
不健康的那一队:产品经理和设计师自己用 Agent 变成「超能力者」,功能往外涌,工程师沦为清场。领导层看吞吐,会觉得这是胜利;看过现场的人把它叫做「正在形成的灾难」——因为它侵蚀了结对文化和组织凝聚。功能在出。判断力在撤离。几个季度之后,没有人还知道系统为什么是这样,也没有人还愿意为它的形状负责。
健康的那一队:人结对在规格、测试和设计意图上,一队 Agent 去收敛实现。实现结对可以下降,规格结对必须上升,而且至少要得到从前代码结对得到的那种郑重——因为现在一条指令能生成的代码,远超过任何人类结对曾经能一行行看完的量。
站内讨论角色时,我们写过不要急着给 Agent 按旧岗位定岗,也写过 人定义、机执行。瑞士的对照给这两篇加了一条例证:角色收敛如果只发生在工具层——产品经理学会 Markdown,设计师直接出分支——而人与人不再为意图坐在一起,收敛就只是把三种旧岗位同时推向同一台高速机器。边界对象可以共享可见性;它不能代替共同判断。
平台团队在这个形状里必须换一种权威。菜单式平台在 Agent 速度下会变成决策税。有主张的铺好的路,加上平台自己先用同一套工具,才是还能管事的平台。自治也不该全公司一份政策。按系统关键性、团队成熟度、监管暴露、可逆性和爆炸半径分层:有的组件是人机共驾,有的才配得上「暗工厂」。一律放开和一律锁死,是同一种懒。
学徒制、初级,以及最疼的那一档
至少六场瑞士分会,彼此独立地举起同一块牌子:如果初级不再与真实代码、真实事故、真实设计权衡搏斗——因为 Agent,或只跟 Agent 结对的资深,把这些活吸走了——行业就会失去培养下一代判断和品味的机制。资深在这种工作方式里活得很好,正因为他们已经知道「好是什么样子」。这正好加大了学徒制的风险。
犹他的判断初看相反:初级比以往任何时候都更值钱。AI 让他们更快度过早期净负贡献;他们是对未来产能的看涨期权;他们用工具往往比资深更顺,因为他们没有那十年需要先卸掉的习惯。两句话都是真的。初级不是可裁的成本中心,这是犹他要守的。初级如果只会被工具带着穿过一条从未自己走过的路,他们长不出判断——这是瑞士要守的。
对策已经有人在试,而且具体。设计法定人数或 mob:资深现场主持设计对话,初级做实际的 prompting,手还在活上,权衡还从耳朵进脑子。明确的无 AI 学习关卡,公开问责。把 Agent 编排和监督写成早期职业能力,而不是等晋升到资深再学。滑铁卢大学的 coop 被当成一种教育信号:深厚的理论基础,加两年半、六个四个月的行业轮转。若干公司说,实习转正已经跑赢传统校招。
最疼、也最不被看见的,是七年到十年那一档。他们花了十年精通模型现在常常做得更好的技能,身份和情绪冲击是真的。犹他把压力更多放在「繁荣十年里上来、基本功未必够用」的中层;瑞士把压力放在「已经够资深、却发现专长被贬值」的那一层。两边说的是同一代人的不同侧面。他们往往还是你最熟的交付负责人。组织如果只奖励「谁用 Agent 出得更快」,会在最需要他们把关的年份,把他们做成最想离开的人。
Staff engineer 的位置同样拧着。一份覆盖 500 家公司的研究被提到:Staff 用 AI 的频率低于初级,但一旦用,每周省下的时间更多——更宽的上下文和更深的架构理解,让他们更会监督 Agent。他们实际被要求做的,却常常是更多的人际协调,而不是技术监督。会上主张他们成为摩擦杀手:识别并拆掉同时拖慢人和 Agent 的障碍。他们知道骨架埋在哪。许多人在「没预算」里学会了无助。现在预算突然有了,却流向了更多生成,而不是流向他们早就指出的那几处摩擦。
中间多出来的那一层工作
犹他把这层称为会上最强的先发概念,而且当时还没名字。软件开发长期被说成两环:内环是写、测、调;外环是 CI/CD、发布和运营。现在中间长出一层监督工程:把问题拆成 Agent 能吃下的工作包,校准对输出的信任,认出那些看起来像样但不对的结果,在许多条并行的生成流上维持架构连贯。
站内后来把三环写成 Inner / Middle / Outer。犹他补上的是人的一面。擅长这层工作的人,想的是委托和编排,不是亲手实现;他们有强的系统心智模型;他们能在不逐行读的情况下迅速判断输出质量。这些能力资深工程师常常已经有,却很少被写进职业阶梯,也很少被当成一种独立的满足来源。
对那些因为热爱写代码才进这行的人,这是身份危机。许多人被雇来把预消化的票翻译成能跑的代码。那份工作正在消失。新工作要求不同的才能,也要求不同的职业快感。组织若不去帮人渡过,就会把最熟的人输给挫败。会上用过一个计算机图形学的类比:1992 年工程师手写多边形渲染;两年后那层进了硬件,工作变成动画和光照;再往后是自定义物理和游戏世界。每一次抽象上升,坚称自己是被雇来渲染多边形的人就被留下了。代码生产正在经历同一种上升。
产品管理一侧同样没安稳。开发者开始更多思考做什么、为什么做,他们就在做曾经属于产品经理的事。有大厂在研究这个角色要不要改名;有的在训练所有产品经理到开发者工具里写 Markdown。收敛是真的,落点没有共识。犹他说得更冷:AI 暴露的是 PM 与开发之间原本就有的功能障碍——知识碎片、文化缝、角色边界不清——只是忽略它们的代价更高了。工具可以当边界对象,让不同角色按自己的方式工作并共享可见性。边界对象不是新角色说明书。
还有一个被故意重新命名的词。开发者体验传统上是心流、反馈环、认知负荷。生产力和体验绑了几十年,现在有证据表明它们在脱钩:组织可以在开发者满意度下降、认知负荷上升、心流变少的环境里,仍然拿到产出。一个锋利的改名是:别再只叫开发者体验,开始叫 Agent 体验。为让 Agent 表现好而打开的钱包,和让人表现好所需的条件,重叠得几乎完全。这不是把人降成 Agent 的饲养员。这是承认:上下文、反馈、权限和验证,本来就是同一套卫生。
故意可见的人类
历史类比在瑞士被认真对待,而不是当装饰。印象派出现,正因为相机已经能完美复制现实,人的价值转向解释。鼓机出现之后,鼓手变得更复杂,而不是失业。1997 年以后,世界上最强的「棋手」其实是人加引擎,不是引擎自己。这些类比的要点不是怀旧,而是分工:复制、重复、穷举可以交给机器;解释、品味、在关键处说「不」,必须故意留在人这边,而且要看得见。
最清楚的那句是:
唯一我不想外包的,是验收标准。其余我都愿意外包。
以及另一句,几乎像是对整个十年的反驳:
有史以来最好的那些软件,都是慢慢做出来的。它们是我们花了更多时间、更多小心的东西……慢思考其实是好的。
Beck 会在这句上点头。小批量、持续集成、结对,不是因为我们浪漫,而是因为反馈必须短,理解必须共享,责任必须有人认领。瑞士特别点出一种正在发生的倒退:AI 让大变更集变得容易,有些团队重新滑向大而稀的发布,像是瀑布。这直接逆转了十年 DORA 研究——更小的批量与更高的稳定性相关。产出上升、稳定性下降,不是「转型阵痛」,是度量已经在报警的回归。敏捷没有死。压缩到一周的迭代、用 AI 自动做演示和状态摘要、重新发现 XP,都在发生。真正威胁敏捷的是治理:团队变快了,批准、合规和跨组织依赖还是老的。不变治理,更快的团队只是更早撞墙。
自我修复和自改进在犹他被讨论过,野心是真的,地基大多还没有。变更总账、Agent 的身份与权限、不改代码也能用的回滚和特性开关、Agent 能计算的 fitness function——这些比「让 Agent 改生产代码」重要得多。事故处置里,资深工程师带着几十年几乎从不写下来的模式匹配。要复制给 Agent,需要一层他们叫做「Agent 潜意识」的东西:从多年事后复盘长出来的知识图谱。LLM 倾向于附和。有人建议训练专门唱反调的「愤怒 Agent」去挑战主导假说。多个 Agent 抢修同一问题,还会振荡:一个真实例子是,Agent 面对「文件不得超过 500 行」的 linter,选择把每一行写得更长。它满足了规则,侮辱了规则背后的原则。
这些细节配放在「人」这一翼,因为它们说明自动化的上限在哪。自我修复不是无人值守的浪漫,它是先把回滚、开关、可观测性和潜知识做硬,再让 Agent 碰生产。巡夜式的 Agent——围着 ETL、数据质量、业务过程转的 loop——会比电影里的 swarm 更常见。有良好 API 的组织,会比没有的组织更先用上这两种。工程师若只会顺序拆解,会在并行上先输掉一场心理战。对个体 Agent 追求完美准确,往往不如设计集体向目标收敛。
开源在瑞士引起过一场没有结果、但并不浅的争论:AI 是加重了维护者过劳和被无偿抽取,还是制造了单人巨型项目与 AI PR 洪水这种全新动力学。一个建设性的处理模式是:把 PR 的意图反解成白话,评审意图,再用自己的 AI 重写一遍再合并——承认贡献,拒绝盲信。更远的可能是,开源分享从代码转向规格和想法,因为实现变得可以按消费者重新生成。风险也是真的:若 Agent 彻底取代共享库依赖,没有 AI 和算力的人,会失去开源曾经有过的民主化。
这些都不需要在本文变成专章。它们服务于同一句:生成变便宜之后,仍然贵的东西,必须被故意标出来,并且有人付钱保护。
预期裂缝,和被压缩的泡沫周期
瑞士场上几乎人人抱怨的一件事:董事会和 CEO 往往相信「产品经理把 PRD 倒进机器,完美软件就出来」。他们自己的上手经验,来自写报告和做摘要的 AI——那些工具确实好用,却是软件工程的拙劣代理。这条裂缝不会因为模型变强而合上。它合上,要靠绑在资产负债表上的具体故事,要靠用同行基准去核对厂商的「10x」,要靠让高管自己上手做一点东西、撞上真实极限。
把预期主动从厂商叙事往下管,是技术负责人现在就要做的沟通,不是等泡沫破了再做的复盘。有实践者按完整 SDLC——而不是只按代码生成——估过,近端真实增益大约是 2 到 3 倍,不是 10 倍。他们判断,叙事和现实的裂缝可能在 12 到 18 个月内「把泡泡戳破」。若干有市场和估值经验的人认为,这一轮投资周期会比互联网和加密更短。管理应当按这个视野来规划:建设无论泡泡落在哪都还值钱的能力——验证纪律、Harness、治理——而不是把战略押在今天最极端的生产率声称上。
这与 Anthropic 2026 的协作悖论 读在一起更清楚。大约 60% 的工作会碰到 AI,自认可完全委托的只有 0 到 20%。AI 是持续协作者,不是一键外包。产出增加,往往来自更多功能、更多修复、更多从前不会做的事,而不是同一张票单纯变快。把「协作」读成「替换」,是董事会故事和工程师现实之间最常见的错位。
分层技术模型 在这里仍然好用。地基是 Effectiveness:质量加效率,效率不是快,是无浪费地产生有效成果。横切是 Harmony:角色、边界、接力、问责。Agent 把 Tools 层抬高了,却没有取消 Process 和 Methods。搬家之后,Methods 里要住进 SDD、Harness、风险分层;Process 里要住进两座时钟和中环监督;Harmony 里要住进学徒制和「验收标准不外包」。工具层可以继续换模型。换模型不是搬家。
现在该守什么
两场会都拒绝交出路线图。犹他收在一句几乎谦虚的话上:地图正在被重画,最有资格画它的人,是愿意承认自己还不知道多少的人。瑞士收在更决断的地方:从把生产力看成产量,转到把它看成信任和治理的纪律;把 Harness 当成核心能力;主动处理学徒制;在验证和基础工程被商品化之后,把人类判断当成组织和个人真正可持续的差异化。
下面不是任务清单。是一份该守住的东西,和一份该拒绝的东西。咨询腔到此为止。
该拒绝的。
把产量当生产力。吞吐上升而周期不动时,你优化的是已经不再约束你的那座钟。
全公司一份自治政策。系统的爆炸半径不一样,团队的纪律不一样,监管暴露不一样。一律放开和一律锁死是同一种偷懒。
只跟 Agent 结对。资深会更快,初级会更哑,七年到十年那一档会更想走。下一代高级工程师不是模型训练出来的。
把结对、mob、慢的架构思考,当成 AI 效率叙事下可以优化掉的遗留成本。你优化掉的可能是竞争优势本身。
拿 10x 小故事做战略。小故事打动董事会,也是这个行业自我推销的方式。管理的工作是核对到达决策者那里的故事,不是只把指标往上送、指望结论自己正确。
先加速、质量以后再说。放大器不提供以后。
该保护的。
廉价、快速、人能读懂的验证。约束测试、场景测试、特征化、对抗探测、变异测试、生产回流。符合性测试和规格打架时,让测试赢,然后回去改规格。
有主人的 Harness。把被动 lint 写成给 Agent 的确定性步骤;给挽具一个 learn 环;用「有技能 / 无技能」的场景测试定期修剪已经不再增值的 skills。模型会进步。不修剪的上下文是债务。
规格结对,和设计法定人数。实现可以交给舰队。意图、测试和验收标准必须有人在场。
按风险分层的自治,以及把 Agent 生成的代码即使在内网也当不信任。绿 / 黄 / 红不是官僚,是爆炸半径的语言。
能讲到董事会、并且经过核对的具体故事。安全事件、token 休克、八百万对一亿的范围收束,比「我们用了 AI」更像决策材料。
故意慢下来的时刻。不是处处慢。是在意图、边界、验收和学徒制这些地方,慢得看得见。
Fowler 一生都在做同一类工作:给已经发生、但还没有名字的实践一个准确的名字,让行业可以讨论它,而不是只被它卷着走。Beck 一生都在提醒另一面:反馈、简单、沟通、勇气,这些「软」的东西其实是唯一硬的约束。两场闭门会并排放在一起,像是这两个人的工作在 2026 年被重新计价。
生成会继续变便宜。模型会继续商品化。分会主题会继续六个月换一茬。这些都不是未来。未来是:工程住在新的房间里了,而许多组织还在旧房间里加椅子。
新房间里,最高价值不在谁先把代码倒出来。它在谁仔细保管意图,谁接受结果的责任,谁还保得住让系统活得久的品味和小心。
我们不该害怕在最要紧的地方,故意慢下来。