Evals 是新的 PRD

Evals Are the New PRD

上个月,我们团队一位产品经理花了两周写了一份 40 页的 PRD,描述一个智能审批 Agent 的需求。用户故事、流程图、异常分支、验收标准,写得滴水不漏。

她把 PRD 丢给 Coding Agent,说:「按这个做。」

三天后 Agent 交付了。代码能跑,测试通过,接口对齐。但她试了五分钟就皱眉:「这不是我要的东西。」

哪里不对?她说不清。审批流程是对的,权限校验是对的,消息通知是对的。但 Agent 处理「领导已读不回超过 48 小时」的策略,不是她脑子里想的那个。PRD 里写的是「超时后自动提醒」,Agent 就老老实实给所有超时审批发了一轮提醒——包括那些「领导出差没看手机」的非紧急件。她真正想要的是「先判断这条审批是否紧急,紧急的才提醒,不紧急的等下次汇总」。

这个判断,她没写进 PRD。因为她觉得这是「常识」。

Agent 没有常识。Agent 只有你给它的判据。

Evals Are the New PRD

[Read More]

企业最有价值的 AI 训练数据,不是内容,是隐性知识

Intelligence Exhaust: The Data Asset Enterprises Must Protect

太平洋汽车的内容被豆包、千问和 DeepSeek 引用之后,合计触达了 1237 万用户。

这个数字是太平洋汽车 App 自有流量的 113.8 倍

一百一十三倍。超过一百倍的用户通过 AI 平台「消费」了太平洋汽车的内容——他们在豆包的聊天窗口里问了一个关于买车的问题,豆包引用太平洋汽车的评测给出了答案,用户满意地关掉了对话。

然后呢? 太平洋汽车什么都没得到。 没有访问,没有注册,没有广告展示,没有用户画像。内容被吃干抹净,连渣都没剩。

这个故事来自极客公园上周的一篇报道,讲的是 AI 时代互联网流量的大崩塌。但让我想了很久的不是流量问题——而是一个更底层的问题:

如果内容本身不是最有价值的资产,那什么才是?

Intelligence Exhaust: The Data Asset Enterprises Must Protect

[Read More]

私有 Eval 是终极护城河

Private Evals Are the Ultimate Moat

上个月和一位做 HR SaaS 的朋友吃饭。他刚花了两百万买了一批行业测评数据,准备训练自己的垂直模型。

我问他:「竞品如果也买同样的数据呢?」

他愣了一下:「那……我们还有先发优势。」

「先发多少?」

「大概……半年?」

半年。这就是原始数据作为护城河的保质期。

三个月前,我写了一篇 中国 SaaS 厂商的护城河应该怎么建,核心公式是:

护城河 = 垂直行业数据资产 × 行业 Know-How × 客户成功体系 × 生态协同

那篇文章里,我把「数据壁垒」放在七大维度的第一位,画了一个数据飞轮:客户使用 → 数据沉淀 → 模型训练 → 更精准的服务 → 更多客户使用。

三个月后,我要修正自己。

飞轮里转的不是数据,是 eval。

Private Evals Are the Ultimate Moat

[Read More]

模型迭代越快,架构越重要

The Faster the Model Evolves, the More Architecture Matters

上个月一个团队找我聊数字员工落地。

他们已经有 12 个 agent 在跑了。销售助手、客服助手、HR 问答、会议纪要……每个都是独立项目,独立部署,独立维护。

CTO 说:「我们想扩到 200 个。」

我问:「现在 12 个的权限怎么管的?」

他愣了一下:「每个 agent 一个 API key,配在环境变量里。」

「记忆呢?A 部门的 agent 会不会读到 B 部门的会议纪要?」

「……应该不会吧。」

「两个 agent 对同一件事判断冲突了,谁说了算?」

沉默。

12 个靠人盯,200 个靠什么?

而且这 12 个跑在半年前的模型上。模型半年一换代,agent 策略周级迭代——你还没把 12 个理顺,底座已经换了。这不是「多部署几个」的问题。这是架构问题。

Architecture Decides the Battle Before It Starts

[Read More]

钉钉的护城河不是更好用的 App,是组织世界的信任基础设施

DingTalk's Moat Is Trust Infrastructure, Not a Better App

前两天看到一篇文章,标题很刺激:「飞书被收编,钉钉要改名,企业微信慌不慌?」

核心论证链很锋利:互联网办公平台第一次降维打击了传统企业软件,然后 AI Agent 第二次降维打击了超级 App。结论是 To B 软件只剩两种位置——要么成为入口,要么成为入口背后绕不开的系统。

写得很好。但我读完之后一直在想一个问题: 他说的「绕不开的系统」,对钉钉来说到底意味着什么?

不是「钉钉也能活下来」这种防御性思考。而是:如果钉钉主动选择,它应该把资源押在哪里?

DingTalk’s Moat Is Trust Infrastructure, Not a Better App

[Read More]

一句话总结,压缩即智能

One Sentence Before You Hit Send

昨天一个同事在群里甩了一个 HTML 文件。打开一看,漂亮极了——渐变色的表头、响应式布局、数据可视化图表、三段式结论。AI 生成的,三秒钟的事。

群里安静了十分钟。

然后有人问了一句:「所以……结论是什么?」

又过了五分钟,发文件的人回了一句:「我也没细看,AI 生成的,大家自己看吧。」

这十分钟的沉默,就是 AI 时代最贵的成本。

One Sentence Before You Hit Send

[Read More]

你的下一个下属,不需要工位

Your Next Report Does Not Need a Desk

上个月一个客户请我们做数字员工。

老板看完 demo,很兴奋。大模型能写邮件、做总结、回答制度问题,他觉得万事俱备。

「给销售、采购、客服各配一个数字员工,下个月上岗。」

工程师于是创建了几个角色,写了几段提示词,把聊天窗口换成了公司 Logo。

数字员工似乎就诞生了。

星期一早上,销售总监问它:「今天该先跟哪个客户?」它不知道。采购问它:「这批货该不该拒收?」它不知道。客服问它:「这个投诉要不要升级?」它也不知道。

老板很失望:「不是说好什么都会吗?」

什么都会。这四个字,是数字员工项目最常见的死因。

Your Next Report Does Not Need a Desk

[Read More]

克制是文明最贵的表达

Restraint Is the Most Expensive Expression of Civilization

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

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

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

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

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

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

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

Restraint Is the Most Expensive Expression of Civilization

[Read More]

用一张钉钉表格,统一管理所有 Agent 的定时任务

One DingTalk Table to Rule All Agent Cron Jobs

一个越来越具体的烦恼

给 AI Agent 排定时任务,正在变成一件新的麻烦事。

最早我们写 cron,后来写脚本,再后来各种 Agent 框架自带调度器。结果是:定时配置散落在 crontab、launchd、代码常量、框架配置文件里,改一个执行时间要翻好几个地方;想知道「现在到底有哪些任务在跑、几点跑、跑完发到哪」,没有任何一个地方能一眼看全。

任务本身其实很简单——「每天下午一点,去小红书搜几个关键词,各出一份报告」。难的不是执行,而是管理:谁来记、谁来改、谁来排查。

One DingTalk Table to Rule All Agent Cron Jobs

[Read More]

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

Where Engineering Taste Lives When AI Writes the Code

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

我说没关系,打开看看。

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

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

品味住在哪里

[Read More]