一个 Bot 用三个多小时给我交了 676 行代码,我花二十分钟合并上线。
当晚我用手机打开自己的博客,按下搜索——白屏,等了几秒才出结果。
跟改之前一模一样。
它没写错任何一行代码。测试清单五条,条条跑通。架构选择比我自己能想出来的更干净。但我想要的那个「快」,它一点没解决——因为我从来没说清,我要的是哪个「快」。
[Read More]一个 Bot 用三个多小时给我交了 676 行代码,我花二十分钟合并上线。
当晚我用手机打开自己的博客,按下搜索——白屏,等了几秒才出结果。
跟改之前一模一样。
它没写错任何一行代码。测试清单五条,条条跑通。架构选择比我自己能想出来的更干净。但我想要的那个「快」,它一点没解决——因为我从来没说清,我要的是哪个「快」。
[Read More]2022 年 3 月 10 日,我写了一篇 Google Analytics 4 简介,从事件跟踪讲到导出 BigQuery,写得挺认真。
那篇文章发表前两个月,奥地利数据保护局裁定 Google Analytics 违反 GDPR;发表前一个月,法国 CNIL 跟上。我当时知道这件事,但没当回事——一个免费工具被欧洲监管盯上,离一个中国工程师的日常太远了。
四年多以后回头看,那两个月恰好是一个分水岭:一个平台用免费换来了整个互联网的行为观测层,然后看着这个观测层被主权一刀一刀切掉。 我今天要写的是另一件事,但它是同一个剧本的第二幕——只不过这一幕的主角换成了代码,而幕布在 2026 年 4 月 24 日已经拉开。
那天 GitHub 改了一个开关的默认值。
[Read More]三个月前,一个做汽车零部件的朋友跟我吐槽:他们花大半年选的「国内最好的大模型」,搭了三个月的质检 Agent,上线两周被业务部门集体退货。我在 AI to B 的最后一公里 里记下了他那句话:「我们的 AI 项目,死在了数据治理和系统对接上——这两件事,跟模型半毛钱关系都没有。」
那是一次个案级的抱怨。今天,我看到了一份系统级的判决书。
公众号 REIVAX.io 发了一篇文章:《AI 落地传统企业:赋能个人、接管流程,还是造工具?》。作者自述在传统制造企业做数字化,把 AI 进入企业生产链条的方式分成三种模式,然后逐一裁决哪种能落地。这是我少见的 需求侧第一人称 的 AI 落地分析——不是厂商写的,不是咨询顾问写的,是那个要为项目成败负责的人写的。
判决结果出乎很多人意料:制造业用脚投票选中的那个模式,业务流程运行时没有大模型。
[Read More]上周我在准备和团队 9 月初的一次对焦,主题是工程 AI 化。
预对齐时有人说:「我们 AI 用得挺好的——一半的 PR 是 AI 写的,Copilot 全员开通,还有人用 Claude Code 重构了老模块。」
我问了一个问题:「那挑一个 5 人天的真实需求,从提 Issue 到验收关闭,让 AI 端到端跑一遍给我看。」
会议室安静了几秒。安静不是因为没用过 AI,而是因为这条链路从来没有人完整走通过。AI 写过代码的片段,但片段之后是谁在收尾,说不清楚。
这个安静就是分界线:AI 写过代码,不等于工程 AI 化。
[Read More]一个做外包的朋友上个月跟我抱怨:客户现在拿 AI 写的代码来压价。「你们报 30 人月,客户自己用 Claude Code 一周出了个 demo,问你们凭什么值这个钱。」
我问他:那个 demo 上线了吗?
他说没有。客户自己人测了一周,测出一堆问题,又回来找他们修。
我说:那你应该换个报价方式。不报人月,报模具费。
他没听懂。这就是这篇文章要讲的事。
[Read More]李开复在他的新书《AI 未来已来》里讲了一件微软旧事。
2000 年他升任微软全球副总裁,后来才知道,在他毫不知情的时候,总部一年一度的人才盘点已经把他摆上了桌面——比尔·盖茨和鲍尔默认为他最适合出任一个新事业部的副总裁。他第一次意识到:在这家公司,顶尖人才的去向不是哪个部门领导的家务事,而是最高层亲自过问的大事。
更让他震撼的是制度本身:微软每年把最顶尖的 1% 员工挑出来,不论资历,只看潜力。首席人力资源官告诉他,鲍尔默睡前的功课之一,就是几十份几十份地翻看这些人的资料,确保他们的奖励到位、能感受到最高层的关注。鲍尔默对副总裁们说过一句狠话:
排在前 1% 的人,不属于你们,属于我。我要知道他们都是谁——公司有需求时,我有权随时调动他们。
这是 30 年前的管理智慧:顶尖人才,必须由一号位亲自盯。
但注意它的实现方式——靠鲍尔默的意志力,靠 HR 一年一次的名单。一年一次,几十个人。这已经是人力注意力的极限。而一家几千人的公司里,真正的顶尖人才远不止名单上那几十个人。
李开复写道:2025 年,他在零一万物把这件事重新做了一遍。这一次,用的是「老板 AI」。
[Read More]人的放纵是本能,自律才是修行。短时间让你快乐的东西,一定能够让你感到痛苦;反之,那些让你痛苦的东西,最终都能让你功成名就。低级的欲望,放纵即可获得;高级的欲望,只有克制才能达到。
——一段常被归于罗素的话
上周一个工程师跟我说:「我让 AI 写了一个模块,它给我吐了四万行代码。我看了两天,删了三万行。」
我问他:删的时候什么感受?
他说:「心疼。每一行看起来都有道理。但我知道如果留着,这个模块就死了。」
同一天晚上,我女儿问我一道数学题。她卡在第二步。我张嘴就要说「你试试把等式两边同时除以——」,话到嘴边咽回去了。我说:「你再看看题目里哪个条件你还没用上。」她想了四十秒,自己做了出来。
两件事。一个是删代码,一个是忍住不说。本质一样: 你有能力做,你选择不做。
[Read More]上个月面试一个候选人。他带了一个 GitHub 项目,说「大部分代码是 AI 写的」。
我说没关系,打开看看。
代码确实漂亮。命名规范,类型标注完整,docstring 齐全,错误处理滴水不漏。如果这是三年前,我会觉得这是一个高级工程师的作品。但现在我知道,这些是任何一个会用 Cursor 的人都能产出的。AI 的默认输出就是 80 分——格式正确、风格一致、看起来专业。
我真正想看的东西,不在代码里。
[Read More]上个月我们团队换了一次 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 三层的协同设计。品味不住在任何一层里,它住在三层之间的契约里。
[Read More]上周一个 FDE 跟我说:「我在客户现场搭一个群聊数字员工,从建账号到调通花了两天。其中一天半在处理断线重连、图片下载、消息去重这些脏活。」
我给他看了 dingtalk-opencode-tag:下载 opencode + 装 dws + 钉钉扫码授权,三步上线。跑在免费模型上,起步成本为零。
他试了一下,十分钟就通了。然后说了一句让我印象很深的话:「这不只是一个脚手架,这是一种交付范式。」
他说得对。这个项目的意义不在于它做了什么——文本对话、图片识别、文件解读,这些功能谁都能写。意义在于它 把生产环境的脏活封装成了可复制的 Harness,让数字员工的上线门槛从「一周的工程工作」降低到「三分钟的配置」。
[Read More]