AI 干完了 8 成的活,我才发现需求提错了

AI Did 80% of the Work — Then I Found Out My Spec Was Wrong

一个 Bot 用三个多小时给我交了 676 行代码,我花二十分钟合并上线。

当晚我用手机打开自己的博客,按下搜索——白屏,等了几秒才出结果。

跟改之前一模一样。

它没写错任何一行代码。测试清单五条,条条跑通。架构选择比我自己能想出来的更干净。但我想要的那个「快」,它一点没解决——因为我从来没说清,我要的是哪个「快」。

AI Did 80% of the Work, Then I Found Out My Spec Was Wrong

[Read More]

GitHub 最值钱的资产,是被丢掉的代码:观测层之争已经打响了

GitHub's Most Valuable Asset Is the Code It Threw Away

2022 年 3 月 10 日,我写了一篇 Google Analytics 4 简介,从事件跟踪讲到导出 BigQuery,写得挺认真。

那篇文章发表前两个月,奥地利数据保护局裁定 Google Analytics 违反 GDPR;发表前一个月,法国 CNIL 跟上。我当时知道这件事,但没当回事——一个免费工具被欧洲监管盯上,离一个中国工程师的日常太远了。

四年多以后回头看,那两个月恰好是一个分水岭:一个平台用免费换来了整个互联网的行为观测层,然后看着这个观测层被主权一刀一刀切掉。 我今天要写的是另一件事,但它是同一个剧本的第二幕——只不过这一幕的主角换成了代码,而幕布在 2026 年 4 月 24 日已经拉开。

那天 GitHub 改了一个开关的默认值。

GitHub’s Most Valuable Asset Is the Code It Threw Away

[Read More]

制造业选中的 AI,运行时没有大模型

The AI Manufacturing Actually Chose Has No LLM at Runtime

三个月前,一个做汽车零部件的朋友跟我吐槽:他们花大半年选的「国内最好的大模型」,搭了三个月的质检 Agent,上线两周被业务部门集体退货。我在 AI to B 的最后一公里 里记下了他那句话:「我们的 AI 项目,死在了数据治理和系统对接上——这两件事,跟模型半毛钱关系都没有。」

那是一次个案级的抱怨。今天,我看到了一份系统级的判决书。

公众号 REIVAX.io 发了一篇文章:《AI 落地传统企业:赋能个人、接管流程,还是造工具?》。作者自述在传统制造企业做数字化,把 AI 进入企业生产链条的方式分成三种模式,然后逐一裁决哪种能落地。这是我少见的 需求侧第一人称 的 AI 落地分析——不是厂商写的,不是咨询顾问写的,是那个要为项目成败负责的人写的。

判决结果出乎很多人意料:制造业用脚投票选中的那个模式,业务流程运行时没有大模型

The AI Manufacturing Actually Chose Has No LLM at Runtime

[Read More]

如何判断你的团队真的工程 AI 化了:六条验收标准

Six Acceptance Criteria for a Truly AI-Native Engineering Team

上周我在准备和团队 9 月初的一次对焦,主题是工程 AI 化。

预对齐时有人说:「我们 AI 用得挺好的——一半的 PR 是 AI 写的,Copilot 全员开通,还有人用 Claude Code 重构了老模块。」

我问了一个问题:「那挑一个 5 人天的真实需求,从提 Issue 到验收关闭,让 AI 端到端跑一遍给我看。」

会议室安静了几秒。安静不是因为没用过 AI,而是因为这条链路从来没有人完整走通过。AI 写过代码的片段,但片段之后是谁在收尾,说不清楚。

这个安静就是分界线:AI 写过代码,不等于工程 AI 化

Six Acceptance Criteria for a Truly AI-Native Engineering Team

[Read More]

软件工厂 3.0:从卖人月到卖模具

Software Factory 3.0 — From Selling Person-Months to Selling Molds

一个做外包的朋友上个月跟我抱怨:客户现在拿 AI 写的代码来压价。「你们报 30 人月,客户自己用 Claude Code 一周出了个 demo,问你们凭什么值这个钱。」

我问他:那个 demo 上线了吗?

他说没有。客户自己人测了一周,测出一堆问题,又回来找他们修。

我说:那你应该换个报价方式。不报人月,报模具费。

他没听懂。这就是这篇文章要讲的事。

Software Factory 3.0 — From Selling Person-Months to Selling Molds

[Read More]

老板 AI 量的不是工程师,是老板自己的品味

What Boss AI Really Measures Is Your Taste, Not Your Engineers

李开复在他的新书《AI 未来已来》里讲了一件微软旧事。

2000 年他升任微软全球副总裁,后来才知道,在他毫不知情的时候,总部一年一度的人才盘点已经把他摆上了桌面——比尔·盖茨和鲍尔默认为他最适合出任一个新事业部的副总裁。他第一次意识到:在这家公司,顶尖人才的去向不是哪个部门领导的家务事,而是最高层亲自过问的大事。

