Clipping 微信公众号

Claude 工程师的实战工作流:8 个方法挖出你的盲区,解除模型封印

by 九皋山人 原文 ↗
Created: 2026-07-04

公众号名称:AI 方寸山

作者名称:九皋山人

发布时间:2026-07-04 23:44

Fable 5 出来之后,大家都在想办法压榨它的能力。但不少人的真实处境是,明知道它强,手上的活却总感觉没让它使出全力。这篇文章把根源指得很直接,真正的瓶颈是你没交代清楚的「未知」。本文译写自 Anthropic 工程师 @trq212 的《A Field Guide to Fable: Finding Your Unknowns》。

和 Claude Fable 5 一起干活这段时间,有个老道理被反复摁在我脸上:地图不等于疆域。

地图,就是我交给 Claude 的东西。prompt、skill、上下文,是对「要做什么」的一份描述。疆域是活儿真正发生的地方,代码库、真实世界、各种实际约束。

地图和疆域之间的差距,我管它叫「未知」(unknowns)。Claude 撞上一个未知时,只能按它对「我想要什么」的最佳猜测做决定。干的活越多,撞上的未知就越多。

Fable 是第一个让我觉得瓶颈挪到我自己身上的模型。活干得好不好,取决于我能把多少未知提前讲清楚。

而且光靠事前规划不够。有些未知要挖到实现深处才冒出来,还有些未知会直接告诉你,这个问题也许该换个思路解。

所以我和 Fable 的协作变成了一个循环:实现之前、实现之中、实现之后,不停地找自己的未知。

