
最近读了 Claude Code 团队工程师 Thariq 的一篇文章,感触很深。
他在讲他们的新模型 Fable 5,但我读完觉得,这不仅仅是关于模型的说明书,更是关于“人类如何在 AI 时代保持掌控力”的教科书。
文章里反复提到一句话:“地图不是疆域”(The map is not the territory)。
这句话乍听平平无奇,但结合现在的 AI 编程现状,简直振聋发聩。
01. 你在打“固定地图”,AI 在打“星际争霸”
我们以前写代码,或者说用老一代 AI 写代码,像是在打《星际争霸》里的“战役模式”。
地图是固定的,敌人出生点在哪,路怎么走,背下来就行。你只要 Prompt 写得细,AI 就像个听话的农民,按图索骥。
但 Thariq 说,现在的 Fable 这种级别的 Agent(智能体),玩法变了。
真实的开发场景,根本不是固定地图,而是动态的“对战模式”。
- 疆域(Territory)
是真实的代码库、复杂的业务逻辑、随时变动的需求。 - 地图(Map)
是你脑子里的理解、你写的 Prompt、你给的上下文。
最大的问题是:地图永远小于疆域,而且开过的图还会过期。
就像打星际,你派农民出去探路,点亮了一片黑幕,你觉得你懂这块地形了。结果两分钟没看,那片区域又被战争迷雾遮住了(因为代码被同事改了,或者需求变了)。
一旦 AI 拿着一张过期的地图,进入一个全新的疆域,它就会开始“瞎猜”。而 Fable 越强,它猜得越自信,翻车翻得越离谱。
所以,瓶颈不再是模型不够聪明,而是你“把未知数讲清楚”的能力。
02. 四类“未知”,决定了你的代码上限
Thariq 把我们在编程中遇到的认知盲区分成了四类,非常精妙:
- 已知的已知
你写在文档里的,明确告诉 AI 的。 - 已知的未知
你知道自己不懂,比如“这个 Auth 模块我没看过”。 - 未知的已知
你心里有数,但懒得写出来的标准(比如“这个 UI 我看一眼就知道丑不丑”)。 - 未知的未知
你连自己不知道都不知道的深坑。
所谓的 Vibe Coding(氛围编程)之所以过时,就是因为只解决了 1,忽略了 2、3、4。
真正的 Agentic Coder(智能体程序员),核心技能不是打字快,而是“侦察”——不断地把 2、3、4 转化成 1。
03. 实战心法:如何低成本“开图”?
既然知道了问题在哪,Thariq 给了一套非常落地的“开图”SOP(标准作业程序):
第一步:盲区扫描(Blind Spot Pass)
别急着写代码。直接跟 AI 说:“我对这个模块完全不熟,帮我做一次盲区扫描。” 让它帮你把“未知未知”挖出来。
第二步:原型与访谈
遇到“未知已知”(比如视觉设计、交互体验),别用嘴描述,用 HTML 画出来。让 AI 出 3-4 个方案让你挑。
甚至,让 AI 反过来面试你,一次问一个问题,直到把模糊的需求磨清楚。
第三步:给参考,别给空话
如果你说不清,就给代码。直接把 AI 指向下载好的开源库,或者某个网站的源码。让 AI 去读结构,而不是读你的自然语言。
第四步:实施笔记(Implementation Notes)
这是最绝的一招。让 AI 在干活时维护一个implementation-notes.md。遇到边缘情况被迫改方案?记下来。
这不仅是给 AI 看的,更是给你自己看的“反战争迷雾日志”。
第五步:测验(Quiz)
代码写完了,别只看 Diff(差异)。让 AI 给你出一份考卷,考考你改动了哪些逻辑。只有你全答对了,才能 Merge(合并)。
04. 写在最后
Thariq 用 Fable 剪视频的例子特别打动我。
他不懂调色,一开始让 AI 出方案挑,后来发现不行——因为他连“什么是好调色”的标准都没有(这是未知未知)。
于是他退回来,让 AI教他调色知识,先把人的认知补上去,再去指挥 AI 干活。
这才是未来的协作模式:
AI 负责在疆域里狂奔,人类负责在后方不断更新地图。
下一次当你觉得 AI 写出来的代码不对劲时,先别骂模型,问问自己:
是不是我的地图,已经跟不上真实的疆域了?
推荐阅读
[Anthropic内部人员撰写!Fable 5使用硬核指南:搞定未知盲区,AI 编程效率直接起飞]
[Claude Code团队工程师的 Fable 5 的实战指南]
[https://x.com/trq212/status/2073100352921215386]
夜雨聆风