实战:手把手教你Prompt到底该怎么写
新加坡首届GPT-4提示工程竞赛的冠军Sheila Teo,用一套方法论证明了:写提示词这事儿,光靠“堆细节”远远不够,关键得讲逻辑、有结构、懂心理。今天就把她夺冠的三大技巧拆开揉碎,一个一个说清楚——看完你也能写出让模型“秒懂”的高质量提示。

- 用CO-STAR框架搭提示词的结构
- 用分隔符把提示词切成清晰的段落
- 用好系统提示(System Prompt)提前告诉模型怎么“做人做事”
1 CO-STAR框架
写提示词时,脑子里的六个问题可以套用这个框架——每个字母都对应一个关键维度:
- :先把背景交代清楚。模型只有知道你在聊什么场景,才能给出不跑偏的回答。
Context(上下文)
- :你到底想让模型干什么?目标越明确,模型就越不会给你一堆啰嗦废话。
Objective(目标)
- :你希望模型用什么风格写?可以是某个名人、某个行业专家的口吻,比如商业分析师、CEO。这决定了用词和表达方式。
Style(风格)
- :回复的“情绪滤镜”是什么?正式、幽默、善解人意?选对了,读者才觉得自然。
Tone(语气)
- :回给谁看?如果是给专家看,术语多些没关系;要是给初学者或小朋友,就得换成大白话。
Audience(受众)
- :你要的是列表、JSON还是专业报告?下游任务常常要编程处理,JSON格式最省心。
Response(回复格式)
来看一个真实例子。假设你是一个社交媒体经理,想给公司新产品写一条Facebook帖子。
没有CO-STAR的提示词长这样:
“在Facebook上写一篇文章,为我公司的新产品做广告。我的公司名为Alpha,产品名为Beta,是一种新型超快速吹风机。”
它给出的输出是:
“介绍Alpha公司革命性的Beta吹风机!
- 告别冗长乏味的吹发过程!阿尔法隆重推出贝塔型吹风机,这是我们在护发技术方面的最新创新。
- 超快吹干:得益于先进、强劲的电机,Beta可以将你的吹干时间缩短一半。让你更快做好准备,有更多时间做自己喜欢的事情!”
而用了CO-STAR框架的提示词是这样的:
(上下文)我想为我公司的新产品做广告。公司名叫Alpha,产品叫Beta,是一种新型超快吹风机。
(目标)帮我写一条Facebook帖子,目的是让人点击产品链接去购买。
(风格)模仿戴森等宣传类似产品的成功公司的写作风格。
(语气)要有说服力。
(受众)我公司在Facebook上的受众多是老一代人,帖子要针对他们对美发产品的需求来写。
(回复)一条Facebook帖子,既要简明扼要,又要富有感染力。
它给出的输出是:
“用Alpha Beta拥抱轻松优雅——智慧一代的超快吹风机。
使用Alpha Beta,重新找回简单有效的护发乐趣。我们的最新创新产品不仅仅是一款吹风机,它还是一个承诺,为那些热爱生活的人提供快速、轻柔、可靠的头发造型。
- 简单直观:告别复杂的小工具。Alpha Beta为舒适和简便而设计,非常适合那些看中直接、无忧技术的人。
- 省心技术:我们知道你的时间非常宝贵。因此,Alpha Beta可以大大缩短吹干时间,让你有更多时间享受生活的乐趣。使用Alpha Beta,让每一天都成为美好的一天。体验精致与简约的完美融合。”
对比一下就能看出差别:没有框架的提示,模型只是“应付式”地给你一堆套话;而有框架的提示,模型能紧扣目标受众、品牌调性和最终效果写出更有针对性的文案。这就是CO-STAR的价值所在。
2 使用分隔符将提示词分段
模型看长提示词的时候,很容易把不同部分的内容混淆。解决方法是引入分隔符——只要能选一套足够独特的、不会和正文重复的符号就行。比如用三个连续的井号###,或者用XML标签。
看一个具体场景:你是一个政策解读专员,需要把英文差旅政策文档翻译并总结成中文模板。用分隔符分段后的提示词大概长这样:
你是一名专业的政策解读人员,你需要阅读一篇英文政策文档,然后使用中文按照<<<模板>>>总结填写差旅政策文档中的相关信息。
###
POLICY
以下是一篇英文差旅政策文档:
{'政策文章内容'}
请你根据以上政策,按照以下模板将政策进行总结并使用中文填写:
###
OUTPUTS
<<<{'模板'}>>
###
这里用###把“任务说明”“政策内容”和“输出模板”三段隔开,每一段前面用大写字母标清标题,模型一看就知道每一部分的边界在哪里,不会把政策和模板混为一谈。
另一种更优雅的方式是用XML标签。模型在网页上读了大量XML格式的内容,天然就熟悉这种成对出现的标签结构。同样这个例子,用XML标签写出来就是:
你是一名专业的政策解读人员,你需要阅读一篇英文政策文档,然后使用中文按照<<<模板>>>总结填写差旅政策文档中的相关信息。
以下是一篇英文差旅政策文档:
{'政策文章内容'}
请你根据以上政策,按照以下模板将政策进行总结并使用中文填写:
{'模板'}
标签的名字最好和内容的关键词对应,让模型一眼就能理解标签和提示指令之间的关系。
3 使用LLM系统提示
系统提示是另一个容易被低估的利器。它的特殊之处在于:一旦设置好,就会在整个聊天过程中被自动“带在身边”,不会随着对话轮次增多而丢失。相比之下,你在每次对话开头写的用户提示,模型只会在当前轮次里参考。
系统提示里通常放三类指令:
- :告诉模型它在整个聊天里要干什么事,比如“你是政策解读专家”。
任务定义
- :规定每个回复的结构,比如“始终用JSON输出”。
输出格式
- :列出哪些问题不能回答、哪些信息不能编造,避免模型越界。这是LLM管理中正在快速发展的新领域。
安全护栏
一个典型的RAG(检索增强生成)系统提示模板:
你将使用给定的一段文本回答问题,文本内容在标签中,问题在标签中。
你需要使用JSON对象进行回复:{'问题':'答案'}。
如果文本中没有足够的信息来回答问题,请不要编造信息,并将答案填写为'未找到资料'。
你只能回答与「插入范围」相关的问题。切勿回答任何与年龄、性别和宗教信仰等人口统计信息相关的问题。
而在每个用户提示里,只需要把具体文本和问题塞进对应的XML标签里:
{'插入文本'}
{'插入问题'}
系统提示里用的标签名(
总结一下:从CO-STAR的结构化思维,到分隔符的段落管理,再到系统提示的全局控制——这三招构成了冠军级提示工程的核心骨架。下次自己写提示词的时候,不妨套用这三个方法试一试,模型给你的反馈会让你惊喜。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名