Claude Fable实地指南:发现你的未知
阅读原文· claude.comAnthropic 官方分享的 Claude Fable 协作方法论,把「发现未知」拆成盲点扫描、原型、面试等可操作步骤,如果你用 Claude Code 但常觉得代理跑偏,这篇是必读实践指南。
Claude Fable是第一款要求用户主动澄清未知才能获得高质量工作的模型。与Claude Fable协作是一个在实现前后迭代发现未知的过程。通过将问题分解为已知的已知、已知的未知、未知的已知和未知的未知四类,用户可以借助Claude Fable和Claude Code进行盲点检查、头脑风暴、原型设计、实现笔记记录以及答辩解释,从而高效挖掘并解决深藏于代码库和设计与实现中的潜在问题。
Claude Fable 实地指南:发现你的未知
- 类别Claude Code
- 产品Claude Code
- 日期2026年7月6日
- 阅读时间5分钟
- https://claude.com/blog/a-field-guide-to-claude-fable-finding-your-unknowns
在使用 Claude Code 时,我常常会想起地图与疆域之间的区别。
地图是对待完成工作的表征,也就是我的提示词、技能和上下文——这是我交给 Claude 的东西。疆域则是工作实际发生的地方,是代码库、现实世界以及它真正的约束条件。

地图与疆域之间的差异,就是我所谓的未知。当 Claude 遇到一个未知时,它需要基于对我意图的最佳猜测做出决定。完成的工作越多,Claude 可能遇到的未知就越多。
Claude Fable 是第一个让我觉得工作质量受限于我澄清其未知之能力的模型。
重要的是,仅仅提前规划并不总是够的。你可以在实现深处发现未知,或者你的未知会指出了一个事实:你其实应该用完全不同的方式去解决这个问题。
我发现,与 Fable 协作是一个迭代的过程——在实现之前、之中和之后不断发现我的未知。
了解你的未知
你的未知是什么?当我带着问题来找 Claude 时,我倾向于将其分解为以下四种方式:
- 已知的已知:这基本上就是我的提示词中的内容。我告诉智能体我想要什么?
- 已知的未知:我还没搞清楚什么,但我意识到自己还没搞清楚?
- 未知的已知:什么东西显而易见以至于我永远不会写下来,但看到时就会认出来?
- 未知的未知:我完全没有考虑过什么?我意识不到哪些知识?我知道某件事能做到多好吗?
最优秀的智能体编码者拥有的未知相对较少。观察像 Boris 或 Jarred 这样的人编写提示词,我很明显能看出他们对自己想要的东西了解得非常详细。他们与代码库以及模型行为都高度同步。

但他们也假设了未知因素。从很多方面来看,减少和规划你的未知因素正是智能体编程的核心技能。但幸运的是,这是一项你可以通过与 Claude 协作来提升的技能。
帮助 Claude 帮助你

