Claude工程师分享Fable 5使用技巧:打破人与模型信息差
Fable 5风波与使用技巧分享
Fable 5从发布之日起,命运就像模型的名字一样玄幻。从万众期待的「AI封神时刻」,到美国政府一纸禁令强制下线,再到禁止非美国人访问,吸引了全球的目光。如今,风波逐渐归于平静,模型终归要回归到生产力里去。为此,Claude Code工程师Thariq Shihipar在社交媒体上发布长博客,详细说明了使用Fable 5的技巧。
打破人与模型的信息差
这篇文章解决了大家长久以来的疑惑:明明现在的模型能力已经进化到如此强大的地步,为什么使用模型时依旧感觉它做不对任务?Thariq的博客让人豁然开朗,简而言之,人和模型之间存在着信息差,即用户提供的提示词、Skill、上下文和实际任务执行之间的差异。博客正是在教你如何打破这种信息差。
地图与疆域的差距——未知项
与Claude Fable 5一起工作,让人重新意识到一个老道理:地图并不等于疆域。所谓「地图」,是对待完成工作的表征,即提示词、技能和上下文,是交给Claude的东西;所谓「疆域」,则是真正需要发生工作的地方:代码库、现实世界,以及其中真实存在的约束。把地图与疆域之间的差距称为「未知项」。当Claude遇到未知项时,它必须根据对意图的最佳猜测来做决定。工作越复杂,Claude可能遇到的未知项就越多。Fable是第一个让人明显感觉到工作质量的瓶颈,取决于澄清其未知项能力的模型。
发现未知项的迭代过程
仅仅提前规划并不总是足够的。可能会在实现深处发现未知项,也可能发现这些未知项指向一个事实:其实应该用完全不同的方式来解决问题。与Fable协作,本质上是一个在实现前、实现中和实现后不断发现未知项的迭代过程。
了解你的未知项
当带着一个问题来找Claude时,通常从四个角度拆解它:已知的已知,即写在提示词里的内容;已知的未知,即有哪些事情还没有弄清楚,但知道自己还没有弄清楚;未知的已知,即有哪些东西对自己来说显而易见,以至于根本不会写下来,但一旦看到就能认出来;未知的未知,即有哪些事情是完全没有考虑过的,有哪些知识是还不知道自己不知道的,是否知道一件事可以做到多好。最优秀的智能体式程序员往往拥有相对更少的未知项,他们非常清楚自己想要什么,细节充分,与代码库和模型行为保持高度同步,但也会预设未知项的存在。减少并提前规划未知项,就是智能体式编程的核心能力,且这是一项可以通过与Claude协作不断提升的技能。
帮助Claude以帮助你自己
给Claude下指令是一种微妙的平衡。如果过于具体,即使转向另一种方案可能更合适,Claude也会严格照着指令执行;如果过于模糊,Claude往往会基于行业最佳实践做出选择和假设,而这些选择不一定适合任务。当没有充分考虑自己的未知项时,两种情况都会失败。Claude可以帮助更快发现未知项,它能极快地搜索代码库和互联网,并且在大多数主题上掌握的通用知识比人更多,也能更快地从失败中迭代。这个过程中最重要的一点,是给Claude足够的起点上下文,例如,告诉它目前思考到哪一步,说明对问题和代码库的熟悉程度,让它像一个思考伙伴一样协作。
实现前的准备
盲点扫描
开始工作时,理解自己的盲点很有用。如果在代码库中一个新的模块里编写功能,或者让Claude处理不熟悉的工作,很可能会有大量「未知的未知」。可以让Claude帮找出「未知的未知」并解释,使用「blindspot pass」和「unknown unknowns」这些字眼,同时告诉它自己是谁、知道什么也很重要。
头脑风暴与原型
在有很多「未知的已知」的领域工作时,让Claude一起头脑风暴、做原型。在原型阶段尽早识别并表达这些「未知的已知」非常有价值,因为如果到了实现阶段才发现它们,代价往往会相对更高。例如,在视觉设计方面,很难清楚表达想要的东西,但看到之后会知道。这时可以要求Claude针对一个工件给出几种不同的设计方向。每次编码会话一开始先进行探索或头脑风暴,能帮助带着明确意图来定义项目范围。
反问
完成足够的头脑风暴后,通常仍会有未知项。这时让Claude围绕不明确或存在歧义的地方采访自己,尽量提供问题的上下文,以便它提出更有针对性的问题。
参考资料
有时无法详细描述想要什么,最好的答案就是参考资料,可以提供图表、文档或图片,最好的参考资料是源代码。如果有一个库用特定方式实现了某个功能,或者有喜欢的设计组件,直接把Fable指向对应文件夹并告诉它该看什么。这也是Claude Design的工作方式。
实现计划
准备好开始实现时,让Claude先整理一份实现计划供审阅,并重点关注最可能发生变化的部分,如数据模型、类型接口或UX流程。
实现中的记录
对计划满意后,开启新的会话,并把相关工件传入提示词。但无论做了多少规划,总会有未知的未知潜伏着。要求Claude Code维护一个临时的implementation - notes.md文件或.html文件,用来记录它做出的决策,以便从下一次尝试中学习。
实现后的工作
推介与解释文档
发布某个东西时,在最终文档中构建推介和解释类工件,有助于加速评审者理解和专家审批。
测验
经过漫长的工作会话后,Claude可能已经完成了比意识到的更多工作。让Claude在给大量上下文之后,围绕这次变更测试自己,帮助真正理解发生了什么,只有在完美通过测验之后,才会合并代码。
串联方法:以发布Fable为例
Fable的发布视频完全由Claude Code剪辑完成。从已知部分开始,让Claude解释转录技术,创建视频原型,在调色方面让Claude教自己,以此发现未知项。
让地图与疆域匹配
模型越强,越能通过正确的方法完成更多事情。当长周期任务返回错误结果时,可能需要花更多时间定义未知项,或者创建一份实现计划,让Claude能够在未知项中灵活应对。每一份解释文档、头脑风暴、访谈、原型和参考资料,都是低成本的方法,可以在修复代价变高之前,先发现原本不知道的事情。所以,在开始下一个项目时,先让Claude帮找到自己的未知项。
