- 分类: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 合作是一个在实现前、实现中和实现后不断发现未知的迭代过程。
未找到项目。0/5获取 Claude Code 或阅读文档尝试 Claude Code尝试 Claude Code开发者文档开发者文档电子书
了解你的未知
Knowing your unknowns
你的未知是什么?当我带着问题来找 Claude 时,我倾向于将其分解为四种类型:
- 已知的已知(Known Knowns): 这基本上就是我的提示词内容。我告诉智能体我想要什么?
- 已知的未知(Known Unknowns): 我还没弄清楚什么,但我意识到自己还没弄清楚?
- 未知的已知(Unknown Knowns): 什么东西显而易见以至于我永远不会写下来,但看到时却能认出来?
- 未知的未知(Unknown Unknowns): 我完全没有考虑到什么?我不知道哪些知识?我知道事情可以做到多好吗?
最优秀的智能体编程者拥有的未知相对较少。观察像 Boris 或 Jarred 这样的人编写提示词时,我明显感觉到他们对自己想要什么了如指掌。他们与代码库和模型行为都深度同步。

但他们也假设存在未知。在很多方面,减少未知并为之做规划正是智能体编程的技能所在。幸运的是,通过与 Claude 合作,你可以提升这项技能。
帮助 Claude 帮助你
Help Claude help you

