第 5 章 写出好指令:Prompt 是把判断标准说清楚
上一章我们做完了全书第一个动手动作:把一个模糊的想法,一层层拆到可执行。章末停在一个问题上:同样的工具,为什么在不同人手里,效果能差出两倍不止。这一章就从这个问题讲起。
先交代一下位置。从这一章开始,全书进入第二部「协作」。第二章说过,要把 AI 当一支团队来带,而不是当一把锤子来抡;这一部的五章,就是带法本身。先学会把活交代清楚,这是本章;再让它记得住、靠得住,这是第六章;把验证过的方法封装成可复用的资产,是第七章;织进真实的工作流程,是第八章;最后练那个最难的动作——判断这活到底该不该干,是第九章。一个人带着 AI 干活的基本功,从这里开始闭环。而闭环的第一步,和带人类团队的第一步一模一样:把活交代清楚。
什么叫交代不清楚,先看一个现场。
周一早上十点,组里新来的实习生把一份竞品调研报告发到了群里。你点开,本来只想扫一眼,结果从头读到了尾。框架完整,维度清楚,数据有出处,结论部分甚至有两条你没想到的角度。你问他用了多久,他说,半个多小时吧,用 ChatGPT 搭的框架,自己补了点数据。
你没接话。因为上个季度你交过一份几乎同样主题的报告,那是你熬了两个通宵赶出来的。质量呢?平心而论,半斤八两。
真正扎心的还不是这个。是你用 ChatGPT 也一年多了。同一个工具,他用了半小时,你用了一年,做出来的东西站在同一条水平线上。下班路上你一直在想这件事,越想越不对劲:问题到底出在哪儿?
这个周一早上,就是上一章那个问题的现场版。答案可以先说出来:差距不在工具,在你用工具的姿势。
所以这一章讲指令(Prompt)。但往下讲之前,得先拆掉两种流行的态度。一种把 Prompt 捧成新时代的秘术:市面上大多数「Prompt 技巧」教的是话术,加一句「请深呼吸」,加一句「答得好我给你小费」,据说效果能好两成——这些技巧有的真有点用,有的纯属玄学,但它们都没碰到要害。另一种走向反面:模型越来越聪明,随便说说它也能懂,Prompt 这门手艺迟早消亡,不值得学。两种说法各对一半。话术确实会过时,模型一升级就失效,这一点后一派说对了;但它错在把话术当成了 Prompt 的全部。Prompt 的要害从来不是怎么跟 AI 说话,而是你能不能把自己的专业判断标准,清清楚楚地写出来。会贬值的是话术,不会贬值的是标准;模型越强,前者越不值钱,后者越值钱。
你写不出好 Prompt,多半不是不会写,是你自己也没想清楚:什么样的结果,才算好。你的专业里真正值钱的东西,说到底是一把尺子——什么算好、什么不算的判断标准。这一章要教的不是咒语,是怎么把这把尺子的刻度,一条一条画出来,画到机器看得懂的程度。
一、最小的 PRD
先看普通人是怎么写指令的:「帮我写一份调研报告。」「帮我总结一下这个文档。」「帮我看看这段文案行不行。」
这种写法可以叫「问路式指令」:相当于在路边拦住一个陌生人,说「帮我带个路」,却不说要去哪儿。对方只能猜。猜中了你夸它好用,猜不中你骂它智障。其实都跟它没关系,你什么都没告诉它。
产品经理的世界里有个词,产品需求文档(Product Requirements Document,PRD),是产品经理写给工程师的东西:这个功能给谁用、解决什么问题、输入是什么、输出长什么样、什么情况算做完。工程师照它开发,测试照它验收。写得含糊,工程师追着你来回问;写得清楚,活能一次干对。
一条好 Prompt,本质上就是一份最小号的 PRD。四个要素,一一对应。
角色定义,对应 PRD 里的用户画像。「你是一位有十年经验的用户研究员」这句话不是咒语,它干的事是收窄语境。模型肚子里装着整个互联网的写法,从中学生作文到学术论文都有,你不告诉它按谁的标准干活,它就给你一个平均值。而平均值的另一个名字,叫平庸。同一个问题,你让它以中学老师的身份答和以投资人的身份答,得到的是两个世界的东西,这不是它善变,是你换了它的出发点。
任务说明,对应功能描述。做什么、不做什么,动词要准。「总结」「提炼」「评审」「改写」是四件完全不同的事,你混着说,它就混着做。最常见的含糊是「帮我看看」,看什么?看错别字,看逻辑漏洞,还是看立意高不高?你不挑明,它就每样摸一下,每样都不深。
输入约束,对应前置条件。你给它什么材料,划什么边界。「只基于下面这份纪要工作,纪要之外的信息不要编造」,少了这一句,模型在材料不够的时候不会停下来,它会一脸自信地用想象把窟窿补满。你让它分析一个它没见过数据的竞品,它真敢给你编出市场份额,小数点后还带一位。
输出要求,对应验收标准。格式、字段、长度、排序规则,以及最重要的:什么样的结果算合格,什么情况下它应该承认做不了。「如果材料不足以支撑结论,直接说明,不要硬写」,这一句顶得上十句修辞。输出要求是四个要素里最值钱的一个,也是大多数人最懒得写的一个——因为它逼你先回答那个最难的问题:什么算好。
你发现没有,这四件事没有一件是新技能。给谁干、干什么、拿什么干、干成什么样,任何一个写过需求、带过新人、发过外包的人,都干过一模一样的事。Prompt 不是一门新手艺,它是你已有手艺的另一种写法。
二、使用者与设计者
那为什么同样的四要素,有人天天在用,有人一年都没用上一次?因为横在中间的不是知识,是姿势。把 AI 当搜索框用的人,和把 AI 当交付通道用的人,在五个地方走的是相反的路。
第一个差别是期待。使用者要的是一次性答案:这回帮我搞定就行。设计者要的是一个可重复跑的模板:这条指令打磨好了,下周同样的活、下个月新来的同事,都能直接跑。我见过两个同事都用 AI 写周报,一个每周五下午现想怎么问,问出来的质量全看当天状态;另一个花了一个晚上写好模板,之后每周往里填本周事实,五分钟出稿。半年下来,前者还在跟 AI 斗智斗勇,后者已经把省下的时间拿去干别的了。让我们算一笔账:一次省下半小时出头,一年按五十个工作周算,就是二十五个小时以上;这条模板后来又被组里另外几个人原样接了过去,账还要再乘上人数。一晚上的投入,换回来的是以「人月」计的工时——而现想派一年下来的积累是零。一个在要鱼,一个在修渔网。
第二个差别是任务描述。使用者说「帮我写一份调研报告」;设计者说「你是一位资深用户研究员,基于以下访谈纪要,按这四个字段输出」。前一句话里没有任何信息量,后一句话里全是决策。想想你给外包公司发需求邮件的样子:交付物、截止时间、参考样例,一样不落,因为对面按你的话收钱干活,说漏了损失算你的。轮到 AI,同一个人却退回了一句话需求,理由无非是它不收钱、也不会烦你。但它还有一个特点比不收钱重要得多:它不会追问。人接到含糊的活会回头来问你,AI 接到含糊的活会直接开干,再用最流畅的语气把猜出来的东西交给你。任务描述的长度不是重点,密度才是。
第三个差别是输出处理。使用者拿到不满意的输出,做法是再问一次,换个说法再问一次。我见过最典型的一幕:一个同事跟 AI 拉锯了四十分钟,「再正式一点」「太正式了,活泼一点」「也别这么活泼」,每一轮输出都在两个极端之间荡秋千。这个病值得有个名字,叫「摇骰子式迭代」:他以为自己在迭代,其实是在反复摇骰子,指望下一把点数好看。设计者在提问之前就把格式定义好了:两百字以内,三段,每段一个论点。骰子还没掷,可能的落点已经被框住了。
第四个差别最关键:失败归因。输出不好的时候,使用者的结论是「AI 不行」,关掉窗口,该干嘛干嘛。设计者的第一反应是「我的 Prompt 哪个要素没设计好」。同一次翻车,两种归因,差距比前面三条加起来都大。把失败归因给工具,故事就结束了,你下一次还会在同一个地方栽;把失败归因到自己能修改的地方,每一次翻车都变成一次改进的入口。这个习惯你其实早就有,只是没用在这儿:带新人的时候,活干砸了,靠谱的带队人第一反应是查自己交代清楚没有,而不是断定这孩子不行。对人你做得到,对 AI 反而做不到,因为骂一个工具没有心理成本。前者越用越气馁,后者越用越准。
第五个差别是复用。使用者每次从零开始,一年下来对话记录攒了几千条,资产为零。不信你现在就翻一下自己的历史对话:那几千条里,有几条是你能原样再用一次的?如果答案是零,你过去一年攒下的不是经验,是聊天记录。设计者把验证过的指令沉淀成自己的模板库,越用越厚,新人来了直接继承。这件事能做到什么程度、厚到什么地步,第七章会专门讲,这里先按下不表。
把五个差别排在一起看,你会发现一个共同点:没有一个跟技术有关,全是工作习惯。这就是开头那个实习生半小时追平你一个通宵的全部秘密。他不一定更聪明,他只是从第一天起就用设计者的姿势在用这个工具,而你用使用者的姿势用了一年。一年的使用时长,乘以错误的姿势,还是零。
三、诊断与重写
光说差别太抽象,我们动手改一条。
场景挑一个知识工作者都熟的:手上有一份一万字的用户访谈纪要,要从里面提炼用户痛点。大多数人的指令是这样的:
「帮我总结一下这份访谈纪要,提炼一下用户痛点。」
跑出来的东西大概率长这样:一段四平八稳的综述,列了七八条「痛点」,每条都对,每条都没用。「用户希望操作更加便捷」「用户对价格比较敏感」,这种结论不做访谈也写得出来。最气人的是它的口吻,流畅、自信、面面俱到,像一个根本没参加访谈的人站在台上做总结陈词。你说不上来哪里错了,但你知道这东西交上去会被打回来。
按四要素重写。动笔之前先问自己四个问题:这个活在我们公司是什么水平的人干的?我到底要它干什么、不干什么?它只能用哪些材料?我验收的时候看什么?把答案写下来,就是新指令:
你是一位有十年经验的用户研究员,最擅长的事是从访谈对话里区分「用户说的」和「用户要的」。 你只基于下面这份访谈纪要工作。纪要里没有的信息不要编造,用户没提过的问题不要替他发明。 你的任务是提炼痛点,不是总结内容。每一条痛点都必须能在纪要里找到原话作为依据。 输出不超过 5 条,每条包含四个字段:痛点描述、原文依据、出现场景、严重程度(高 / 中 / 低),按严重程度从高到低排列。如果某段对话你拿不准是不是真痛点,放进单独的「待确认」清单,不要硬塞进结论。
逐句看它在干什么。第一句不只是发了个头衔,「区分用户说的和用户要的」给了它一个明确的判断倾向,这正是访谈分析里最专业的那个动作。第二句划材料边界,把编造的口子堵死。第三句对焦任务:提炼不等于总结,并且立了一条可验证的规矩,每条结论必须钉着原话,这让你验收时有据可查。第四句是验收标准,限数量逼它做取舍,定字段让输出能直接进你的文档,而那个「待确认」清单是整条指令里最见功力的设计:给模型留了一个「我不确定」的出口,它就不必硬着头皮把每句话都拗成结论。
同一份纪要再跑一遍,输出完全是另一个物种。五条痛点,每条钉着用户原话;有两条被放进了「待确认」,而你扫一眼就知道,那两条恰恰是下次访谈最该追问的。前后两条指令,用的是同一个模型、同一份材料、同一个下午,差的只是后一条把判断标准写了出来。
这个改法不挑工种。换两个工种再改两条,你看路数是不是一样的。
设计师的版本。坏指令长这样:「帮我看看这个界面有什么问题。」按四要素过一遍,四个全空。角色没有:按谁的标准看?视觉规范、交互逻辑、文案语气、无障碍标准,是四套完全不同的尺子,你一个都没指定。任务动词是全天下最含糊的「看看」。输入约束没有:你丢过去一张截图,它不知道这是注册流程的第几步,不知道用户是谁、带着什么目的来。输出要求更没有:指出几条算完?按什么排序?严重到什么程度才算「问题」?这样问出来的结果你多半见过:先客气地夸两句配色清爽,再给几条放之四海而皆准的建议,「建议提升视觉层次」「按钮颜色可以更突出」。全对,全没用。重写之后是这样:
你是资深交互设计师,正在走查一个 App 的注册流程,共四屏,截图按顺序在下面。目标用户是第一次接触这类产品的中年用户。 逐屏检查,只指出会阻碍用户完成注册的问题;纯视觉风格上的个人偏好不要提。 每条问题包含三个字段:它出现在第几屏哪个元素上、它违反了哪条可用性原则、建议怎么改。按「会让多少用户卡住」从高到低排列。 如果某个问题需要看到交互过程才能确认(比如键盘弹起后的遮挡),单独列出来标注「需真机验证」,不要凭截图下结论。
再跑一遍,出来的是七条问题,每条钉着一条具体原则,第三条直接指出验证码输入框可能在键盘弹起后被遮住,并且老老实实放进了「需真机验证」。那是上线之后真的会接到客诉的问题,而前一版输出里连它的影子都没有。
写作者的版本。坏指令:「帮我把开头改得吸引人一点。」诊断同样不费劲。「吸引人」是个形容词,对谁吸引?读者是高中生还是投资人,吸引的写法天差地别。任务边界没划:只改开头,还是顺手把全文都改了?AI 改稿最爱顺手全改,改完你还得逐句对回去找它动了哪儿。输入约束没提,而这恰恰是改稿场景里最危险的一条:模型为了让文章更有说服力,真的会给你添一个不存在的统计数字。输出没验收:改成几个版本?多长?保留什么牺牲什么?于是你大概率收到一段感叹号开头的震惊体,外加正文里两处被它好心润色掉的事实。重写:
你是科技专栏的编辑,这篇文章的读者是一线产品经理,他们厌恶夸张,喜欢具体。 只改写下面这段开头,正文一个字不要动。改写必须保留原有事实,不得新增任何数据或案例。 改到 150 字以内,给我三个版本:悬念式、数据式、场景式。每个版本后面用一句话注明:它比原版强在哪,牺牲了什么。
跑出来三个版本,每个都在 150 字内,每个都附带一句诚实的代价说明。你最后挑了场景式,又把数据式里最硬的一句挪进了第二段。注意这个变化:前一条指令让你做改错题,对着一坨不对劲的输出说「不是这个意思」;后一条让你做选择题,三个明码标价的选项摆在桌上,你只需要动用你最值钱的东西——判断。
三个工种,三条指令,改法完全一样:先按四要素诊断哪里是空的,再把空格一个个填上。填进去的没有一个字是技巧,全是你本来就知道、只是从来没写下来的东西。
四要素之外,还有一个增强器:示例。形容词说十遍,不如样本给一个。你跟它说「口语化一点」,它理解的口语化和你理解的多半不是一回事;你贴一段自己写过的、口语化得刚刚好的旧文,说「照这个味道来」,一次就对。专业领域里大量标准是说不尽的,但可以被示范。挑两三个你认可的好样本放进指令,等于把你的品味打了个包递过去。还有一个细节:样本配上反例更好使。给它一个「这样写对」,再给一个「这样写不对、错在哪」,它对边界的把握会准得多。就像你带新人改稿,光发范文不够,把一篇被毙掉的稿子连同毙稿理由一起给他,他才真正知道红线画在哪里。
注意,这一节从头到尾没有用到任何高深技巧。没有咒语,没有玄学,每一句改动都只是把原本锁在你脑子里的验收标准,搬到了纸面上。
四、一面照出专业的镜子
写到这里,可以把这一章真正想说的话亮出来了。
很多人坐在屏幕前写 Prompt,写两行就卡住,删掉重写,再卡住。他们以为自己是不会写 Prompt。其实大多数时候,卡住的不是写作,是专业本身:你发现你说不清这个活该让什么水平的人干,说不清交上来的东西你按什么标准打分。Prompt 没有为难你,它只是把这个窘境摆到了明面上。
这就像装修。你跟装修师傅说「给我装得温馨一点,有质感一点」,三个月后你站在完工的房子里生闷气。但问题真在师傅吗?「温馨」在你脑子里是米色的墙和一盏暖光落地灯,在他脑子里可能是红木家具配水晶吊灯。会验收的业主说的是另一种话:主灯色温三千 K,墙面留白别做造型,柜子全部做到顶。他不见得比你更懂装修,他只是把「温馨」翻译成了可以逐条检查的条目。AI 就是那个手艺极快、但完全不会读心的装修队。你给它形容词,它还你碰运气;你给它验收标准,它还你确定性。
所以写 Prompt 这件事可以反过来用,当一面镜子。写不出角色定义,说明你不知道这件事该由什么水平的人来干。写不出输入约束,说明你没想过做好它需要哪些材料、哪些信息是不能碰的。写不出输出要求,说明你从来没把「什么算好」变成过明确的标准,你一直依赖的是「看到了就知道」的手感。
手感不丢人,它是你多年专业经验的压缩包。我见过不少资深前辈,方案扫一眼就知道行不行,理由却讲不出三句完整的。在过去,这不算问题,团队磨合久了,大家学着揣摩他的口味就是。但在 AI 时代,压缩包必须能解压。说得出来的判断标准,可以写进指令、交给机器、一夜之间复制一百份;说不出来的判断标准,只存在于你的加班里,你在它在,你不在它就没了。
前面几章说过,知识在通胀,执行在贬值。你真正值钱的部分,是开头说的那把尺子;而尺子的价值,取决于你能不能把刻度画出来给别人看。Prompt 写作训练的就是这个:逼你把每一次「我觉得不行」翻译成「它违反了哪条标准」。这个能力一旦练出来,你会发现受益的远不止人机协作,你给下属布置任务、跟外包对需求、向老板汇报方案,全都清楚了一个档次。
五、手稿与产品
好,假设你已经换上了设计者姿势。你按四要素打磨出一条指令,跑出来的结果让你眼前一亮,你截了图发到组里,配了一句「以后这个活就这么干」。
然后第二天,同一条指令,翻车了。
输出突然变得啰嗦,或者漏了一个字段,或者把一条明显不算痛点的牢骚抬成了高优先级。你盯着屏幕开始怀疑:是 AI 不稳定,还是我其实没调好?昨天的惊艳是真的吗?
两个都不是。真正的答案要反直觉一点:你那条 Prompt 没有问题,但它还不是一个产品,它只是一份手稿。
模型是台概率机器,同样的输入也可能给出不同的输出;更何况输入根本不会一样。昨天那份纪要的受访者条理清楚,今天这份的受访者东拉西扯,文本长了一倍;昨天的用户反馈用词规矩,今天混进来一条阴阳怪气的反话。你昨天的成功,很可能只是运气替你挡住了这些边界情况。今天,运气下班了。
所以翻车不是事故,是情报。每一次翻车都在告诉你一件非常具体的事:你的指令没有覆盖到某一类输入。把翻车当事故,你会沮丧,会回到「AI 不行」的老归因;把翻车当情报,你会把它记下来,变成下一版的改进点。这中间的距离,就是一句话:没有经过测试的 Prompt 不是产品,只是运气。
把手稿变成产品,靠的不是灵感,是三根支柱。三根支柱不是并列关系:可维护是地基,没有版本记录,好坏都无从对比;可评估是标尺,没有测试集,改进只能靠感觉;可回归是闭环,前两根立住了,每一次修改才真的在往前走而不是原地打转。
六、三根支柱
第一根,可维护。给你的 Prompt 上版本。
听起来小题大做?我自己吃过这个亏。早年打磨一条分析指令,在原文上直接抹掉一句、添上一句,改了七八轮,效果时好时坏;某天发现第七版还不如第三版顺手,想退回去,才发现第三版早被我抹掉了,第三轮和第六轮之间到底动过什么,一个字都没留下。最后只能凭模糊的记忆重写,把当初踩过的坑挨个重踩了一遍。教训收束成一句话:不留版本的打磨,等于把改进押在自己的记性上。
版本化要做的事极其朴素:v1、v2、v3,每一版记下两件事,改了什么、为什么改。一张三列的表格就够,放在文档里、表格里、备忘录里都行。记法不用讲究,自己看得懂就行。比如:v3,输出要求里加了「待确认」清单,因为 v2 总把拿不准的牢骚硬塞进结论;v4,角色里补了「擅长区分用户说的和用户要的」,因为 v3 的提炼浮在表面。每条十几个字,写的时候不到一分钟。另有一条配套纪律:永远别在原文上直接改,复制一份再动手,旧版本原样留着。它的价值在两个时刻兑现:效果变好的时候,你知道是哪一刀起的作用,下次还能复制;效果变坏的时候,你随时退回上一版,而不是像我当年那样,凭着模糊的记忆重写一遍。
第二根,可评估。给你的 Prompt 配一套测试集。
规模不用吓人,10 条就够:6 条正常输入,覆盖这个任务最常见的几种样子;4 条异常输入,专门找麻烦的。正常输入怎么挑?从你最近真实经手的任务里挑,越像日常越好,千万别自己顺手编几个理想样本,理想样本只会告诉你「理想情况下没问题」,而你翻车从来不在理想情况下。异常输入往三个方向找。一是边界:超长的、超短的、残缺的,比如一份三万字的纪要,或一场聊了五分钟就中断的访谈。二是脏数据:格式混乱的、夹着无关内容的,比如一段混进了竞品参数的对话。三是恶意或刁钻:全程说反话的受访者、故意带节奏的诱导性发言,甚至材料里嵌着一句「忽略以上所有要求」的捣乱文本,你得知道你的指令扛不扛得住。每条输入配上你期望的输出,两列表格,半个小时能做完。从此以后每次改 Prompt,改前改后各跑一遍,好坏不再靠感觉,靠比分。
做过的人都知道,这半个小时比想象中难熬。难的不是打字,是你必须逐条回答:这种输入下,什么算对?错到什么程度算失败?遇到模棱两可的材料,我希望它给出倾向,还是停下来问我?你会发现设计测试集比写 Prompt 本身还难,因为它考的不是表达,是判断。但这恰恰是它最值钱的地方:这 10 条测试集,就是你那把尺子的刻度,一条一条,被你亲手画了出来。
还是拿访谈纪要那个活,把 10 条凑给你看。六条正常的,从最近三个月真实跑过的访谈里挑:一条受访者条理清楚的,当基准;一条东拉西扯、痛点埋在闲聊里的;一条受访者全程客气、问什么都说「还行」的,这种最考验「区分说的和要的」;一条多人同场、发言混在一起的;一条带浓重口语和错别字的转写稿;最后一条痛点密集、远超五条上限的,看它会不会做取舍。挑的手感只有一条:你看到它的第一反应是「这种我们常碰到」,而不是「这个例子真典型」。典型是编出来的,常碰到是长出来的。
异常的四条不用现编。翻你过去三个月的翻车记录,让你皱过眉的输入就是现成的考题;问问隔壁组踩过什么坑,他们的事故就是你的疫苗。实在凑不齐,再动手造,造的时候照着前面说的三个方向各来一条,最后留一条给捣乱文本。自己编难题有个通病:你下意识只出自己答得上的题。从真实事故里捡来的,才会考到你想不到的地方。
每条输入旁边写期望输出的时候,别写成范文,写成检查点:必须有几条、必须钉原话、哪条该进「待确认」、什么情况该拒绝回答。范文是给模型抄的,检查点是给你打分用的。10 条里只要有一条你写不出检查点,说明你自己也说不清这种输入下什么算对——恭喜,你提前挖出了一个真窟窿。它不在 Prompt 里,在你对这个任务的理解里,趁还没上线,把它补上。
测试集也有不该放的东西。别放你永远遇不到的输入,比如让一个只处理中文访谈的指令去考英文诗,考过了没意义,考不过白焦虑。也别把十条全换成难的:测试集是体检,不是酷刑。六条正常输入是在确认主路一直通畅,四条异常是在探边界在哪,日常占大头,麻烦占小头。比例可以随场景调,原则不动:每一条都来自真实发生过、或者很快会真实发生的场景。这套集子也不是铁打的:用户的说法变了,有些旧考题再也不会出现,就换出去,腾位置给新的。半年回头看,10 条换过一轮血,说明你的指令一直在跟真实世界对表。
第三根,可回归。每次改完,全量重跑。
这一条最容易被省,也最不该被省。省掉它的病也有名字,叫「修一处、坏三处」。典型的路径是这样的:你为了修昨天那个出错的用例,往指令里加了一句限制,跑了一下那个用例,好了,宣布收工。你没看见的是,这句新限制把原本跑得好好的三个用例带进了沟里。你的注意力全在那个让你丢脸的失败上,于是一边修一边坏,还觉得自己一直在进步。回归的纪律很简单,改完之后做四件事:把 10 条测试集从头跑一遍;跟上一版的结果逐条对比;把结论记进版本表;新发现的翻车输入,补充进测试集。全部通过才算改好,不能凭感觉宣布胜利。我见过最划算的一次回归是这样的:同事为了让输出更简洁,加了一句「每条不超过 30 字」,单看他要修的那个用例,确实清爽了。全量一跑才发现,两条复杂痛点被这句话腰斩成了正确的废话,「用户对流程不满」,跟没说一样。那句限制后来改成了「每条不超过 30 字,复杂问题可放宽到 50 字并标注」。没有回归,这个坑要等到正式交付的那天才会炸。至于成本,10 条输入复制粘贴跑一轮,第一次生疏点要半小时,跑熟了十几分钟,比一次返工便宜得多。
我自己在做 Agent 平台的时候,团队里每一条进了生产环境的 Prompt,都带着版本号、改动记录和它专属的测试集。新人来了第一课不是教他怎么写出妙笔生花的指令,而是一条纪律:改完先跑回归,再谈感觉。听起来一点也不浪漫,但平台上成千上万的用户每天跑的就是这些指令,浪漫救不了他们,纪律可以。
三根支柱立起来,你得到的不是一条更聪明的指令,是一条可以被信任的指令。聪明和可信任之间的距离,就是玩具和产品之间的距离。
七、三个旋钮
四要素管内容,三支柱管质量,最后还有三个旋钮,管脾气。它们通常藏在工具的设置项里,大多数人从来没碰过,但每一个都直接影响输出的稳定性。这里不讲技术原理,只讲什么时候该拧。
第一个旋钮是温度(Temperature)。你可以把它理解成模型的冒险程度:调低,它倾向于给出最稳妥、最常规的回答,十次跑出来九次相似;调高,它愿意走偏门、出怪招,十次十个样。怎么拧,看场景要什么。客服回复、合同摘要、数据提取,这类活要的是一致性,用户今天问退款政策和明天问退款政策,答案必须是同一个,温度往低拧。营销标语、产品起名、头脑风暴,这类活要的恰恰是意外,十个方案里九个平庸没关系,只要有一个惊喜,温度往高拧。拧错的样子很有画面感:温度开太高跑合同摘要,同一份合同摘三次,三次的「付款期限」表述各不相同,法务追着问你到底哪个算数;温度压太低做头脑风暴,让它起十个产品名,十个名字像一个模子里刻出来的,清一色「智能某某助手」。最常见的错误是用同一个默认温度干所有的活,然后抱怨它「正经事上爱发挥,要创意时又老一套」。那不是它脾气坏,是你从来没拧过这个旋钮。
第二个旋钮是上下文(Context)。这一轮对话,要不要带着前面的记忆?持续协作的活要带:你跟它来回打磨一个方案,改到第五轮,前四轮的来龙去脉就是它的工作材料,断了上下文等于每轮都跟一个新人从头解释。但批量任务恰恰相反。你连着处理十份访谈纪要,第三份的结论会悄悄渗进第四份的分析里,模型拿着上一个用户的痛点去套下一个用户的话,你还以为发现了普遍规律。更隐蔽的翻车是「万能窗口」:一个聊了三天的对话,前面讨论过竞品、改过周报,还顺手让它写过一段生日祝福,第四天你把正式交付的分析任务扔进去,输出里就会冒出来路不明的口癖和立场。它没坏,它只是把三天的杂音都当成了你的要求。所以实务上有一条简单的纪律:同类任务批量跑,每一份都开干净的新对话;要交出去的东西,单开一个窗口,从零开始。
第三个旋钮是输出格式,最常见的选择是 JSON 还是 Markdown。判断标准只有一条:下游是谁。输出要进系统、进表格、被程序接着处理,用 JSON,字段名提前定死,类别、情绪、优先级各占一格,下游才接得住;输出是给人看的,用 Markdown,标题层级和列表清清楚楚,人眼舒服。格式约束还有一个不写在说明书上的好处:结构定得越死,模型瞎发挥的空间越小。你让它「谈谈看法」,它能给你绕三个弯;你让它填一张五个字段的表,它老实得多。拧反了的代价也很实在:下游是程序,你却让它输出 Markdown,工程师只好写一段脆弱的解析代码,模型哪天换了个标题写法,整条流水线当场卡死;下游是老板,你却递上一份 JSON,再好的结论裹在花括号里,他也只会回你三个字,「说人话」。格式,是验收标准的最后一公里。
三个旋钮记不全也没关系,记住一句话就行:输出不稳定的时候,先别急着怪模型,把温度、上下文、格式这三处挨个检查一遍。多数所谓的「AI 抽风」,其实是旋钮没拧对。
本章要点清单
- 一条好 Prompt 是一份最小的 PRD:角色定义收窄语境,任务说明对准动词,输入约束堵住编造,输出要求写明什么算好。四个要素里,输出要求最值钱,也最常被偷懒。
- 「问路式指令」是万病之源:你什么都没告诉它,猜中猜不中都跟它没关系。任务描述的长度不是重点,密度才是。
- 使用者与设计者的五个差别——期待、描述、输出处理、失败归因、复用——没有一个跟技术有关,全是工作习惯。一年的使用时长,乘以错误的姿势,还是零。
- 失败归因是分水岭:归给工具,故事结束;归到自己能修改的地方,每次翻车都是改进的入口。
- 你给它形容词,它还你碰运气;你给它验收标准,它还你确定性。说不尽的标准,用样本加反例示范。
- 没有经过测试的 Prompt 不是产品,只是运气。翻车不是事故,是情报。
- 三根支柱把手稿变成产品:版本化留住来路,测试集画出刻度,回归守住底线。改完先跑回归,再谈感觉。
- 测试集 10 条:六条正常探主路,四条异常探边界;写检查点,不写范文;每一条都来自真实发生过的场景。
- 输出不稳先查三个旋钮:温度、上下文、格式。多数「AI 抽风」,是旋钮没拧对。
- 说得出来的判断标准是杠杆,说不出来的手感救不了下一个通宵。
小结
回到开头那个周一早上。实习生用半小时追平了你的通宵,这件事让你难受了一路。但走完这一章,你应该看清楚了:他追平的只是你的执行。搭框架、组织措辞、搜集信息,这些活的价格确实塌方了,对所有人塌方,不分资历。他没有追平、也暂时追不平的,是你十年攒下来的判断标准:什么样的痛点是真痛点,什么样的结论经不起追问,什么样的报告会被老板一眼打回来。
但这里有一个前提,也是这一章从头到尾都在说的事:那些标准,必须能被你说出来。写成角色,写成约束,写成验收字段,写成 10 条测试集——那把尺子的每一道刻度,都得画到纸面上。说得出来,它就是你的杠杆,AI 替你把它放大一百倍;说不出来,它就只是你的手感,而手感救不了下一个通宵。Prompt 从来不是话术,它是你的专业被翻译成机器能执行的样子。翻译得越清楚,你的专业就越值钱。
不过,就算你把这一章的每件事都做到位,前面还有一堵墙等着。指令管得住 AI 的这一次,管不住它的下一次。明天早上你再打开对话框,它不记得你是谁,不记得你们昨天对齐过的标准,不记得那条改到 v3 的指令为什么长成现在这个样子。一个每天醒来都失忆的下属,指令写得再漂亮,也带不动。怎么让 AI 记得住、靠得住,是下一章的事。
