大模型提示词技巧
使用结构化提示词
提示词框架(Prompt Framework)是指在大模型中,设计一组清晰且结构化的提示词,用以引导模型生成特定类型的输出。它有助于提高生成的准确性、相关性和质量,确保模型的回应更符合用户的需求。
例子:
你是一位曾经就职于互联网头部企业的资深软件工程师和IT教育专家,擅长用通俗易懂的语言来给初学者讲解相应技术方向的基本概念和入门知识。
根据用户的输入,整理一门入门级技术课程的大纲,要求:
1. 注重基本概念和原理,为学员打下扎实基础
2. 具有实操性,注重实用性
3. 内容不要求大而全,要循序渐进,适合初级学员掌握
4. 准备的案例简单而兼具趣味与挑战
5. 展望未来,适当介绍一些新技术和技术趋势
上面这个例子,就是一个典型的结构化提示词,我们可以看到,它采用了角色(Role)- 任务(Task)- 结果(Result)的基础结构,通过这样的设定,我们约束了大模型的输出,从而得到更好的结果。
使用分步思考工作流
在不使用深度思考模型(如 DeepSeek-R1)的前提下,要实现类似 DeepSeek-R1 的效果,也并不是没有办法,我们可以利用工作流让 AI 进行深度思考。
使用分步思考工作流可以将任务细化,让智能体每次只专注于一件事,然后通过协作将内容汇总完成,这样做通常能够较大程度提升输出结果的质量。由于大模型的注意力机制,一次交互更加适合集中精力处理一件明确的事情,这样的单点处理结果比同时处理多件事,能得到更好的效果。但是一次处理多件事也有优点,就是相比于多个节点的工作流,它能节省 token 数量,也能节省推理的时间。
使用 JSON 格式输出
文本大模型有较强的推理能力,有时候我们不用描述太复杂的提示词,可以通过语义化的 JSON 格式来取巧地实现我们想要的内容效果。因为大模型对 JSON 结构化信息的分析和处理能力很强,所以在大多数情况下,采用 JSON 格式输出,能够获得比采用文本输出更加优质的内容。但是 JSON 也有一些问题,那就是它的结构特点,使得在输出 JSON 的同时,想要充分利用流式输出减少响应时间变得比较困难,这点可以通过一些 ling 等框架解决。
例子:
分析图片内容,找出最能描述图片的一个英文单词,尽量选择更简单的A1~A2的词汇。
返回JSON数据:
{
"image_discription": "图片描述",
"representative_word": "图片代表的英文单词",
"example_sentence": "结合英文单词和图片描述,给出一个简单的例句",
"explaination": "结合图片解释英文单词,段落以Look at…开头,将段落分句,每一句单独一行,解释的最后给一个日常生活有关的问句",
"explaination_replys": ["根据explaination给出的回复1", "根据explaination给出的回复2"]
}
使用元提示(Meta-Prompt)和动态提示词
“元提示”是一种让 AI 写提示词的技巧。顾名思义,就是让一个智能体负责撰写提示词,再将提示词给后续的智能体执行(分步工作流的一种)。这个技巧通常用于不同类型的智能体协作的工作流中。
例子:希望根据用户输入输出固定主题的图片
- 利用智能体写提示词:
- 使用智能体生成的提示词调用对应的图片模型生成图片
系统提示词:
这是一个亲子英文学习的平台,教授父母日常家庭亲子英语对话。
根据用户输入和背景信息,你的任务是输出适用于midjourney绘图的**英文**提示词。
用户提示词:
请以“{{input}}”为主题,生成白底、卡通贴纸风格的简单图标。主题是生活场景相关的,比如起床、刷牙、游玩等等。
在某些场景下,需要把当天的日期、节日之类的信息考虑进去。此时就可以让大模型将这些内容包含在生成的提示词中,起到动态提示词的作用。还有更复杂的场景,比如我们针对用户提出的问题类型,采用不同的 AI 节点来处理,每一个节点用来处理一类特定问题,这种做法叫做“多专家模型(MoE)
使用模版引擎生成动态提示词
可以通过 nunjucks
、ejs
等模版引擎来动态生成复杂的提示词模版。
例子:
const prompt = nunjucks.renderString(systemPrompt, {
today,
});
将提示词模版统一放在 prompt
文件夹下:
// today.prompt.ts
export default `
今天的日期是 {{today}}
针对今天的日期、节日、节气等信息,整理出以下内容:
1. 今天的日期如果是特殊节日,介绍节日的文化和意义,以及节日的历史和背景。
2. 今天的日期如果是特殊节气,介绍节气的文化和意义,以及节气的历史和背景。
3. 今天的日期如果在历史上的重要事件中,介绍该事件的文化和意义,以及该事件的历史和背景。
`