指导 Claude 是一种微妙的平衡。如果你过于具体,即使需要转向,Claude 也会遵循你的指示。如果你过于模糊,Claude 往往会基于行业最佳实践做出选择和假设,而这些可能并不适合你的任务。
当你没有考虑到自己的未知时,两种方式都会失败。你不知道路径何时会充满障碍,也不知道路径何时会畅通无阻,但你仍然希望 Claude 能够灵活变通。
Claude 可以帮助你更快地发现未知。它可以极快地搜索你的代码库和互联网,并且对一般主题的了解远比你多。它还能从失败中更快地迭代。
这个过程最重要的部分是给 Claude 提供关于你起点的上下文。例如,告诉它你当前思考到了哪个阶段;说明你对问题和代码库的熟悉程度;让它像思考伙伴一样与你合作。
在本文中,我将详细介绍一些用来发现这些未知的模式,包括:
实现前:
- 盲点扫描
- 头脑风暴与原型
- 访谈
- 参考
- 实现计划
实现中:
- 实现笔记
实现后:
- 推介与说明
- 测验
实现前
Pre-implementation
盲点扫描
Blind Spot Pass
开始工作时,最有用的做法之一就是了解自己的盲点。例如,如果你在代码库的新部分编写功能,或者使用 Claude 帮助你完成不熟悉的工作(如迭代设计),你很可能会有很多未知的未知。
你可能不知道要问什么问题,不知道好的标准是什么,不知道之前做过哪些工作,也不知道要避开哪些坑。
在这些情况下,你可以让 Claude 帮你找到未知的未知并向你解释。我喜欢直接使用“盲点扫描”和“未知的未知”这些字眼。通常,给 Claude 提供关于你是谁以及你知道什么的上下文,对于它理解如何最好地开始与你合作很重要。
示例提示词:
- “我正在添加一个新的认证提供者,但我对代码库中的认证模块一无所知。你能做一次盲点扫描,帮我找出相关的未知的未知,并让我能更好地向你提问吗?”
- “我不知道什么是调色,但我需要给这个视频调色。你能教我了解我在调色方面的未知的未知,以便我能更好地提问吗?”
头脑风暴与原型
Brainstorms and prototypes
当我在一个充满未知的已知的领域工作时——这些标准我只有看到时才能定义——我喜欢让 Claude 和我一起进行头脑风暴和原型设计。
在原型阶段尽早识别并表达出未知的已知非常有价值,因为在实现过程中才发现它们(相对)代价高昂。功能或规格上的微小变化可能导致代码实现截然不同,而且让智能体撤销之前的更改会更加困难。
例如,你可能只是想看看按钮添加到框架后的效果,而不需要连接后端路由或在前端维护额外的状态。
另一个例子是视觉设计,对我来说,这很难用语言表达,但我看到时就知道自己想要什么。在这种情况下,我会要求提供几种不同的设计方案。
此外,我几乎每次编码会话都会从探索或头脑风暴阶段开始。这有助于我带着明确意图来定义项目范围。Claude 常常能发现我可能会错过的高价值方法,但有时也会只见树木不见森林。头脑风暴可以防止我将范围设定得过窄或过宽。
示例提示词:
- “我想要一个展示这些数据的仪表盘,但我没有视觉品味,也不知道有哪些可能性。给我做一个包含四种截然不同设计方向的 HTML 页面,这样我就能做出反应。”
- “在连接任何东西之前,先做一个单独的 HTML 文件,用假数据模拟新的编辑器工具栏。我想在接触真实应用之前先看看布局效果。”
- “这是我的粗略问题:用户在引导流程后流失了。搜索代码库,头脑风暴出 10 个我们可以介入的点,从最便宜到最雄心勃勃。我会告诉你哪些点引起了我的共鸣。”
访谈
Interviews
一旦我做了足够的头脑风暴,我可能仍然有未知。
在这种情况下,我让 Claude 就任何未知或模糊之处对我进行访谈。当要求 Claude 访谈你时,尽量给它提供关于你问题的上下文,以引导它的提问。
示例提示词:
- “一次问一个问题,针对任何模糊之处,优先考虑那些我的答案会改变架构的问题。”
参考
References
有时你无法详细描述你想要什么。例如,你可能没有相应的语言,或者问题太复杂,需要花很长时间才能说清楚。
在这种情况下,最好的方法是提供参考。虽然你可以包含图表、文档或图片,但最好的参考是源代码。
如果你有一个以特定方式实现某些功能的库,或者一个你非常喜欢的设计组件,只需将 Fable 指向该文件夹并告诉它要查找什么,即使是用不同语言编写的也没关系。与截图相比,这为 Claude 提供了关于标记和结构更丰富的细节。
示例提示词:
- “vendor/rate-limiter 中的这个 Rust crate 实现了我想要的精确退避行为。阅读它,并在我们的 TypeScript API 客户端中重新实现相同的语义。”
实现计划
Implementation Plans
当我认为自己准备好实现时,我倾向于让 Claude 整理一个实现计划供我审阅。该计划重点关注最可能发生变化的部分,例如数据模型、类型接口或用户体验流程。这让 Claude 能够揭示我可能实际需要修改的地方。
示例提示词:
- “用 HTML 写一个实现计划,但把最可能被我调整的决策放在前面:数据模型变更、新的类型接口,以及任何面向用户的内容。把机械性的重构放在底部,这部分我信任你。”
实现中
During implementation
实现笔记
Implementation notes
一旦我对计划感到满意,我会开启一个新的会话,并将任何产物传递给提示词。这给了 Claude 一个全新的上下文窗口,但包含了你在规划阶段编译的所有信息。例如,我可能会传入一个规格文件和一个原型,然后让智能体去实现它。
但事实是,无论你做多少规划,总会有潜伏的未知的未知。智能体可能在工作中发现,由于在代码中找到了一个边界情况,它需要采取不同的策略。
我让 Claude Code 维护一个临时的“implementation-notes.md”(或 .html)文件,记录它所做的决策,这样我们可以在下次尝试时学习。
示例提示词:
- “维护一个 implementation-notes.md 文件。如果你遇到迫使你偏离计划的边界情况,选择保守的方案,将其记录在‘偏差’部分,然后继续。”
实现后
Post implementation
推介与说明
Pitches and explainers
交付产品最重要的部分之一是获得认可和批准。在最终文档中构建推介和说明产物有助于:
- 当审阅者从与你相同的未知出发时,加速他们的理解
- 当专家想看到你考虑了他们预期的未知和常见失败点时,加速审批
示例提示词:
- “把原型、规格和实现笔记打包成一个文档,我可以放到 Slack 里争取支持。以演示 GIF 开头。”
测验
Quizzes
经过长时间的工作会话后,Claude 可能完成了比我意识到的多得多的内容。阅读代码差异只能让我对发生的事情有浅显的理解,因为很多行为取决于现有的代码路径。
在给我提供大量上下文后,让 Claude 就变更内容对我进行测验,有助于我理解发生了什么。只有当我完美通过测验后,我才会合并代码。
示例提示词:
- “我想确保我完全理解这次变更中发生的一切。给我一份关于变更的 HTML 报告,包含上下文、直觉、做了什么等内容供我阅读和理解,并在底部附上一个关于变更的测验,我必须通过。”
如何整合运用:发布 Fable
How this comes together: launching Fable
Fable 的发布视频是使用 Claude Code 端到端剪辑的。这对我来说是一个全新的领域,我绝非专家。
所以我从我知道的开始。我知道 Claude 可以使用代码来剪辑视频和转录,但我不确定它是否足够准确。然后我让 Claude 向我解释像 Whisper 这样的转录是如何工作的,以及我是否能够使用 ffmpeg 精确地剪掉像“嗯”这样的语气词或长时间的停顿。
我希望 Claude 创建一个与我说话内容同步的 UI,但我不确定是否可行,所以我让 Claude 使用 Remotion 和转录创建一个原型视频,看看是否可行。
最后,视频本身看起来有点暗淡,我知道这是调色的结果,但我并不真正了解什么是调色。我的第一次尝试是让 Claude 做几个变体供我选择,但我意识到在调色方面我不知道“好”的标准是什么。所以,我转而让 Claude 教我关于调色的知识,以发现我的未知。
让地图与实地匹配
Matching the Map and Territory
模型越好,采用正确方法能实现的就越多。当一个长周期任务返回错误结果时,很可能你需要花更多时间来定义你的未知,或者创建一个允许你和 Claude 共同适应的实现计划。
每一次说明、头脑风暴、访谈、原型和参考,都是在问题变得代价高昂之前,以低成本发现你不知道的东西的方式。
所以,开始你的下一个项目时,让 Claude 帮你找到你的未知。
本文由 Anthropic 技术团队成员 Thariq Shihipar 撰写。
常见问题
未找到项目。
相关文章
Related posts
探索更多产品新闻和团队使用 Claude 构建的最佳实践。
2025年10月15日
如何在工程组织中规模化智能体编程
Claude Code如何在工程组织中规模化智能体编程
2026年6月2日
为每项任务量身定制:Claude Code 中的动态工作流
Claude Code为每项任务量身定制:Claude Code 中的动态工作流
2026年2月23日
用 AI 实现 COBOL 现代化:打破成本壁垒
Claude Code用 AI 实现 COBOL 现代化:打破成本壁垒
2025年9月29日
使用 Claude Agent SDK 构建智能体
Claude Code使用 Claude Agent SDK 构建智能体
用 Claude 改变组织的运作方式
查看定价查看定价联系销售联系销售
获取开发者新闻通讯
产品更新、操作指南、社区亮点等。每月发送到您的邮箱。
谢谢!您已订阅。抱歉,提交时出现问题,请稍后重试。