以下文章来自微信公众号“觉学社”,作者张汉东,发表于 2026 年 3 月。

我基于 智能体软件工程  #4 | 当 Agent 写完代码,谁来说「可以合并」?这篇文章里开源的 agent-spec ,让 claude code 直接生成了这个视频(见视频号“觉空间”)。做这个没有用任何 skill。

这从侧面印证了我的一个看法:LLM 的能力瓶颈已经从供给侧转移到了需求侧。

当前的核心问题不是"模型能不能做到",而是"人类能不能把需求表达为可执行的契约"。

但问题是:能准确描述清楚需求本身的成本是极其昂贵的。

能准确表达需求的人,往往已经有能力自己解决大部分问题了。 这是一个 spec 驱动范式的内在张力。

就拿视频内容来说,对于一个 Rust 初学者来说,他恰恰是因为不理解生命周期才来找 LLM 的,他写不出这个 spec,更不可能生成这个视频。

这个矛盾的结构是:你必须已经理解一个东西,才能精确地要求 AI 帮你处理它。 但你来找 AI,恰恰是因为你还不理解。

这是认识论里一个古老的悖论。柏拉图在《美诺篇》里就问过:你怎么能去寻找你不知道的东西?如果你不知道它是什么,你怎么知道你找到了?

方法不是"一步到位地写出完美 spec",而是中介。

一个 Rust 初学者不会写那个 spec。但他可能会说"我不理解为什么编译器总是报 does not live long enough"。

一个有经验的 Rust 开发者听到这句话,就知道他需要的是生命周期的心智模型,而不是 Rust Reference 里的形式化定义。这个开发者能把初学者的困惑翻译成精确的教学 spec。

所以,这里存在一个人类的机会:在"不知道自己要什么的人"和"能做任何事但需要精确指令的 AI"之间,存在一个巨大的翻译市场。

能做这个翻译的人,能听懂模糊的人类困惑,然后转化为可执行的 AI 指令的人,在 LLM 时代反而变得更值钱了,而不是更没用了。

但这只是表面。

其实初学者和 AI 的第一次模糊的交互本身就是 spec 的发现过程。

他可能一开始就知道要什么的,他可以通过看到 AI 产出了什么,才逐步清晰了自己的需求。

LLM 在这里不只是执行者,它同时也是需求的催化剂,它给初学者一个初始输出,然后他从中识别出"哦,原来我真正想要的是这个方向"。

这意味着那个矛盾不是不可解的,它可以通过迭代来化解。Rust 初学者说"我不懂生命周期",LLM 给出一个初级解释,初学者说"等等,你说的 scope 是什么意思",LLM 发现真正的卡点在作用域概念,于是调整方向。

三轮之后,LLM 其实已经在内部构建了一个隐式 spec,不是用户写的,而是从对话中涌现的。

所以真正的矛盾不是"用户写不出 spec",而是"当前的交互范式假设 spec 必须在执行之前就写好"。

我发现,我的 agent-spec 项目其实已经在挑战这个假设了。BDD 的 Given-When-Then 格式暗示了一个线性的 spec→execute→verify 流程。

但如果 spec 本身是在执行过程中被发现的呢?这更接近一个对话式的契约协商,不是"你告诉 AI 要什么我来做",而是"你和 AI 一起搞清楚你要什么"。

所以回到前面说的,"人类的机会",这个机会当前是存在的,但这个机会有一个有效期。短期内(3-5年),中长期这个过程会被自动化。因为模型会越来越擅长从模糊输入中主动探测和收敛需求。

但有一个东西不会被自动化:判断什么值得做。 Rust 初学者不知道自己需要一个 scope bar 的可视化,而我知道。

这不是因为我 Rust 比他好,而是因为我有教学直觉。

我知道什么样的心智模型能让人"啊哈"。这种判断不是从 spec 中推导出来的,它先于 spec 存在。

这才是最持久的人类机会:不是写 spec 的能力,而是知道什么 spec 值得写的判断力。

Logo

开放原子旋武开源社区(简称“旋武社区”)是由开放原子开源基金会孵化及运营的技术社区,致力于在中国推广和发展Rust编程语言生态,推动Rust在操作系统、终端设备、安全技术、基础软件等关键领域的产业落地,构建安全、可靠、高效的软件基础设施。

更多推荐