更让他震撼的是制度本身:微软每年把最顶尖的 1% 员工挑出来,不论资历,只看潜力。首席人力资源官告诉他,鲍尔默睡前的功课之一,就是几十份几十份地翻看这些人的资料,确保他们的奖励到位、能感受到最高层的关注。鲍尔默对副总裁们说过一句狠话:

排在前 1% 的人,不属于你们,属于我。我要知道他们都是谁——公司有需求时,我有权随时调动他们。

这是 30 年前的管理智慧:顶尖人才,必须由一号位亲自盯。

但注意它的实现方式——靠鲍尔默的意志力,靠 HR 一年一次的名单。一年一次,几十个人。这已经是人力注意力的极限。而一家几千人的公司里,真正的顶尖人才远不止名单上那几十个人。

李开复写道:2025 年,他在零一万物把这件事重新做了一遍。这一次,用的是「老板 AI」。

What Boss AI Really Measures Is Your Taste, Not Your Engineers

[Read More]

克制是文明最贵的表达

Restraint Is the Most Expensive Expression of Civilization

人的放纵是本能,自律才是修行。短时间让你快乐的东西,一定能够让你感到痛苦;反之,那些让你痛苦的东西,最终都能让你功成名就。低级的欲望,放纵即可获得;高级的欲望,只有克制才能达到。

——一段常被归于罗素的话

上周一个工程师跟我说:「我让 AI 写了一个模块,它给我吐了四万行代码。我看了两天,删了三万行。」

我问他:删的时候什么感受?

他说:「心疼。每一行看起来都有道理。但我知道如果留着,这个模块就死了。」

同一天晚上,我女儿问我一道数学题。她卡在第二步。我张嘴就要说「你试试把等式两边同时除以——」,话到嘴边咽回去了。我说:「你再看看题目里哪个条件你还没用上。」她想了四十秒,自己做了出来。

两件事。一个是删代码,一个是忍住不说。本质一样: 你有能力做,你选择不做。

Restraint Is the Most Expensive Expression of Civilization

[Read More]

代码是 AI 写的了,品味住在哪里

Where Engineering Taste Lives When AI Writes the Code

上个月面试一个候选人。他带了一个 GitHub 项目,说「大部分代码是 AI 写的」。

我说没关系,打开看看。

代码确实漂亮。命名规范,类型标注完整,docstring 齐全,错误处理滴水不漏。如果这是三年前,我会觉得这是一个高级工程师的作品。但现在我知道,这些是任何一个会用 Cursor 的人都能产出的。AI 的默认输出就是 80 分——格式正确、风格一致、看起来专业。

我真正想看的东西,不在代码里。

品味住在哪里

[Read More]

好的 Runtime 不挑模型

A Good Runtime Does Not Care Which Model Wrote the Code

上个月我们团队换了一次 agent loop。从 Claude Code 切到 OpenCode。

切换本身很轻——prompt 改改,工作流调调,两天上手。切完第三天,周一早上打开 dashboard,CI 全绿。我松了口气,泡了杯咖啡,随手点开一条 PR 的 review 记录。

空的。

再点开一条。还是空的。咖啡没喝完就放下了。

不是代码质量出了问题。是 pipeline 里有一条规则:检测注释里的 // Generated by Claude Code 标记,命中就触发额外的 AI 代码 review 流程。OpenCode 不打这个标记。于是这条规则永远不触发,review 流程形同虚设。CI 是绿的,但绿得没有意义。

一条规则,把整个团队锁死在一个工具上。不是我们选择了 Claude Code,是基础设施绑架了我们。

我在 代码是 AI 写的了,品味住在哪里 里说,品味从代码搬到了工程系统——CI pipeline、release 节奏、事故响应。但那篇文章用的词是「harness」,而且只讨论了 harness 和 agent loop 的关系。

三个月后我意识到,那个框架已经不够用了。

2026 年的前沿 Agent 系统,不再是「一个模型 + 一个循环」的结构。它是 Foundation Model、Agent Policy、Runtime 三层的协同设计。品味不住在任何一层里,它住在三层之间的契约里。

A Good Runtime Does Not Care Which Model Wrote the Code

[Read More]

三步上线一个数字员工:开源脚手架背后的交付范式

From Harness Theory to an Open-Source Scaffold Anyone Can Fork

上周一个 FDE 跟我说:「我在客户现场搭一个群聊数字员工,从建账号到调通花了两天。其中一天半在处理断线重连、图片下载、消息去重这些脏活。」

我给他看了 dingtalk-opencode-tag:下载 opencode + 装 dws + 钉钉扫码授权,三步上线。跑在免费模型上,起步成本为零。

他试了一下,十分钟就通了。然后说了一句让我印象很深的话:「这不只是一个脚手架,这是一种交付范式。」

他说得对。这个项目的意义不在于它做了什么——文本对话、图片识别、文件解读,这些功能谁都能写。意义在于它 把生产环境的脏活封装成了可复制的 Harness,让数字员工的上线门槛从「一周的工程工作」降低到「三分钟的配置」。

[Read More]