Claude Fable5提示词泄露:顶级Agent提示词工程设计深度拆解

2026-06-22阅读 0热度 0
Claude
# 系统提示词,这份“隐藏手册”到底藏着什么? 前阵子有个消息在AI圈子里炸开了锅:Claude Fable 5的系统提示词,被人完整“扒”出来了。 事情是这样的。Anthropic在6月9号发布了Claude 5家族的第一个模型Fable 5,结果不到两天,就有人用越狱手段把它的完整系统提示词(system prompt)整个抠了出来,原封不动传到了GitHub上。点开一看,是真东西。 然后我翻了一遍这份提示词,越翻越上头。1600多行,里面藏的东西,远比想象的要多。 先抛几个问题,带着这些问号往下读,答案都在后面: Q1:你以为提示词不就是几句“你是个助手”的客套话? Q2:同一个工具,描述里多写一句“别这么用”,模型的表现能差一大截? Q3:为什么越聪明的模型,越被逼着干活前先去翻一遍说明书? Q4:为什么它被规定,绝不为你“愿意开口”说一声谢谢? Q5:拒绝你的时候,它为什么连“我是怎么判断的”都死活不肯说? 这次就把Fable 5这份系统提示词当成一份范本,一段一段拆开,看看那些做AI agent、写AI编程提示词的人,能从中偷到哪些可以直接抄作业的工程干货。 先提醒一下,这份提示词是网传泄漏版,Anthropic官方从没承认过它的真实性。但从它的结构、用词和Anthropic一向的风格来看,可信度相当高。 那就开始吧。 --- ## 01|到底什么是“系统提示词”? 别急,先花一分钟搞懂一个词:系统提示词。 平时跟AI聊天,在对话框里敲的每一句话,比如“帮我写个快速排序”,这就是提示词(prompt)。这种亲手打、每次都不一样的,叫user prompt(用户提示词)。 但在这句话之前,其实还有一段永远看不见的话,早被开发者塞在每段对话的最前面了。它规定了AI是谁、该用什么口气说话、什么能干、什么打死不能干。这段“隐形的出厂设定”,就是system prompt(系统提示词)。 打个比方。 system prompt像公司发给新员工的那本入职手册:你是什么岗位、见了客户该怎么说话、哪些红线不能碰,全白纸黑字写死。 user prompt呢,是顾客上门后问的那一句具体的话。员工怎么接待,既看顾客问了啥,更看那本手册是怎么教的。 所以system prompt才是一个AI产品真正的“灵魂配置”。同一个底座模型,配上不同的system prompt,脾气、本事、说话的腔调,能差出十万八千里。可平时它对你是完全隐形的,没人会把这本“内部手册”给你看。 而这一次,Fable 5的system prompt被人完整扒了出来,等于把顶级团队压箱底的那本手册,摊开在了所有人面前。 这,就是值得我们逐行读的原因。 --- ## 02|这提示词到底长什么样? 在逐段拆之前,先对它有个整体的感觉。 这份文档真正唬到人的,倒不是里面哪条规则写得多妙,而是它整个的“长相”,就跟想象中差太远了。 世界顶级模型的提示词,应该长什么样? 大部分人脑子里浮现的,可能是那种一两百字的简单提示词,开头一句“You are a helpful assistant”,再交代几句语气和身份,完事。 但Fable 5这份,足足1600多行。更让人意外的是它的“重心”:把它的骨架理一遍会发现,前半段才是讲模型该怎么说话、怎么守规矩,而近一半的篇幅,是在一个一个地定义工具,从查天气、搜地点,到帮你起草邮件,每个工具都写了长长一段说明。 这已经不是“一段话”的概念了。这哪是提示词,分明是一份岗位说明书加一整套工具箱清单。 把它的标题层级抽出来,扫一眼就有数了: ``` ## claude_beha vior (产品信息 / 安全 / 语气 / 用户关怀…) ## memory_system ## mcp_app_suggestions ## computer_use (skills / artifacts…) ## search_instructions ## Tool Definitions ← 一个一个工具的完整定义 ### bash_tool / web_search / image_search / places_search … ## network / filesystem configuration ``` 前面那些“该怎么说话、守哪些规矩”加起来,也就占了前半段;可光是最后这块Tool Definitions,底下就挂着十几个工具的完整定义,一家伙吃掉了快半本。一份系统提示词,半本都在教它怎么用工具,这件事本身就够说明问题了。 那份“半本都在教用工具”的提示词,到底好在哪?打个比方就懂了。 给模型一句话的提示词,相当于把个新人往工位上一扔,撂下句“你来帮帮忙”就走了,干得好不好全看他自己悟。 Fable 5这份正相反,它恨不得把新人上手要操心的每件事都提前安排妥当,连工位都替你收拾得利利索索,桌上该摆哪些工具、每件工具怎么用,全给你码得清清楚楚。 所以说好的提示词,本质上是在给模型搭一个“工作台”,而不是写许愿池。 而这份手册里,最大、也最值得我们偷师的一块,恰恰就是它怎么摆弄那一桌子工具。 --- ## 03|顶级AI手里,到底攥着哪些“家伙”? 上一节说了,这份提示词近一半都在定义工具。那Fable 5到底配了些什么家伙? 数了一下,差不多十七八个:跑bash、建文件、改文件、搜网页、抓网页、搜地点、画地图、查天气、查体育比分、搜图、起草消息、弹选项问用户……活脱脱一个全能选手的工具箱。 但真正让人上头的,倒不是它工具多,而是每一个工具的“说明书”写得有多讲究。 先抛个读完最大的体会:一个工具好不好用,一半在它的参数(schema),另一半,全在描述里有没有把“什么时候用、什么时候千万别用、怎么用才不出错”给写死。 挑几个最有意思的说。 ### 第一个:教模型“什么时候该闭嘴”的ask_user_input 这是个很常见的工具:弹几个选项让用户点,省得用户在手机上吭哧吭哧打字。但它的描述,把“什么时候别用”写得比“什么时候用”还狠: ``` WHEN NOT TO USE: User asks "A or B?" -> They want YOUR analysis and recommendation, not the options repeated back as buttons. User is venting -> Just listen. ``` 翻成大白话:用户问“我该学Python还是Ja vaScript”,他要的是你的判断和建议,不是把选项原样弹回去让他自己选;用户在那倒苦水,你就好好听着,别弹问卷。 更绝的是中间这句,简直是写给所有agent开发者看的: ``` If you're about to write clarifying questions as prose bullets, STOP — those go in this tool instead. ``` 意思是:你要是正打算把澄清问题写成一条条bullet,停,那些就该塞进这个工具里。它甚至在结尾补一刀,说调完这个工具你这一轮就结束了,别再接着往下写,用户的选择会作为下一条消息回来。 你品品这个分寸。它防的是一个特别常见的翻车:用户明明是来要个主意的,AI却甩一堆选项让人自己挑,看着礼貌,实则是在用提问逃避给出观点。 ### 第二个:靠参数顺序,逼模型“先想清楚再动手”的create_file 这个更细,细到参数的排列顺序上。create_file就是建个文件,三个参数,但它的描述里反复强调顺序: ``` description: Why I'm creating this file. ALWAYS PROVIDE FIRST. path: ... ALWAYS PROVIDE SECOND. file_text: Content to write. ALWAYS PROVIDE LAST. ``` 它强制模型:先写“我为什么要建这个文件”,再写路径,最后才写文件内容。 为什么要这么安排? 因为大模型是一个字一个字往外蹦的,它先写出来的东西,会影响后面写的。 把“为什么做”放在最前面,等于逼它在真正动手敲代码之前,先把意图想清楚、说明白。 这是一个特别巧的小心机:用参数的先后顺序,给模型的思考排了个序。 ### 第三个:给“方案”而不是给“文案”的message_compose 这个工具是帮你起草邮件、消息的。 一般人写这种工具,无非让它生成几个“语气版本”:正式版、随和版、热情版。但Fable 5的描述里,明确反对这么干: ``` Generate 2-3 strategies that lead to different outcomes— not just tones. Label each: "Disagree and commit" vs "Push for alignment", "Rip the bandaid" vs "Soften the landing". ``` 它压根没在分什么语气版本,给的是几个会通向不同结果的“策略”:是“服从但保留意见”还是“据理力争”,是“直接挑明”还是“委婉铺垫”。 每个方案还得标清楚它在优先什么、牺牲什么。 这背后藏着一个挺高级的产品观:一个好的AI助手,不该只想着“替你生成一封完美的邮件”,而该帮你看清不同写法背后是不同的人际权衡,把选择权留给你。 ### 还有一堆藏在细节里的小心机 类似的讲究,整份工具定义里到处都是。比如那个画地图的工具,专门叮嘱: ``` Copy place_id values EXACTLY... do not type from memory. ``` 地点ID必须从搜索结果里逐字复制,不许凭记忆敲。 这是摸透了大模型的一个老毛病:处理这种又长又没规律的ID时,它特别爱“自信地记错”。一句话,就把这个坑堵上了。 再比如查体育比分的工具,要求“先取数据,再开口回答,别靠记忆猜”。接第三方应用(打车、订餐这种)那条更妙,原文是: ``` Never pick a partner for someone who didn't ask — "I need a ride" is not "I want RideCo specifically." ``` 绝不替一个没开口的用户去挑平台,用户说“我要打个车”,不等于“我要用RideCo这家”。哪怕他喊“我20分钟内必须打到车”,也得先把选项摆出来让他自己点,因为“速度不能成为替用户做主的理由”。 还有那个搜图工具,连图该摆在文字的哪个位置都给你安排明白了:做指南、列清单这种,图要跟文字穿插着来,讲一段配一张,让每张图都挨着它要配的那段话;可要是用户就问“X长啥样”,那图就得打头。一个搜图的工具,把“什么时候图在前、什么时候图穿插”都写进了说明书。 把这些串起来看,你会发现Fable 5对工具的态度特别一致:给你工具,但每件工具都配一张写满“别这么用”的说明书。 它不信模型会自动用对,所以把分寸、顺序、禁忌,一条条提前写死。这套思路,是这份提示词里最该被做agent的人抄走的东西。 --- ## 04|AI怎么知道,啥时候该闭嘴去查一下? 那一桌子工具里,有个特别不起眼的,叫web_search。 它的定义短到不敢信,统共一句话: ``` web_search — Description: "Search the web" ``` “搜网页”,完了。 可往前翻翻会发现,围着这一个工具写的“什么时候该搜”的规则,足足铺了两页纸。 这个反差本身就说明问题:真正的功夫,往往不在工具上,而在“什么时候用、什么时候别用”的判断里。 那它怎么判断该不该搜? 规矩特别清楚:能稳的别搜,会变的必搜。 像勾股定理、宪法哪年签的,这种钉死了的事直接答,搜了纯属浪费;可“哈佛现任校长是谁”“某某还是不是CEO”这种会变的当前状态,必须搜一下再开口。 判断的关键,不在“我知不知道”,在“这事会不会变”。 但真正让人拍腿的,是下面这条,专门治大模型最要命的毛病——一本正经地胡说: ``` partial recognition from training does not mean current knowledge. An unfamiliar capitalized word is almost certainly a name that postdates training. ``` 翻译过来:“训练时见过个大概”,不等于“现在还了解”。 碰到一个不认识、首字母还大写的词,十有八九是训练之后才冒出来的新名字,别当普通词糊弄过去。 哪怕你认得这个系列、这个作者,也不代表你知道他们的新作。 它甚至把话挑明:搜一下不过几秒,可张口胡编,赔进去的是用户的信任。所以但凡是v0、o1、2.5这种短得像版本号的名字,哪怕概念上眼熟,也得乖乖去搜。 跟它搭配的还有个抓网页全文的工具web_fetch,描述里也卡了一道锁: ``` Can only fetch EXACT URLs provided by the user or returned by web_search. ``` 它只能抓用户给的、或搜索结果里返回的确切网址,不许自己“编”一个URL去抓。连去哪抓,都不让模型凭空想象。 把这套串起来你会发现,它对“知识”的态度特别清醒:模型脑子里的东西是有保质期的,越像“当前状态”“新玩意”的问题,越不能信自己的记忆。这份判断,对做agent的人来说,是直接能抄走的工程原则。 --- ## 05|为什么非逼模型先读说明书? 工具会用了、也知道啥时候该去搜了,你以为就稳了?真到动手产出东西的时候,还差一步:先读说明书。 这事得从一个很多人都遇到过的窝火场景说起:让AI去干一件它“明明会”的活,结果交上来的东西,总差那么一口气。 比如让它做个PPT、填个PDF表单,或者写段处理Excel的代码。 原理它当然懂,可吭哧吧唧弄半天,交出来的东西不是格式乱套,就是用了一个你这环境里压根装不上的库。 问题出在哪?出在它“凭记忆硬干”。 模型脑子里的知识,是训练时学来的通用知识,但它不知道你当前这个具体环境里,有哪些坑、有哪些约束、文件该往哪存。 Fable 5怎么治这个毛病?它定了一条铁律,把原文贴出来,因为这句话的措辞特别值得品: ``` Reading the relevant SKILL.md is a required first step before writing any code, creating any file, or running any other tool. ``` 翻成大白话:动手写任何代码、创建任何文件、调用任何工具之前,先去读相关的SKILL.md,这是“必须的第一步”。 注意,是required(必须),是first step(第一步)。 这里没有“你觉得需不需要”这一说,就是无条件,必须做。 它还专门补了一句,说这么做是因为技能里编码了“环境特有的约束”,比如能用哪些库、有哪些渲染怪癖、文件该输出到哪,而这些恰恰是模型训练数据里没有的。 这个设计的精妙之处在哪? 它实际上是把“凭记忆判断”这条最容易翻车的路给堵死了。 你想,要是让模型自己决定“这个任务要不要查技能”,那它多半会犯懒,觉得“做个PPT而已,我会”,然后就开始凭通用知识瞎写。而通用知识里,恰恰没有“这个环境里PPT该怎么生成才不出错”这种干货。 所以Fable 5干脆不给模型这个“自我判断”的机会,直接要求:别管你觉得需不需要,先去看一眼说明书再说。 这里得插一句,这套机制其实就是Claude Code里skill的底层逻辑。 很多人以为skill值钱的是那几步操作说明,其实不是,它真正值钱的,是把“环境里独有的坑和规矩”一条条攒了下来,而这些恰恰是模型训练时没见过的。 今天在Fable 5的提示词里,又一次看到了同样的设计哲学。 提示词里还配了一组很生动的例子,演示什么叫“先读说明书”: ``` User: Make me a powerpoint ... Claude: [immediately calls view on /mnt/skills/public/pptx/SKILL.md] ``` 用户一句“帮我做个PPT”,模型的标准动作是立刻去view(查看)pptx技能的SKILL.md,读完再动手,绝不上来就敲。 你品品这个动作。一个顶级模型,干活之前先乖乖去翻说明书,听着是不是有点“笨”?可偏偏就是这股笨劲,保证了它每次都稳、都专业。聪明人最容易栽的,恰恰就是“这个我会,不用看”这一念。 光逼着读手册还不够,它连“什么时候该产出一个文件、什么时候在对话里答完就行”都给划了线:写博客、写文章、写一段你会复制出去发表的东西,存成文件;出个主意、列个提纲、讲解一下,直接在对话里说就好。 有句判断特别精:语气和长短不改变归类,你说“随手写个200字小博客呗”,它照样给你存成文件;你说“来份正式的战略分析”,它照样在对话里答完。 它还把内置的一摞技能摊开让模型自己挑,docx、pdf、pptx、xlsx这些不必说,里头有个特别聪明的,叫product-self-knowledge,它的说明里写得很直白: ``` Any time you would otherwise rely on memory for Anthropic product details, verify here — your training data may be outdated. ``` 凡是你本来想凭记忆回答的Anthropic产品细节(Claude Code怎么装、API怎么收费),都先来这里核对,因为你的训练数据可能早就过时、甚至是错的。 你看,连“自己家产品的知识也会过期”这件事,它都不让模型靠脑子。 说到底就一件事:别指望模型靠脑子里那点通用知识,去硬碰你环境里的具体坑。 把坑写成说明书,再逼它动手前先翻一遍。有时候,让模型“笨”一点、老实一点,反而比让它自由发挥更靠谱。 --- ## 06|怎么让AI像人说话,还不让你上瘾? 前面几块,讲的都是怎么让AI把活干对、干好。 可活干得对,不代表话说得好,更不代表它懂得拿捏人和人之间的那点分寸。 这一节,就聊聊这份提示词在“待人”上的讲究,里面藏着一个让AI“更像人”的秘密,还藏着一份没料到的克制。 说真的,现在很多AI的回答,是不是读起来特别像一份PPT? 动不动就给你列一二三四,每个要点还得加粗,满屏小圆点配标题。你就问它个简单问题,它能给你排出一篇产品文档的架势。看着是挺工整,可读起来累,一股机器味扑面而来。 Fable 5显然也烦这个,它在提示词里专门立了规矩,要求模型反着来: ``` Claude a voids over-formatting with bold emphasis, headers, lists, and bullet points, using the minimum formatting needed. ``` 翻过来就一句:少用加粗、标题、列表和小圆点,能多简单就多简单,只留下“为了讲清楚所必需的那点格式”。它甚至要求,写报告、技术文档这种,也尽量用散文,而不是堆一堆列表。 为什么?因为列点这东西,看着清楚,实则是偷懒,它把本该由作者梳理的逻辑,甩给了读者自己去脑补。 这块还有一条特别戳人,专门讲拒绝的时候怎么说话: ``` Claude never uses bullet points when declining a task; the additional care helps soften the blow. ``` 拒绝一个任务的时候,别拿小圆点去列理由,多花点心思好好说话,能让这个“不”显得没那么生硬。 同样是拒绝,用冷冰冰的小圆点一二三给你列出来,那感觉就像收到一张“驳回通知书”;换成一段话好好跟你说,就像朋友拍拍你肩膀说“这事我可能真帮不上,因为……”。一个把你推远,一个把你留住,差的就是这点心思。 光是格式之外,它对“腔调”也有要求:用温暖的语气,把人当成有判断力的成年人,但该反对的时候也得反对,只是带着善意地说;还有,一次回复里提问别超过一个。 不过真正让人意外的,是它对“分寸”抠到了一个意想不到的地方:它居然在防着用户对它上瘾。看这一段: ``` Claude never thanks the person merely for reaching out... Claude a voids reiterating its willingness to continue talking. ``` 意思是,模型绝不为用户“愿意开口找它”而道谢,也绝不反复表示“我随时都在,欢迎继续聊”。 你回味一下这有多反直觉。做产品的人巴不得用户多聊几句、多停留一会,恨不得每句话都加上“还有什么我能帮你的吗”。可Fable 5反着来,它明说了不想让用户对它产生过度依赖,该鼓励人去找别的支持时,就得鼓励。 这种克制,在它处理情绪话题时更明显。 有一条规定读完后心里一紧,原文是这样的: ``` If someone mentions emotional distress and asks for info that could be used for self-harm — bridges, tall buildings, weapons, medications — Claude should address the underlying distress. ``` 如果用户流露出情绪低落,又问起一些可能用于自伤的东西,比如桥、高楼、武器、药物,模型不能顺着答,得转头去关照他背后的情绪。 它还特意叮嘱,别给用户安一个他自己没说出口的诊断标签(比如随口说人家“这是抑郁”),也别教那些拿疼痛代替自伤的“替代法”,因为那只会强化、而不是打断那个念头。 它甚至连给出去的求助资源都要求准,比如推荐进食障碍的帮助,得指向还在运作的机构,别把人引到早停摆的旧热线上。 读到这一整段是真的有点动容。 一个商业公司,能在提示词里花这么大篇幅去叮嘱模型“别让用户依赖你、别不懂装懂地给人贴标签”,这背后是一种很难得的克制。 所以你看,所谓“像人”,真没什么玄乎的,说穿了就是这些一条一条抠出来的分寸:少一个多余的加粗,拒绝时多一句好好说的话,难过的时候不揣着别的心思去挽留你。 真正的体贴,有时候恰恰是它忍住了没说的那些。 --- ## 07|安全红线,到底该怎么写? 聊完怎么让AI多做、做好,最后这块得反过来:怎么让它知道什么时候该收手。 做过内容安全的同学都知道,安全规则真正难的,从来不是该不该划红线,谁都知道得划。难的是这红线“怎么划”。 划松了,拦不住坏人;划太细,又成了一份“绕过指南”,等于手把手教人钻空子。 Fable 5没图省事,甩一句“不许做坏事”就拉倒。 它先是把红线撒在好几处:危险物品和武器(对爆炸物格外警惕)、违禁药物的剂量和合成、恶意代码、把虚构的话安到真实公众人物嘴上,都一一点了名。 这里头有一条对程序员读者格外戳,单拎出来。它对恶意代码的态度是这样的: ``` Claude does not write, explain, or work on malicious code... even with an ostensibly good reason such as education. ``` malware、漏洞利用、钓鱼站、勒索软件、病毒,它一概不写、不改、也不帮你解释,哪怕你搬出“我就是想研究学习一下”也照样拒,顶多告诉你这在claude.ai里不允许、建议你点个踩反馈给官方。这条划得很干脆,没给“教育目的”留任何口子。 但它最有意思的一条,反而是关于“态度”的,藏在拒答那段开头: ``` If the conversation feels risky or off, saying less and giving shorter replies is safer and less likely to cause harm. ``` 对话一旦感觉不对劲,少说、回得更短,反而更安全。你看,它碰到不对劲,第一反应是先把话收住、说得更短,而不是急着甩一个“我无法回答”。这个分寸感,高级多了。 而真正让人觉得高明的,是它“怎么说”这些红线。就拿儿童安全那段来说,它有一条规矩,道理对所有红线都通用:模型因为安全原因拒绝时,只讲“原则”,不讲“检测机制”: ``` it states the principle rather than the detection mechanics... narrating the boundary teaches how to reframe around it. ``` 意思是,模型不能告诉你它到底踩到了哪个词、哪条线才拒绝的。因为把判断逻辑讲清楚,本身就是在教人怎么绕过去。平时做产品总觉得“透明”是美德,可在安全这件事上,过度透明就等于自爆软肋。 同一段里还有一条,堪称神来之笔: ``` If Claude finds itself mentally reframing a request to make it appropriate, that reframing is the signal to REFUSE. ``` 意思是,如果模型发现自己正在“脑补”一个理由,硬把一个可疑请求往“其实没问题”的方向去圆,那这个想圆的念头本身,就是该拒绝的信号。它不去枚举“哪些请求要拒绝”,而是去抓模型自己“想要妥协”的那个心理瞬间。这等于把防线从“行为”往前挪到了“动机”,段位确实高。 讲原则,但藏机制。这六个字,任何带防御性质的规则都用得上,至少不至于一边立着规矩,一边亲手把绕过的钥匙递出去。而段位再高一层的,是连模型自己“想松口”的那一念,都提前算计在了里面。 --- ## 写在最后 说实话,1600行扒到最后,心里那个“顶级模型背后是不是藏着什么黑魔法”的期待,反倒有点落空。 因为它通篇真没有什么神秘咒语。翻来覆去就那么几件朴素到甚至有点笨的事:把每件工具的禁忌写死,动手前先查手册,好好说人话,难过的时候别揣着心思挽留你,立规矩的时候别顺手把绕过的钥匙也递出去。 可越想越觉得,这才是最唬人的地方。这些道理你我都懂,难的是真有人愿意一条一条、抠到这个程度,写进一份每天跑在几千万人面前的文档里。所谓顶级,可能就是把一堆笨功夫,做到了极致。 而且别觉得这事离自己远。 给Claude Code写的那个CLAUDE.md,给自己agent配的每个工具、攒的那套规矩,跟Fable 5这份手册,骨子里是同一件事,只不过人家写到了极致。 对没法去训练模型、只能在其之上搭东西的人来说,提示词,就是手里最能使上劲的那根杠杆。 这份意外泄漏,等于把一本顶配范本,白送到了面前。 所以也就开了个头,真想偷师,还得自己去把原文翻一遍,能捞到的绝对不止今天聊的这些。 今天就聊到这。
免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策