1 什么是 Prompt 优化?
1.1 定义
Prompt优化是指针对大语言模型(如ChatGPT、通义千问、文心一言等)设计、调整输入提示词(prompt),以提高输出内容的准确性、逻辑性、一致性、可控性等。
1.2 Prompt结构
【角色设定】 + 【任务指令】 + 【内容细节】 + 【输出格式】
2 Prompt 五大策略
2.1 给模型设定角色
优化前:
解释什么是Transformer模型。
优化后:
你是AI领域的教授,请向本科生解释 Transformer 模型的核心原理和结构,用通俗易懂的语言,并结合生活类比。
2.2 分步骤要求(分解任务)
将复杂任务拆解成步骤,模型更容易准确回答。
优化前:
写一个关于“人工智能的未来”的文章。
优化后:
请写一篇关于“人工智能的未来”的文章。结构如下:
1. 引言(引出AI话题)
2. 发展现状(2020年后发生了什么)
3. 潜在风险(技术+社会)
4. 未来展望(可能的应用场景)
5. 总结(你的观点)
author by 有勇气 的牛排
2.3 明确输出格式(结构清晰)
指定输出格式,避免模型回答杂乱。
优化前:
请介绍Python中的异常处理。
优化后
请介绍 Python 的异常处理机制,回答格式如下:
- 异常处理概述
- try/except 用法
- finally 的作用
- 自定义异常的写法
- 示例代码
2.4 使用提示词案例(Few-shot prompting)
提供一个或多个案例,让模型模仿输出风格。
以下是 Python 的函数描述示例:
输入:一个整数列表
输出:返回列表中所有偶数
输入:一个字符串
输出:判断是否是回文
请模仿以上格式,写一个处理字典数据的描述。
2.5 添加约束条件(控制风格/长度/语言)
通过添加"限制词" 控制模型输出,如字数、语言风格、不要重复、不引用等。
案例:
请用不超过100字解释“量子计算”。使用通俗语言,不要使用专业术语。
3 常用 Prompt 模板
3.1 技术类
你是一位资深前端开发工程师,请用简明的语言解释 [技术名] 的原理及常见方法,付一个代码示例。
3.2 文章创作类
请写一篇关于 [话题] 的文章,语气爲 [正式/幽默/青年语气],字数控制在[300]字左右。
结构要求:引言+正文+结尾。
3.3 数据分析类
你是一位数据分析专家,现有一组数据:[粘贴数据] ,请进行如下操作:
1.数据清洗建议。
2.可视化建议。
3.初步结论。
4 进阶技巧
技巧 |
说明 |
Chain-of-thought Prompting |
要求模型“分步骤思考”,提高复杂任务解答率。 |
Self-Ask Prompting |
让模型自己生成问题并解答,适合复杂推理。 |
Tree-of-Thoughts |
多条思路同时展开,通过评估选择最优结果。 |
Zero-shot/Few-shot Learning |
不提供样本 / 提供少量样本,引导模型泛化能力。 |
5 Prompt 优化实战工具推荐
工具 |
功能 |
PromptPerfect |
自动优化提示词(支持GPT、Claude等) |
FlowGPT |
Prompt 市场,查看热门Prompt |
LangChain |
可用于动态构造复杂Prompt流程 |
Prompt Engineering Guide |
Github 上最全的提示词工程指南 |
6 综合案例
6.1 写一篇关于自动驾驶的文章
原始 Prompt:
请撰写一篇关于“自动驾驶技术现状与挑战”的深度分析文章。
优化Prompt:
你是一名智能汽车领域的技术专家,请撰写一篇关于“自动驾驶技术现状与挑战”的深度分析文章。
要求包括以下几点:
1. 自动驾驶分级标准
2. 主要厂商及技术路线
3. 法规、安全问题
4. 未来趋势预测
字数控制在800字以内,语气专业严谨,段落清晰。
6.2 小说续写
原始 Prompt:
帮我续这段凡人修仙传的内容。
优化Prompt:
你是一名玄幻小说作家,请根据以下原文风格续写一段剧情,要求情节紧凑、语言古风、符合《凡人修仙传》的世界观,续写字数控制在300字以内。
原文:
“韩立眼神微凝,望着远处雷光闪动的密林,忽觉灵气波动异常……”
6.3 创作支线剧情设定
原始 Prompt:
写一段关于韩立的番外。
优化Prompt:
你是《凡人修仙传》番外创作团队的一员,请设定一段支线剧情,主角是韩立,背景为灵界初期,事件为他解救一个小宗门弟子。要求设定包括:
- 剧情梗概
- 登场人物
- 新增法宝设定
- 整体结构不超过400字
6.4 数据统计
原始 Prompt:
韩立遇到过多少次天劫?
优化 Prompt(设定数据源 + 精准提问):
你是一名知识型数据分析机器人,擅长从结构化文本中提取统计信息。
以下是《凡人修仙传》中“韩立”相关的修炼事件数据,采用 JSON 数组格式,每条记录包含一次事件的基本信息。
请完成以下统计任务:
1. 筛选出所有事件中名称包含“天劫”的记录。
2. 统计韩立一共经历了多少次“天劫”。
3. 按顺序列出每次天劫的详细信息,包括:
- 天劫名称(即“事件”字段)
- 所在章节(即“章节”字段)
- 触发原因(即“触发”字段)
【输入数据示例】:
[
{"事件":"金丹天劫", "章节":"第241章", "触发":"金丹初成"},
{"事件":"婴变天劫", "章节":"第600章", "触发":"结婴成功"},
{"事件":"闯荡秘境", "章节":"第350章", "触发":"历练任务"},
...
]
【输出格式要求】:
共计遭遇天劫:X 次
1. 天劫名称:XXX
所在章节:XXX
触发原因:XXX
2. 天劫名称:XXX
所在章节:XXX
触发原因:XXX
...
6.5 情境对话生成
原始 Prompt:
生成韩立和女主的对话。
优化 Prompt:
你是对话脚本设计师,请模拟韩立与南宫婉在灵界小筑中谈及未来的对话。要求:
- 轮数不超过6轮
- 每人一句话,符合人物性格
- 语气含蓄但感情真挚
- 用古风语言表达
输出格式如下:
韩立:……
南宫婉:……
7 格式化输出案例
7.1 表格化输出
原始 Prompt:
总结一下韩立用过的法宝。
优化 Prompt(带输出结构要求):
请根据《凡人修仙传》中的内容,总结韩立使用过的法宝,按如下格式输出 Markdown 表格:
| 法宝名称 | 功能描述 | 获得方式 | 使用时期 |
|----------|----------|----------|-----------|
7.2 结构化输出
请根据以下文本,提取其中提到的角色、地点、功法信息,并以如下 JSON 格式输出:
输入文本:
“韩立前往黄枫谷,偶遇修士李化元,后得到‘青元剑诀’传承……”
输出:
{
"人物": ["韩立", "李化元"],
"地点": ["黄枫谷"],
"功法": ["青元剑诀"]
}
<h2><a id="1__Prompt__0"></a>1 什么是 Prompt 优化?</h2>
<h3><a id="11__2"></a>1.1 定义</h3>
<p>Prompt优化是指针对大语言模型(如ChatGPT、通义千问、文心一言等)设计、调整输入提示词(prompt),以提高输出内容的准确性、逻辑性、一致性、可控性等。</p>
<h3><a id="12_Prompt_6"></a>1.2 Prompt结构</h3>
<pre><div class="hljs"><code class="lang-shell">【角色设定】 + 【任务指令】 + 【内容细节】 + 【输出格式】
</code></div></pre>
<h2><a id="2_Prompt__12"></a>2 Prompt 五大策略</h2>
<h3><a id="21__14"></a>2.1 给模型设定角色</h3>
<p>优化前:</p>
<pre><div class="hljs"><code class="lang-shell">解释什么是Transformer模型。
</code></div></pre>
<p>优化后:</p>
<pre><div class="hljs"><code class="lang-shell">你是AI领域的教授,请向本科生解释 Transformer 模型的核心原理和结构,用通俗易懂的语言,并结合生活类比。
</code></div></pre>
<h3><a id="22___28"></a>2.2 分步骤要求(分解任务)</h3>
<blockquote>
<p>将复杂任务拆解成步骤,模型更容易准确回答。</p>
</blockquote>
<p>优化前:</p>
<pre><div class="hljs"><code class="lang-shell">写一个关于“人工智能的未来”的文章。
</code></div></pre>
<p>优化后:</p>
<pre><div class="hljs"><code class="lang-shell">请写一篇关于“人工智能的未来”的文章。结构如下:
1. 引言(引出AI话题)
2. 发展现状(2020年后发生了什么)
3. 潜在风险(技术+社会)
4. 未来展望(可能的应用场景)
5. 总结(你的观点)
</code></div></pre>
<p>author by 有勇气 的牛排</p>
<h3><a id="23__51"></a>2.3 明确输出格式(结构清晰)</h3>
<blockquote>
<p>指定输出格式,避免模型回答杂乱。</p>
</blockquote>
<p>优化前:</p>
<pre><div class="hljs"><code class="lang-shell">请介绍Python中的异常处理。
</code></div></pre>
<p>优化后</p>
<pre><div class="hljs"><code class="lang-shell">请介绍 Python 的异常处理机制,回答格式如下:
- 异常处理概述
- try/except 用法
- finally 的作用
- 自定义异常的写法
- 示例代码
</code></div></pre>
<h3><a id="24_Fewshot_prompting_72"></a>2.4 使用提示词案例(Few-shot prompting)</h3>
<blockquote>
<p>提供一个或多个案例,让模型模仿输出风格。</p>
</blockquote>
<pre><div class="hljs"><code class="lang-shell">以下是 Python 的函数描述示例:
输入:一个整数列表
输出:返回列表中所有偶数
输入:一个字符串
输出:判断是否是回文
请模仿以上格式,写一个处理字典数据的描述。
</code></div></pre>
<h3><a id="25__87"></a>2.5 添加约束条件(控制风格/长度/语言)</h3>
<blockquote>
<p>通过添加"限制词" 控制模型输出,如字数、语言风格、不要重复、不引用等。</p>
</blockquote>
<p>案例:</p>
<pre><div class="hljs"><code class="lang-shell">请用不超过100字解释“量子计算”。使用通俗语言,不要使用专业术语。
</code></div></pre>
<h2><a id="3__Prompt__97"></a>3 常用 Prompt 模板</h2>
<h3><a id="31__99"></a>3.1 技术类</h3>
<pre><div class="hljs"><code class="lang-shell">你是一位资深前端开发工程师,请用简明的语言解释 [技术名] 的原理及常见方法,付一个代码示例。
</code></div></pre>
<h3><a id="32__105"></a>3.2 文章创作类</h3>
<pre><div class="hljs"><code class="lang-shell">请写一篇关于 [话题] 的文章,语气爲 [正式/幽默/青年语气],字数控制在[300]字左右。
结构要求:引言+正文+结尾。
</code></div></pre>
<h3><a id="33__112"></a>3.3 数据分析类</h3>
<pre><div class="hljs"><code class="lang-shell">你是一位数据分析专家,现有一组数据:[粘贴数据] ,请进行如下操作:
1.数据清洗建议。
2.可视化建议。
3.初步结论。
</code></div></pre>
<h2><a id="4__121"></a>4 进阶技巧</h2>
<table>
<thead>
<tr>
<th>技巧</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>Chain-of-thought Prompting</td>
<td>要求模型“分步骤思考”,提高复杂任务解答率。</td>
</tr>
<tr>
<td>Self-Ask Prompting</td>
<td>让模型自己生成问题并解答,适合复杂推理。</td>
</tr>
<tr>
<td>Tree-of-Thoughts</td>
<td>多条思路同时展开,通过评估选择最优结果。</td>
</tr>
<tr>
<td>Zero-shot/Few-shot Learning</td>
<td>不提供样本 / 提供少量样本,引导模型泛化能力。</td>
</tr>
</tbody>
</table>
<h2><a id="5_Prompt__130"></a>5 Prompt 优化实战工具推荐</h2>
<table>
<thead>
<tr>
<th>工具</th>
<th>功能</th>
</tr>
</thead>
<tbody>
<tr>
<td>PromptPerfect</td>
<td>自动优化提示词(支持GPT、Claude等)</td>
</tr>
<tr>
<td>FlowGPT</td>
<td>Prompt 市场,查看热门Prompt</td>
</tr>
<tr>
<td>LangChain</td>
<td>可用于动态构造复杂Prompt流程</td>
</tr>
<tr>
<td><a href="https://github.com/dair-ai/Prompt-Engineering-Guide" target="_blank">Prompt Engineering Guide</a></td>
<td>Github 上最全的提示词工程指南</td>
</tr>
</tbody>
</table>
<h2><a id="6__139"></a>6 综合案例</h2>
<h3><a id="61__141"></a>6.1 写一篇关于自动驾驶的文章</h3>
<p><strong>原始 Prompt:</strong></p>
<pre><div class="hljs"><code class="lang-shell">请撰写一篇关于“自动驾驶技术现状与挑战”的深度分析文章。
</code></div></pre>
<p><strong>优化Prompt:</strong></p>
<pre><div class="hljs"><code class="lang-shell">你是一名智能汽车领域的技术专家,请撰写一篇关于“自动驾驶技术现状与挑战”的深度分析文章。
要求包括以下几点:
1. 自动驾驶分级标准
2. 主要厂商及技术路线
3. 法规、安全问题
4. 未来趋势预测
字数控制在800字以内,语气专业严谨,段落清晰。
</code></div></pre>
<h3><a id="62__161"></a>6.2 小说续写</h3>
<p><strong>原始 Prompt:</strong></p>
<pre><div class="hljs"><code class="lang-shell">帮我续这段凡人修仙传的内容。
</code></div></pre>
<p><strong>优化Prompt:</strong></p>
<pre><div class="hljs"><code class="lang-shell">你是一名玄幻小说作家,请根据以下原文风格续写一段剧情,要求情节紧凑、语言古风、符合《凡人修仙传》的世界观,续写字数控制在300字以内。
原文:
“韩立眼神微凝,望着远处雷光闪动的密林,忽觉灵气波动异常……”
</code></div></pre>
<h3><a id="63__178"></a>6.3 创作支线剧情设定</h3>
<p><strong>原始 Prompt:</strong></p>
<pre><div class="hljs"><code class="lang-shell">写一段关于韩立的番外。
</code></div></pre>
<p><strong>优化Prompt:</strong></p>
<pre><div class="hljs"><code class="lang-shell">你是《凡人修仙传》番外创作团队的一员,请设定一段支线剧情,主角是韩立,背景为灵界初期,事件为他解救一个小宗门弟子。要求设定包括:
- 剧情梗概
- 登场人物
- 新增法宝设定
- 整体结构不超过400字
</code></div></pre>
<h3><a id="64__196"></a>6.4 数据统计</h3>
<p><strong>原始 Prompt:</strong></p>
<pre><code class="lang-">韩立遇到过多少次天劫?
</code></pre>
<p><strong>优化 Prompt(设定数据源 + 精准提问):</strong></p>
<pre><div class="hljs"><code class="lang-shell">你是一名知识型数据分析机器人,擅长从结构化文本中提取统计信息。
以下是《凡人修仙传》中“韩立”相关的修炼事件数据,采用 JSON 数组格式,每条记录包含一次事件的基本信息。
请完成以下统计任务:
1. 筛选出所有事件中名称包含“天劫”的记录。
2. 统计韩立一共经历了多少次“天劫”。
3. 按顺序列出每次天劫的详细信息,包括:
- 天劫名称(即“事件”字段)
- 所在章节(即“章节”字段)
- 触发原因(即“触发”字段)
【输入数据示例】:
[
{"事件":"金丹天劫", "章节":"第241章", "触发":"金丹初成"},
{"事件":"婴变天劫", "章节":"第600章", "触发":"结婴成功"},
{"事件":"闯荡秘境", "章节":"第350章", "触发":"历练任务"},
...
]
【输出格式要求】:
共计遭遇天劫:X 次
1. 天劫名称:XXX
所在章节:XXX
触发原因:XXX
2. 天劫名称:XXX
所在章节:XXX
触发原因:XXX
...
</code></div></pre>
<h3><a id="65__241"></a>6.5 情境对话生成</h3>
<p><strong>原始 Prompt:</strong></p>
<pre><code class="lang-">生成韩立和女主的对话。
</code></pre>
<p><strong>优化 Prompt:</strong></p>
<pre><code class="lang-">你是对话脚本设计师,请模拟韩立与南宫婉在灵界小筑中谈及未来的对话。要求:
- 轮数不超过6轮
- 每人一句话,符合人物性格
- 语气含蓄但感情真挚
- 用古风语言表达
输出格式如下:
韩立:……
南宫婉:……
</code></pre>
<h2><a id="7__263"></a>7 格式化输出案例</h2>
<h3><a id="71__265"></a>7.1 表格化输出</h3>
<p><strong>原始 Prompt:</strong></p>
<pre><code class="lang-">总结一下韩立用过的法宝。
</code></pre>
<p><strong>优化 Prompt(带输出结构要求):</strong></p>
<pre><code class="lang-">请根据《凡人修仙传》中的内容,总结韩立使用过的法宝,按如下格式输出 Markdown 表格:
| 法宝名称 | 功能描述 | 获得方式 | 使用时期 |
|----------|----------|----------|-----------|
</code></pre>
<h3><a id="72__282"></a>7.2 结构化输出</h3>
<pre><div class="hljs"><code class="lang-shell">请根据以下文本,提取其中提到的角色、地点、功法信息,并以如下 JSON 格式输出:
输入文本:
“韩立前往黄枫谷,偶遇修士李化元,后得到‘青元剑诀’传承……”
输出:
{
"人物": ["韩立", "李化元"],
"地点": ["黄枫谷"],
"功法": ["青元剑诀"]
}
</code></div></pre>
评论区