我做了一些找未知的示例 artifacts[https://thariqs.github.io/html-effectiveness/unknowns/\],不过建议先读完这篇,建立「什么时候用哪个」的直觉再去翻。

先搞清自己的未知

我的未知有哪些?带着问题找 Claude 之前,我习惯拆成四类:

  • 已知的已知

    :prompt 里写的那些。我明确告诉 agent 我要什么。

  • 已知的未知

    :我清楚自己还没想明白的部分。

  • 未知的已知

    :显而易见到我根本不会写下来,但一看到就能认出来的东西。

  • 未知的未知

    :我压根没考虑过的是什么?我缺了哪块知识而不自知?这件事能好到什么程度,我心里有数吗?

顶尖的 agentic coder 身上未知都很少。看Boris[https://www.linkedin.com/in/bcherny\] 或者Jarred[https://www.linkedin.com/in/jarred-sumner-a8772425\] 写 prompt,你能明显感觉到他们对自己要什么门儿清,跟代码库和模型行为都咬得很紧。

但他们也会给未知留位置。某种程度上,减少未知、为未知做预案,就是 agentic coding 这门手艺本身。好消息是这手艺能练,就在和 Claude 干活的过程中练。

想让 Claude 帮你,先帮它一把

给 Claude 下指令,分寸很难拿。写太细,它会死守你的指令,哪怕中途转向明明更合适。写太虚,它会按行业通行的做法自己拿主意,而那套做法未必适合你手头这个活。

不管自己的未知,两头都会栽。你不知道哪段路上全是坑,也不知道哪段路其实一马平川、你却希望 Claude 中途拐个弯。

Claude 能帮你更快挖出未知。它搜代码库和互联网的速度远超你,多数话题懂得也比你多,从失败里爬起来迭代的速度也快。

这个过程里最要紧的一步,是把你的起点交代给它。你想到哪一步了,对这个问题、这个代码库有多少经验,都摊开说,让它像个思考搭子一样跟你一起干。

我之前写过用 HTML 跟 Claude 协作[https://x.com/trq212/status/2052809885763747935\]的文章。下面这些场景里,HTML artifact 几乎都是最好的可视化载体。

这篇文章讲的就是我挖未知常用的几个套路。不是每次全用,但揣在兜里很踏实。

实现之前

盲区扫描(Blind Spot Pass)

动手之前,最值钱的动作之一是搞清自己的盲区。比如你要在代码库的陌生角落加功能,或者让 Claude 带你干不熟的活(比如迭代一版设计稿),这时候你身上挂满了未知的未知。

该问什么问题、「好」长什么样、前人做过什么、哪里有坑,可能一个都答不上来。

这时候直接让 Claude 帮你找未知的未知,并且讲给你听。我习惯在 prompt 里原样用「盲区扫描」「未知的未知」这两个词。把你是谁、你懂什么交代清楚,通常很关键。

示例 prompt:

  • 「我要加一个新的 auth provider,但这个代码库的 auth 模块我完全没碰过。帮我做个盲区扫描,找出相关的未知的未知,好让我把 prompt 写得更好。」

  • 「我不懂什么是调色(color grading),但我得给这条视频调色。教我搞懂调色这件事里我的未知的未知,让我能更好地提需求。」

头脑风暴和原型

手头的活如果堆满了未知的已知,也就是那种「说不出标准、见了才认得」的判断,我会拉着 Claude 一起头脑风暴、做原型。

趁原型阶段把未知的已知挖出来、说出口,非常划算。拖到实现阶段才发现,代价就(相对)贵了。spec 里一个小改动,落到代码里可能是天差地别的实现,而让 agent 回滚之前的改动往往更费劲。

比方说你只想看看某个按钮放在页面上什么样,犯不着为此接一条后端路由、在前端多维护一份状态。

视觉设计对我来说就是典型场景。嘴上说不清,看到就知道要不要。这种时候我会让它对着一个 artifact 出好几版设计方向。

另外我几乎每次写代码都从探索或头脑风暴开场,这让我一上来就带着意图圈定项目范围。Claude 经常翻出我自己想不到的高价值方案,偶尔也会一头扎进细节看不见全局。头脑风暴能防止我把范围圈得太窄或太宽。

示例 prompt:

  • 「我想给这份数据做个仪表盘,但我没什么视觉品味,也不知道能做成什么样。给我一个 HTML 页面,放 4 个风格差异巨大的设计方向,我来挑。」

  • 「先别接任何东西。用一个 HTML 文件把新的编辑器工具栏 mock 出来,填假数据。我想先对布局有个反应,你再去动真实的应用。」

  • 「我的问题很粗糙:用户过完 onboarding 就流失。搜一遍代码库,头脑风暴 10 个可以干预的位置,从最便宜的排到最有野心的。我来说哪些戳中我。」

访谈

风暴做完,未知多半还剩一些。

这时候我让 Claude 来采访我,专问那些模糊和悬而未决的地方。让它采访你时,尽量把问题背景交代足,好引导它的提问方向。

示例 prompt:

  • 「一次一个问题地采访我,专挑模糊的地方问,优先问那些我的回答会改变架构的问题。」

参照物

有时候你就是没法把想要的东西描述清楚。可能是缺词汇,可能是事情太复杂,讲清楚得花半天。

这种时候,最好的答案是给参照物。图表、文档、图片都行,但最好的参照物是源码。

如果某个库的实现方式正是你想要的,或者你特别喜欢某个设计组件,直接把 Fable 指到那个文件夹,告诉它看什么,跨语言都没关系。

Claude Design 也是这么工作的。你不一定要递文件(当然递也行),可以直接指着某个网站上你喜欢的模块,它读的是底层代码,而非一张截图。标记、结构、组件到底怎么搭的,细节全在里面。

示例 prompt:

  • 「vendor/rate-limiter 里这个 Rust crate 实现的退避行为正是我要的。读一遍,把同样的语义在我们的 TypeScript API client 里重新实现一份。」

实现计划

觉得可以动手了,我一般会先让 Claude 出一份实现计划给我审,重点放在最可能变的部分,比如数据模型、类型接口、UX 流程。这样 Claude 能把我真正可能要改的东西顶到我眼前。

示例 prompt:

  • 「用 HTML 写一份实现计划,把我最可能要调整的决策放最前面:数据模型改动、新的类型接口、一切用户能看到的东西。机械性的重构埋到最底下,那部分我信你。」

实现之中

实现笔记

计划满意之后,我会开个新会话,把 artifacts 全喂进 prompt。比如丢一份 spec 加一个原型,让 agent 照着实现。

但说实话,计划做得再足,未知的未知永远埋在路上。agent 干着干着可能在代码里撞见一个边缘情况,不得不改道。

我会让 Claude Code 维护一份临时的 implementation-notes.md(或者 .html),把它做的决定记下来,下一轮我们都能从里面学到东西。

示例 prompt:

  • 「维护一份 implementation-notes.md。撞到迫使你偏离计划的边缘情况时,选保守的那条路,记到 Deviations 底下,继续干。」

实现之后

Pitch 和讲解文档

东西要发出去,绕不开拿认可、过审批这一关。在最终交付里做 pitch 和讲解类的 artifact,好处有两个:

  • 审阅的人往往带着和你当初一样的未知进场,这些文档帮他们更快看懂

  • 行家想确认你考虑过他们预想中的那些未知和常见翻车点,这些文档帮你更快过审

示例 prompt:

  • 「把原型、spec、实现笔记打包成一份文档,我要直接丢进 Slack 拉认可。demo GIF 放最前面。」

考我

一场长会话下来,Claude 干的活经常比我意识到的多。光读 diff 只能有个模糊印象,因为大量行为取决于既有的代码路径。

让 Claude 给足上下文之后出题考我,能真正搞懂发生了什么。考试全对,我才 merge。

示例 prompt:

  • 「我想确认这次改动的每一处我都懂了。给我一份 HTML 报告,讲清上下文、直觉、做了什么,最底下出一套关于这些改动的测验,我必须通过。」

串起来看:Fable 的发布视频

Fable 的发布视频[https://x.com/ClaudeDevs/status/2064399512664526853\]从头到尾是用 Claude Code 剪的。这块我以前完全没碰过,离行家差得远。

所以我从已知的部分起步。我知道 Claude 能用代码剪视频、能转录,但拿不准精度够不够。于是先让 Claude 给我讲 Whisper 这类转录是怎么工作的,讲我能不能靠 ffmpeg 准确剪掉「嗯」「啊」和大段停顿。

我想要一个跟我说话节奏卡点的 UI,但不确定做不做得出来,就让 Claude 拿 Remotion 加一份转录先做个原型视频试试水。

最后,成片看着有点发闷。我知道这是调色的问题,但我并不真懂调色是什么。第一反应是让 Claude 出几版让我挑,挑着挑着我意识到,调色这件事上我根本不知道「好」长什么样。于是掉头,让 Claude 先教我调色,把我的未知挖出来。

更完整的讲解可以看这条视频[https://x.com/trq212/status/2064826394589442448/video/1\]。

让地图对上疆域

模型越强,用对方法能撬动的东西就越多。一个长任务跑回来结果不对,多半说明你该花更多时间定义自己的未知,或者做一份给 Claude 留够即兴发挥余地的实现计划。

每一次讲解、风暴、访谈、原型、参照物,都是趁便宜的时候把自己不知道的事挖出来,省得等修起来变贵了才发现。

所以,下个项目开工前,先让 Claude 帮你把未知找出来。


#Claude #ClaudeCode #AI #Fable #盲区 #AI实战 #AI工作流

原文标题:A Field Guide to Fable: Finding Your Unknowns(作者 @trq212)


内容效果不满意?点此反馈

输入关键词开始搜索