提示工程:我们如何写好Prompt?
三月份的时候我们在北京办了场LangGPT线下沙龙,请来一位很有意思的分享嘉宾——
即刻Prompt达人、“织梦师101”主理人李继刚

最近终于把当时的逐字稿整理出来了,分享给大家。PS. 如果语句有点不通顺,那一定是小编的锅……
下面是刚哥的分享全文:
一、背景
我是李继刚,平时主要活跃在即刻上(同名“李继刚”)。严格来说不算AI圈的人,在互联网行业工作,但爱读书,每年大概能读50到100本。算是个读书人。
ChatGPT刚出来那会儿,我发现一个特别有意思的事:
我们读书时,书里通常是用一个方法论、一个理论框架、一个模型,来解释某个领域的。
以前你跟没读过某本书的人讲,这本书的理论或者方法论,用了三步法还是六步法去解决什么问题,对方得花时间消化。现在呢,可以直接把这些知识封装好交付,拿来就用。
不管是写一篇文章还是解决一个问题,选合适的GPTs就行,它用的是SCQA法(基于金字塔原理的写作或表达方法,层次清晰、逻辑性强),还是别的框架技巧?这些都能帮我们理解核心思想。
这个方法我实践了半年到一年,期间在即刻上分享了大量prompt,慢慢大家就知道了有这么个人。这就是今天的背景故事。
二、如何写好Prompt?
怎么写好Prompt?我觉得可以从三部分来拆解。
1. 理解LLM,《这就是ChatGPT》
首先,得深入理解大语言模型本身。不同模型——比如GPT、Claude、文心一言、智谱——即使输入相同的提示词,结果也完全不同。这个差异来自
各自的参数设置、训练语料库、微调策略不同,最终交付出来的模型能力自然千差万别。
所以,
了解每个模型的特点和能力,是构建有效prompt的基础
写提示词时,针对哪个模型写?这个问题得先确定。从实际使用来看,比如选Claude,用XML框架性描述输入效果就很明显;但要是把XML和markdown用到ChatGPT上,区别就出来了。
这就形成了一种偏好。对我个人来说,笔记习惯用log或markdown,ChatGPT用得顺手,所以一般会选定这个模型,然后
盯着它的官方文档更新:最近参数有没有升级、模型有什么变化,顺着这条主线跟住。
强烈推荐
《这就是ChatGPT》
这书我一直放桌头,没事就翻一下,读了三遍以上,每次都有特别的感觉。要是有一本书能把ChatGPT讲明白,就是它了——连“提示词不就是预测下一个字符”这种事都能讲透。强烈推荐。
这是理解GPT、理解LLM的部分。
2. 行业Know-How(个人素养)
理解了大模型,也看了一些技巧论文,比如情绪能影响输出、指定角色能提升效果等等。这些技巧总结下来不超过十条,大概六条左右。
市面上大家讨论的各种“骚”操作,罗列下来也就这十条。
但第一步完成,掌握这十条技巧就一定能写好prompt吗?跟人交流讨论、包括自己写的时候发现,还有第二个问题:
Know-how
对某个领域、行业、细分场景的理解到底有多深?
举个例子,你干制造业,整个工程链的流程环节、每个环节要注意的点,跟不了解的人分别去问GPT“这行业要注意什么”,再分别去写prompt,深度肯定有差异。行业里深耕多年的人,理解深度比GPT简单表述的框架要更深一层。而这层差异,直接决定prompt质量的好坏。
这也是想说的:大语言模型来了,大家喊“人类要下岗、人类要被灭”,因为它的能力太强,很多人表现远不如GPT。为什么?因为很多人在做事时本身就在重复,没有沉淀行业的know-how。
拿UI岗举例。如果一个人会的只是PS软件的功能——知道这个操作能磨皮、那个操作能去背景——那他就是靠功能吃饭,竞争力很弱,大概率会被替代。但如果他有know-how——一张图片怎么更好看?他有
审美,知道什么是美
隐性知识
所以很多人聊的时候说:技巧我也会,书我也读了,大模型文档我也看了,行业的东西我也知道,就去写了。但同样场景,为什么写出来差异还是很大?这里涉及
个人知识素养
这个地方最能拉开人与人之间的差距,这是第二部分要讨论的。
3. 逻辑清晰(不矛盾)
有些朋友来找我聊,工作内容比如写小红书、发抖音、写口播稿。基于对LLM的理解、用了些技巧、拿着他们对行业know-how的总结、SOP,我们去写。结果发现:同样的SOP(同一个公司,三个人同时写,认知都在同一层),写出来还是有差异。
我拿出三个人的prompt对比,发现在
逻辑
表达
一个人能不能把复杂的事情说清楚
这个地方最考验表达。我看那些prompt时,看到大量“前后不一致”的现象。比如前面说“你要用轻松自在幽默的语气传递内容”,后面在Workflow或SOP环节又说“你要严肃认真慎重对待每一个字”。这种
前后矛盾的不一致表达,会严重影响输出质量。
因为注意力会偏移,头和尾的注意力权重也不一样。同样一句话,用8个字表达还是用18个字表达——多出来的部分是废话,还是角度更丰富、表达更丰富?这需要认真思考、迭代。
这三个要素综合起来,是目前我觉得写Prompt最关键的三个环节。
“往前进”是说:LLM日新月异,每天更新,大家一觉醒来AI世界又变了——今天这个开源、明天那个参数突破。跟着它跑的过程中,会发现它其实在不断侵蚀人类的表达和思考空间。而真正的壁垒应该是“后边”这个部分:LLM能力越来越强,怎么让它为我所用、成为我的杠杆?我该做什么?
我觉得应该做到:
- 1.
清晰表达:我们知道的东西,能不能很清晰、简洁、直达内核地说出来?
- 2.
行业know-how:沉淀的东西多与少?
所以需要“往回退”,打好基本功——对自己行业理解够不够深刻?对感兴趣课题理解够不够?这两者结合,最后才能写出好的prompt。
三、如何快速写好初稿?
关于我之前写的那些prompt,快速生产的整个流程大概是什么样的?
写一个、两个、三个、五个,甚至更多prompt之后,会发现有很多重复工作。我自己有个原则:
一旦有件事重复做了三次,就会停下来。
计算机出身,写过代码的人多少有
复用思维
一般写的时候会用下面两个prompt。
1. Meta-Prompt
每次写prompt都要分析场景:把这个场景按LangGPT框架往每个格子里填内容,变成完形填空题。但每次这种完形填空都要重新搭框架、填差不多内容,就是“重复”。
这时候停下来,把它抽出来,形成了第一个
Meta-Prompt
把LangGPT或其他选定框架,形成一套SOP,前后加引导词。比如用户输出场景,你基于场景理解丰富扩展,然后按框架填充,最终形成初稿。
用这个,想写抖音口播稿文案之类的东西,很快就能封装成一个三四十分左右的prompt。从输入到输出,几秒就拿到了。跟脑海里隐约要做的、几个词散漫的情况对比,完全不是一个体系,基于这个体系还能优化。
2. 药剂师Prompt
拿到Meta-Prompt产出的提示词之后,开始看哪里的词不精准、哪里有冲突矛盾,手动调。调多了发现,其实也就那几个角度。把这些角度抽出来,又形成了第二个prompt——药剂师。
“药剂师”这个名字跟《盗梦空间》里一个角色有关。《盗梦空间》是在筑梦,药剂师加强梦境。这里就是
自动迭代优化
加强的意思是:
把Meta-Prompt输出的初稿给药剂师,让它优化初稿prompt。
展开成具体的
比如“好看”,什么叫好看?给它定义成五个维度、七个维度,不断丰富扩展,形成优化后的prompt。这两步完成,基本能拿到四五十分的prompt。
这时候
再注入行业know-how、逻辑表达优化
现在写一个prompt基本就这两步,加上第三步手动微调,大概10到20分钟完成一个。想写什么,看对哪个场景感兴趣、了解多少know-how,了解就很快。
这两个prompt我都开源在LangGPT知识库里了。Meta那个特别好写,大家一看就能根据自己的认知,分分钟变成自己的,甚至比它更强:我选了五个模块,完全可以改成七个、九个,甚至更经典的四个。流程思路一致,后面就容易实现。
四、LLM在进步,人能退到哪?
最近一直在想一个问题:大语言模型一直在进步、能力一直在增强,人能退到哪?
LLM进步
以前用它写个词,或者让它达到某种境界,它不理解。比如用过GPT4和3.5对比的话,差别很明显。
对GPT4说“你输出一个‘言简意赅’的一句话”,它就能输出符合需求的。它懂你了。但同样一句话对3.5说“你给我一个‘言简意赅’的话”,它不行,理解不到位。
理解不到位就得干什么?把词展开。先定义一下什么是“言简意赅”,加上定义再说“给我一个‘言简意赅’的话”,效果就出来了。也就是说3.5不一定理解,两者对语言的理解不在一个层次。那就明确定义、诠释,不理解时扩展解开,效果就有了。
现在
大语言模型的进步意味着理解在不断前进
语言表达在被ChatGPT压缩……
它在往前进,你在往后退。退到极限,再设想GPT6、7、8、9、10出来的时候,留给人类的空间还剩多少?
逻辑 + 审美
“逻辑”和“审美”
第一个是逻辑,第二个是审美。
人类科学进步依赖
演绎法和归纳法
演绎法
另一个是
归纳法
第二个是审美。
我们经历一些事,读万卷书、行万&里路,看见一些风景,形成个人经验。如果有很好的词汇知识素养,这个经验对照着人类认知中的某些词——你对这些词
有感知、有觉知
基于这种认知和觉知,会产生欣赏——觉得这个地方美好、那个地方丑陋,喜欢这个、讨厌那个。这部分,我理解是大语言模型再进步也侵蚀不到的。
大语言模型在往前走,后边的GPT5马上要来,Sora马上要来,还要建物理模型、虚拟世界VR也要来。这一部分不断往前。
人类的行业know-how,我理解也会被进一步侵蚀。
很难token化的部分,是隐性的那部分。
就像骑自行车,可以写SOP说“两脚往前蹬一下,利用惯性往前走”。但真的从不会到会的那一刻,平衡感的掌握很难用语言描述出来。
这个隐性知识,是行业know-how最后的底线。
这里我把它表述成“逻辑信息”,但这个词可能还没找准,脑海中的认知没完全匹配上。“逻辑清晰”跟那个认知没有完全契合。
大概意思是,还应该有一个逻辑推理(对过程的掌握),以及一个审美和对过程的判断。
今天分享先到这,欢迎大家讨论。