提示词工程指南:从AI工具中获取更好的结果
学习能持续提升AI输出质量的提示技巧——从零样本指令到思维链推理、角色提示以及结构化输出格式。
AI输出的质量几乎完全取决于你输入的质量。两个人使用同一个模型处理同一个任务,可能得到截然不同的结果——一个得到的是泛泛而谈的浅显回答,另一个得到的是精准可行的解决方案——原因就在于他们的提示词不同。提示词工程是一种与AI系统清晰沟通、从而获得真正所需结果的技能。
为什么提示词如此重要
大型语言模型是在海量人类文本上训练的下一个词元预测器。当你输入提示词时,模型本质上是在续写一篇文档。如果你的提示词类似于一篇高质量详细回答的开头,你就会得到高质量的详细续写。如果你的提示词模糊不清,你得到的续写也会模糊不清。
把提示词看作是为最佳回应设定背景,而不是发号施令。
有效提示词的构成要素
一个结构良好的提示词通常包含以下部分或全部要素:
- 角色 — AI应该扮演谁
- 任务 — 你希望它做什么
- 背景 — 相关的背景信息
- 格式 — 输出应该如何组织
- 约束条件 — 需要避免或包含的内容
- 示例 — 输入和输出的样本(少样本)
并非每个提示词都需要全部六个要素——但添加与任务相关的要素能显著提升结果。
零样本与少样本提示
零样本
不提供示例,直接提问:
将以下评论的情感分类为正面、负面或中性:
"送货很快,但产品到货时已损坏。"
适用于模型在训练中见过很多次的任务。
少样本
在实际任务前提供示例:
对每条评论进行情感分类:
评论:"质量超棒,与描述完全一致!" → 正面
评论:"花了3周才到货,非常失望。" → 负面
评论:"还行,功能符合描述。" → 中性
评论:"送货很快,但产品到货时已损坏。" →
少样本提示能显著提升复杂或特定领域任务的准确率。通常2至5个示例最为理想——更多并不一定更好。
角色提示
为AI指定一个角色,能转换其"视角"并激活与领域相关的知识:
你是一位拥有15年代码安全漏洞审查经验的高级安全工程师。
请直接、专业地回答,并优先指出最关键的问题。
请审查这个身份验证函数的安全问题:
[代码]
对比:
审查这段代码的安全问题:
[代码]
使用角色提示的版本往往能产出更具体、更可操作、更专业的反馈。
思维链提示
对于复杂的推理任务,要求模型展示其推理过程:
一家公司有3个定价层级:基础版(10美元/月)、专业版(25美元/月)、企业版(80美元/月)。
目前有500名基础版用户、300名专业版用户和50名企业版用户。
如果10%的基础版用户升级到专业版,5%的专业版用户升级到企业版,
新的月收入是多少?
请一步一步地思考。
"请一步一步地思考"(或"让我们逐步思考")这类短语能显著提升数学、逻辑和多步骤推理任务的准确率。如果模型先推导中间步骤,就不容易直接跳到错误答案。
结构化输出提示
当你需要可解析的输出时,请明确指定格式:
从这份职位招聘信息中提取以下内容,并以JSON格式返回:
职位招聘信息:
[在此粘贴招聘信息]
所需JSON格式:
{
"title": "string",
"company": "string",
"location": "string",
"salary_range": "string or null",
"required_skills": ["string"],
"experience_years": "number or null",
"remote": "boolean"
}
用于应用程序时,可添加:"仅返回JSON,不要包含任何额外文字或说明。"
使用我们的 AI JSON Generator,可以从自然语言描述中生成结构化JSON数据。
角色设定与语气控制
为书面内容指定受众和语气:
写一段3段话的说明,解释HTTPS的工作原理。
受众:不懂技术的小企业主,他们想了解为什么网站需要SSL证书。
语气:友好、令人放心,避免使用专业术语,适当使用类比。
避免:不加解释地使用技术术语,制造恐慌情绪。
对比:
解释HTTPS的工作原理。
第一个提示词产出的内容对指定受众来说才真正实用。
迭代优化
将提示词当作一段对话,而不是一次性的交易:
- 从宽泛开始,看看模型产出什么
- 识别缺失或不足之处
- 添加约束条件来解决具体问题
- 重复直到输出满足需求
第1轮:"为软件工程师职位写一封求职信。"
→ 太过通用,没有提及我的具体经历
第2轮:"将其改写为更简洁的3段版本。
重点突出我5年的React经验以及我在高流量应用上的工作经历。
不要使用'我写信是为了表达我的兴趣'这类措辞。"
→ 好多了
每次迭代都应针对具体问题。模糊的反馈("写得更好一点")只能带来微小的改进。
约束条件与反向指令
告诉模型不要做什么:
为这款咖啡机撰写产品描述。
- 不超过100个字
- 不使用"革命性""颠覆性"或"创新性"等词
- 不使用感叹号
- 聚焦于实际使用价值,而非产品功能
反向约束通常能产出更自然、减少营销腔的输出内容。
代码任务的提示词
对于代码生成和审查,越具体越好:
# 模糊(产出通用代码)
用TypeScript写一个验证电子邮件地址的函数。
# 更好的写法
写一个验证电子邮件地址的TypeScript函数。
要求:
- 使用能处理常见边界情况的正则表达式(子域名、+地址等)
- 返回 { valid: boolean; reason?: string }
- 优雅地处理null/undefined输入
- 包含JSDoc注释
- 添加5个覆盖边界情况的单元测试用例
使用我们的 AI Code Explainer 获取你不理解的代码的详细说明——粘贴任意函数,即可获得逐行解析。
常见提示词错误
| 错误 | 问题 | 解决方法 |
|---|---|---|
| 过于模糊 | 模型只能猜测你的意图 | 明确说明任务、格式、受众 |
| 假设模型了解背景 | 模型不了解你的代码库/产品 | 在提示词中提供相关背景 |
| 复杂任务一次性提问 | 错误不断累积 | 拆分为子任务或使用思维链 |
| 未指定格式 | 输出结构不一致 | 明确指定所需格式 |
| 前言过长 | 核心任务被淹没 | 将最重要的指令放在开头或结尾 |
| 新任务未提供示例 | 模型无法理解所需模式 | 添加2至3个期望的输入/输出示例 |
编写更好提示词的快速框架
发送提示词前,请思考:
- 谁:AI应该扮演什么角色?(角色)
- 什么:我究竟想要什么?(任务)
- 什么:它需要哪些背景信息?(背景)
- 如何:它应该如何回应?(格式、长度、语气)
- 什么:它应该避免什么?(约束条件)
- 能否给出示例?(少样本)
提示词工程是一项可学习、可迁移的技能。无论你使用的是我们的 AI Grammar Checker、AI Email Writer、编程助手还是其他任何AI工具,同样的原则都适用。更好的提示词,更好的结果——每一次都如此。