如何为不同AI模型设计提示
每个模型都有独特的“方言”和最佳提示策略。提示中的词语稍有变化,就会显著改变输出质量。
一年多以前,当我开始使用 ChatGPT 时,编写提示的一种最流行的格式是 RRR 方法。不,不是 S.S. Rajamouli 的杰作——它是 角色、需求和规则。
它是这样工作的:
角色:你是一个在量子力学方面专家的助手
需求:通读给定的研究论文并生成摘要
规则:
用简单的话提供摘要,即使是非专家也能理解
提供论文所有内容的概要
在 200 字以内提供一个结论
从那时起,提示工程有了巨大的发展。现在包括了专门的模型,每个模型都有独特的“方言”和最佳提示策略。提示中的词语稍有变化,就会显著改变输出质量。
1、在开始之前了解模型参数
在深入提示技术之前,你需要了解两个影响每次 AI 响应的关键参数:
1.1 温度:创造力旋钮
它做什么: 控制模型响应中的随机性
- 低(0.1–0.3):更确定,一致的输出
- 高(0.7–1.0):更具创造性,多样化的响应
何时使用:
- 低温用于基于事实的问答、数据提取、代码生成
- 高温用于创意写作、头脑风暴、诗歌创作
示例:
提示:“用一句话解释机器学习”
温度 0.1:“机器学习是人工智能的一个子集,使计算机能够从数据中学习并做出决策而无需明确编程。”
温度 0.9:“机器学习就像教计算机成为一个侦探——它研究线索(数据)来解决谜题,并对新案件做出聪明的猜测!”
1.2 Top_p:焦点控制器
它做什么: 控制模型考虑哪些标记(核采样)
- 低(0.1–0.5):专注于最可能的标记,更精确
- 高(0.8–1.0):考虑更多的标记选项,更多样化
黄金法则: 调整温度或 top_p,不要同时调整两者。它们一起控制随机性。
2、跨所有模型都有效的通用提示原则
2.1 具体性胜于模糊性
不好: “帮我处理我的代码”
好: “调试这个 Python 函数,它应该根据时间戳对字典列表进行排序,但返回不一致的结果”
2.2 提供清晰的指令和示例
提供清晰的指令,就像当你委托任务给一个人时一样。提供示例是提高响应准确性的可靠方法。
结构:
任务:[你想完成什么]
格式:[精确的输出格式]
示例:[显示期望的结果]
上下文:[背景信息]
示例:
任务:从这段文本中提取公司名称
格式:以 JSON 数组返回
示例:["Apple Inc.", "Microsoft Corporation"]
上下文:这是关于合作伙伴关系的财务报告
文本:[你的内容在这里]
2.3 使用“思考”来进行复杂推理
添加“逐步思考”或“仔细思考”会显著提高推理质量。
之前:“*这个营销活动的 ROI 是多少?*”
之后:“*逐步思考这个 ROI 计算:识别所有成本、收入归属,并计算这个营销活动的回报百分比。*”
2.4 正向指令效果更好
而不是: “不要让回应太长”
使用: “保持回应在 100 字以内”
而不是: “不要使用技术术语”
使用: “用初学者能理解的简单语言解释”
2.5 正确地构建 JSON 输出请求
当期望 JSON 输出时,在提示中提供确切的格式,但将字段定义与 JSON 结构本身分开。
为什么这很重要: 将定义混入 JSON 结构中通常会导致格式错误的输出或不需要的转义字符。
糟糕的方法:
以这种 JSON 格式返回:
{
"name": "公司名称",
"industry": "公司运营的行业",
"revenue": "年收入(百万美元)"
}
好的方法:
说明:
- name: 公司名称
- industry: 主营业务领域
- revenue: 年收入(百万美元)
格式要求:
- 仅返回有效的 JSON
- 输出中没有转义字符
- 没有额外的解释或注释
输出格式:
{
"name": "",
"industry": "",
"revenue": ""
}
小技巧: 你也可以在 API 调用中使用 JSON schema 参数,而不是在提示中包含格式,但为了更好的准确性,分离原则仍然适用。
3、针对特定模型的提示策略
不同的 AI 模型有不同的优势和最佳提示方法。以下是获得每种类型最佳结果的方法:
3.1 多模态通用模型
模型: GPT-4o、Google Gemini 1.5 Pro、Claude 3.5 Sonnet
最适合: 复杂的多步骤任务、文档分析、创意项目
提示风格: 交谈性和情境性——将它们视为专家人类合作者。
关键技巧:
- 用上下文设定场景: “我们正在为小型餐厅推出 SaaS 产品”
- 串联多个命令: “首先分析这些用户反馈,然后建议三个功能改进,最后按开发工作量进行优先级排序”
- 明确说明模态: “分析这张图片中的图表并创建一个摘要表格”
示例提示:
上下文:我们正在设计一款健身追踪移动应用
角色:你是一位有 10 年经验的 UX 研究员
任务序列:
1. 查看附带的用户访谈记录(3 个文件)
2. 识别提到的前 5 个痛点
3. 为每个痛点提出具体的 UI 改进建议
4. 根据影响力与工作量创建优先级矩阵
格式:以结构化报告的形式呈现,每个步骤都有清晰的章节
3.2 专业推理模型
模型: DeepSeek、O1、专业版 Llama 变体
最适合: 数学问题、逻辑谜题、复杂分析
提示风格: 结构化、正式且无歧义
关键技巧:
- 明确的分步请求: “展示你的工作步骤”
- 清晰的约束条件: 定义所有变量、规则和边界
- 具体的格式要求: “只提供最终的数字答案” 或 “首先列出你的假设”
示例提示:
逐步解决这个系统设计问题:
问题:设计一个每天处理 1 亿个 URL 的 URL 缩短服务
约束条件:
- 要求 99.9% 的正常运行时间
- 全球用户基础
- 读取密集型工作负载(读写比例为 100:1)
展示你的推理:
1. 数据库选择和模式设计
2. 缓存策略
3. 负载均衡方法
4. 地理分布计划
以编号列表形式呈现你的最终架构,并为每个决定提供理由。
3.3 长上下文编码模型
模型: Claude 3 Opus、Claude 3.5 Sonnet、GPT-4 Turbo
最适合: 代码审查、大型代码库分析、文档
提示风格: 以角色驱动并提供大量上下文
关键技巧:
- 分配特定角色: “扮演一位高级 Python 架构师”
- 利用巨大的上下文窗口: 包括整个文件,而不仅仅是片段
- 使用 XML 标签进行结构化:
<code>、<requirements>、<constraints>
示例提示:
<role>你是一名进行安全审计的高级全栈开发人员</role>
<task>
审查这个完整的 Express.js 应用程序的安全漏洞
重点在于:身份验证、输入验证、SQL 注入、XSS 防护
</task>
<codebase>
[在此处粘贴整个项目文件 - 如果需要,可以有 50 多个文件]
</codebase>
<output_format>
## 发现的安全问题
### 关键(立即修复)
### 中等(本周期内修复)
### 低(方便时修复)
对于每个问题:文件名、行号、漏洞类型、修复建议
</output_format>
3.4 图像生成模型
模型: DALL-E 3、Midjourney、Stable Diffusion、专用模型
最适合: 视觉内容创作、概念可视化
提示风格差异很大:
DALL-E 3: 长描述句子
“一张现代联合办公空间的逼真图像,有落地窗,人们在笔记本电脑上工作,自然光线,极简设计,用广角镜头拍摄,建筑摄影风格”
Midjourney: 艺术短语加风格参考
“未来城市景观日落时分,赛博朋克美学,霓虹灯反射在湿路上,电影构图,出自《银翼杀手 2049》,体积光,8k 渲染”
Stable Diffusion: 带权重的标签
"(masterpiece:1.2), best quality, ultra-detailed, (realistic:1.1), portrait of a software developer, coding setup, multiple monitors, (professional lighting:0.8), bokeh background"
4、常见的提示错误要避免
- 过多的不相关任务
- 使用模糊的限定词(“让它变得更好”,“改进这个”)
- 忽视模型的优势(让编码模型做创意写作)
- 根据初始结果不迭代提示
- 需要结构化数据时未指定输出格式
5、衡量提示效果
跟踪这些指标以改进你的提示:
- 准确性: 它是否给出正确信息?
- 相关性: 它是否解决了你的实际需求?
- 完整性: 它是否涵盖了所有要求?
- 可用性: 输出格式是否有帮助?
6、结束语
有效的提示不仅仅是遵循模板——而是了解你的模型的优势,并制定与每个 AI 处理信息方式相匹配的请求。
无论你使用经典的 RRR 方法还是现代的角色驱动方法,关键是具体性、清晰的例子以及将你的提示风格与模型的能力相匹配。
提示工程领域仍在迅速发展。昨天有效的方法今天可能不再是最优的,特别是随着具有不同架构和训练方法的新模型出现。保持好奇心,尝试不同的技术,并始终用真实用例测试你的提示。
记住:最好的提示是那个能持续给你所需结果且迭代最少的提示。从这些原则开始,根据你的具体用例进行调整,并根据结果进行优化。
原文链接:The Complete Guide to Prompting Different AI Models
汇智网翻译整理,转载请标明出处