向 Claude 下达指令是一种微妙的平衡。如果你说得过于具体,Claude 会遵循你的指令,即便此时转换方向可能更合适;如果你说得过于模糊,Claude 往往会根据行业最佳实践做出选择和假设,而这些可能并不适合你的任务。
当你没有考虑到自己的未知因素时,你会两头落空。你既不知道什么时候路径会布满障碍,也不知道什么时候路径会畅通无阻,但你仍然希望 Claude 能灵活变通。
Claude 可以帮助你更快地发现自己的未知因素。它可以极其迅速地搜索你的代码库和互联网,并且对大多数主题的了解比你更深入。它还能从失败中更快地迭代。
这个过程最关键的一点是,要给 Claude 提供关于你起点的上下文。例如,告诉它你当前在思路的哪个阶段;说明你对问题和代码库的经验水平;让它像一位思维伙伴一样与你协作。
在这篇文章中,我详细阐述了我用来发现这些未知因素的一些模式,包括:
实施前:
- 盲区检查
- 头脑风暴与原型
- 访谈
- 参考资料
- 实施方案
实施中:
- 实施笔记
实施后
- 推介与说明
- 测验
实施前
盲区检查
开始工作时,你能做的最有用的事情之一就是了解自己的盲区。例如,如果你在代码库的某个新部分编写功能,或者使用 Claude 协助你处理不熟悉的工作(比如迭代设计),你很可能有大量未知的未知因素。
你可能不知道要问什么问题、什么样子才算好、之前做过哪些工作、或者要避开哪些坑。
在这些情况下,你可以请 Claude 帮你找出你不知道自己不知道的东西,并为你解释清楚。我喜欢直接用“盲点扫描”和“未知的未知”这两个词语。向 Claude 说明你的身份和已知信息,通常有助于它理解最佳的合作起点。
示例提示词:
- “我正在添加一个新的认证提供方,但我对这个代码库中的认证模块一无所知。你能帮我做一次盲点扫描,找出我相关的未知的未知,并指导我如何更好地向你提问吗?”
- “我不知道什么是调色,但我需要对这段视频进行调色。你能教我理解我在调色方面的未知的未知,以便我能给出更好的提示词吗?”
头脑风暴与原型设计
当我在一个充满“已知的未知”的领域工作时——那些只有亲眼看到才能定义的标准——我喜欢请 Claude 与我一起进行头脑风暴和原型设计。
在原型设计早期识别并表述出“已知的未知”非常关键,因为在实现过程中才发现它们代价(相对)高昂。功能或规格上的微小改动会导致代码实现截然不同,而你的智能体也更难回退之前的修改。
例如,你可能只是想看看在框架上添加一个按钮的效果,而不需要接入后端路由或在前端维护额外的状态。
另一个例子是视觉设计——对我而言,这很难用语言描述,但当我看到时就知道我想要什么。在这些情况下,我会请 Claude 为一个工件提供几种设计方案。
我在几乎每次编码会话开始时都会先进行探索或头脑风暴阶段。这有助于我带着意图出发,明确项目的范围。Claude 常常能发现那些我可能会遗漏但却很有价值的方法,不过有时也会“只见树木不见森林”。头脑风暴能防止我把范围定得过于狭窄或过于宽泛。
示例提示词:
- “我想为这些数据做一个仪表盘,但我没有审美眼光,也不知道能做什么。请为我生成一个包含 4 种截然不同设计方向的 HTML 页面,这样我就能在此基础上做出反馈。”
- “在接入任何实际内容之前,先做一个单独的 HTML 文件,用假数据模拟新的编辑器工具栏。我想在实际接触真实应用之前,先看看这个布局的效果。”
- “我有个粗略的问题:用户在新手引导之后流失率很高。请搜索代码库,头脑风暴 10 个我们可以介入的地方,从成本最低到最雄心勃勃的方案排序。我会告诉你哪些想法可行。”
访谈
在我做完充分的头脑风暴之后,往往还会有一些未知点。
这种情况下,我会让 Claude 针对任何未知或模糊之处对我进行访谈。让 Claude 访谈你时,尽量向它提供你问题的背景信息,以便引导它提问。
示例提示词:
- “一次问我一个问题,针对任何模糊之处,优先问那些我的回答会改变架构的问题。”
参考
有时候你无法详细描述你想要的东西。例如,你可能没有合适的词汇,或者事情太复杂以至于要花很长时间才能说清楚。
这种情况下,最好的方法就是提供参考。虽然你可以提供图表、文档或图片,但最理想的参考是源代码。
如果你有一个以特定方式实现某功能的库,或者一个你非常喜欢的设计组件,直接把 Fable 指向该文件夹,告诉它要找什么——即使它是用不同语言写的也行。与屏幕截图相比,这能为 Claude 提供关于标记和结构更丰富的细节。
示例提示词:
- “vendor/rate-limiter 中的这个 Rust crate 实现了我想要的精确退避行为。请阅读它,然后用我们 TypeScript API 客户端重新实现相同的语义。”
实现方案
当我觉得自己准备好开始实现时,我通常会请 Claude 整理一份实现方案供我审阅。方案会重点关注那些最可能变动的部分,比如数据模型、类型接口或用户交互流程。这样 Claude 就能把我可能需要改动的地方呈现出来。
示例提示词:
- “用 HTML 写一份实现方案,但要把我最可能调整的决策放在前面:数据模型变更、新的类型接口,以及任何面向用户的内容。把机械性的重构细节放在底部,这部分我相信你。”
实现过程中
实现笔记
一旦我对计划满意,就会新建一个会话,并把所有产物传入提示词。这样能给 Claude 一个全新的上下文窗口,但保留了计划阶段收集到的全部信息。例如,我可能会传入一份规范文件和一个原型,然后让智能体去实现它。
但事实是,无论你做多少计划,总有些未知的未知因素潜伏其中。智能体可能在工作中发现,因为代码里遇到了某个边界情况,它需要换一条路径。
我让 Claude Code 维护一个临时的 `implementation-notes.md`(或 .html)文件,记录它做出的决策,这样下次尝试时我们可以从中学习。
示例提示词:
- “维护一个 implementation-notes.md 文件。如果你遇到某个迫使你偏离计划的边界情况,就选择保守方案,在‘偏离记录’下记下来,然后继续前进。”
实现之后
推介与解释材料
发布一个东西最重要的环节之一是获得认可与审批。在最终文档中制作推介和解释性质的产物,有助于:
- 让评审者从与你相同的未知起点开始,加速理解
- 让专家看到你已考虑到他们本会预见到的未知因素和常见失败点,从而加速审批
示例提示词:
- “把原型、规范文件和实现笔记打包成一个文档,方便我直接丢进 Slack 争取认可。用演示 GIF 开头。”
测试
经过一次长时间的工作会话后,Claude 可能完成了比我意识到的多得多的内容。阅读代码差异只能让我对发生了什么有个粗略了解,因为很多行为依赖于已有的代码路径。
让 Claude 在给我大量上下文之后,再就变更内容对我进行测验,这能帮助我理解发生了什么。只有我完美通过测验后,我才会合并代码。
示例提示词:
- “我想确保我完全理解此次变更中发生的一切。给我生成一份 HTML 报告,描述这些变更,附上上下文、直觉理解、做过的操作等信息,并在底部加一个我必须通过的关于变更的测验。”
这一切如何整合:发布 Fable
Fable的发布视频全程使用Claude Code进行剪辑。这对我来说是一个全新的领域,我绝非专家。
于是我从已知的部分入手。我知道Claude能用代码剪辑视频并转录内容,但我不确定其准确性是否足够。于是我让Claude解释像Whisper这样的转录工具是如何工作的,以及我是否能通过ffmpeg精确剪掉诸如"嗯"或长时间停顿之类的内容。
我希望Claude能创建一个与我说话内容同步时序的UI,但不确定是否可行,于是我让Claude使用Remotion和转录文本创建一个原型视频,测试能否实现。
最后,视频本身看起来有些暗淡,我知道这是因为颜色分级,但我并不真正了解什么是颜色分级。我的第一次尝试是让Claude生成几个变体供我选择,但我意识到在颜色分级方面,我并不清楚"好"的标准是什么。因此,我转而请Claude教我颜色分级的知识,以发现我的未知领域。
让地图与疆域相契合
模型越强大,采用正确方法能达成的成就就越多。当一项长期任务返回错误结果时,很可能你需要花更多时间来定义你的未知领域,或制定一个允许你和Claude在应对这些未知时灵活调整的实施方案。
每一次解释、头脑风暴、访谈、原型制作和资料参考,都是在问题变得难以挽回之前,低成本发现你未知之处的有效方式。
因此,开启下一个项目时,先让Claude帮你找出你的未知领域。
本文由Anthropic技术团队成员Thariq Shihipar撰写。
常见问题
借助Claude改变你组织的运作方式
订阅开发者新闻通讯
产品更新、操作指南、社区亮点等,每月发送到你的邮箱。