随着大语言模型(LLM)的快速发展,提示词工程(Prompt Engineering)已成为与AI高效交互的核心技能。好的提示词能让模型输出更准确、更符合预期的结果;而糟糕的提示词往往会得到模糊、错误甚至毫无用处的回答。本文将系统介绍提示词工程的核心原则、常用技巧和实战案例。
一、提示词工程基础
提示词工程是通过设计和优化输入文本(提示词)来引导大语言模型生成高质量输出的技术与实践。
1. 大模型的工作方式
理解大模型的基本原理有助于写出更好的提示词:
- 自回归生成:模型基于已有的上下文,逐字(token)预测下一个最可能的词
- 概率分布采样:输出并非确定值,而是从概率分布中采样得到
- 上下文窗口限制:模型只能看到固定长度的上下文信息
- 指令遵循能力:经过指令微调的模型(Instruct/Chat版本)更擅长理解和执行明确的指令
2. 好提示词的特征
| 特征 | 说明 | 反面示例 | 正面示例 |
|---|---|---|---|
| 清晰明确 | 任务定义具体,无歧义 | 写一篇关于AI的文章 | 写一篇800字的AI科普文章,面向中学生,介绍GPT的发展历史 |
| 结构完整 | 包含角色、任务、约束、输出格式 | 翻译这段话 | 你是专业翻译,请将下面英文翻译为中文,保留专业术语,用商务风格:[text] |
| 有示例引导 | 提供输入输出范例 | 对评论进行情感分类 | 按示例分类:输入「物流很快,质量好」→ 正面;输入「包装破损」→ 负面;输入「还行吧」→ 中性。现在分类:[评论] |
| 给出边界 | 说明不要做什么 | 写产品广告词 | 写一段50字以内的产品广告词,不要用夸张词语如「最好」「顶级」 |
二、核心原则 CRIOPE框架
一个通用的高质量提示词结构框架,包含以下六个要素:
1. C - Role(角色设定)
赋予模型一个明确的身份,帮助它进入特定领域的思考模式。
你是一名拥有10年经验的高级Python架构师,熟悉高并发Web系统设计、数据库优化和代码审查。
你的回答风格专业严谨,善于分析权衡利弊,提供可落地的工程方案。
2. R - Context(背景上下文)
提供任务相关的背景信息,避免模型在信息缺失时进行错误猜测。
背景:
- 我们的电商平台日均订单量10万单,使用MySQL主从架构
- 最近大促期间出现了严重的订单表写入延迟
- DBA观察到索引命中率下降到70%以下
- 预算有限,暂时不能升级硬件
3. I - Instruction(任务指令)
清晰说明你希望模型做什么,使用动词开头的祈使句。
请完成以下任务:
1. 分析可能导致订单表写入延迟的原因
2. 设计至少3种优化方案,并分析每种方案的优缺点
3. 给出推荐的方案实施优先级
4. O - Output Format(输出格式)
指定输出的格式要求,便于后处理或直接使用。
请按以下JSON格式输出:
{
"root_causes": ["原因1", "原因2", ...],
"solutions": [
{"name": "方案名", "pros": ["优点1"], "cons": ["缺点1"], "effort": "高/中/低", "effect": "高/中/低"}
],
"priority": ["方案A", "方案B", ...]
}
5. P - Constraints(约束条件)
设定输出的边界和限制条件。
约束条件:
- 方案不能涉及硬件升级
- 每个方案的实施周期不能超过2周
- 代码改动尽量小,避免大规模重构
- 需要保证数据一致性,不能丢失订单数据
6. E - Examples(示例参考)
提供输入输出的示例(Few-shot),帮助模型理解预期模式。
三、常用提示词技巧
1. 角色扮演(Role Playing)
通过设定角色提升回答的专业度和针对性。
案例:法律文书起草
你是一位执业15年的资深商事律师,擅长起草和审核合同。
请以严谨的法律用语为我起草一份软件服务合同,包含以下要素:
- 合同期限:1年,到期自动续签
- 服务范围:SaaS平台运维、7x24技术支持
- 费用:年费50万元,按季度支付
- 违约责任:延迟交付每日赔偿合同金额0.1%
- 保密条款:双方对商业信息保密,期限5年
请用中文输出,包含标准合同条款结构。
2. 少样本学习(Few-Shot Prompting)
通过展示N个示例,让模型学习任务模式。
案例:文本分类
请对客户评论进行分类,类别为:【产品质量】【物流配送】【售后服务】【价格优惠】【其他】。
示例1:
输入:屏幕有一个亮点,联系了客服不给换,太失望了!
输出:产品质量
示例2:
输入:下单第二天就到了,快递小哥态度很好
输出:物流配送
示例3:
输入:618比平时便宜了200块,还送了不少东西
输出:价格优惠
现在请分类:
输入:安装的时候看不懂说明书,找了售后视频才明白,客服响应有点慢
输出:
3. 思维链(Chain of Thought, CoT)
引导模型分步推理,尤其适用于数学计算、逻辑推理、多步骤决策等复杂任务。
案例:数学推理
请逐步思考并解答以下问题,每一步都写清楚:
问题:一个水池有两个进水管和一个出水管。单独开甲管6小时可以注满,单独开乙管8小时可以注满,单独开出水管12小时可以放完全池水。
现在三管同时打开,几小时可以注满空池?
请按以下步骤解答:
Step 1: 计算每个管的工作效率(每小时完成的工作量)
Step 2: 计算三管同时打开时的净进水效率
Step 3: 计算注满一池水所需时间
Step 4: 验证结果是否合理
4. 零样本思维链(Zero-Shot CoT)
不需要写示例,只需要在提示词末尾加上「请一步步思考」或「Let's think step by step」即可触发推理能力。
小明有5个苹果,给了小红3个,又买了8个,然后把一半分给了小刚。
小明现在有多少个苹果?
请一步步思考并给出答案。
5. 自我一致性(Self-Consistency)
让模型从不同路径推理多次,选择出现频率最高的答案。
请用3种不同的推理方式解答下面的问题,然后对比选出最终答案。
问题:一件商品先涨价20%,再降价20%,最终价格与原价相比:
A. 不变 B. 变高 C. 变低 D. 无法确定
推理方式1:使用具体数值假设法
推理方式2:使用代数公式法
推理方式3:使用百分比变化直觉法
三种方式推理完成后,给出最终选择和你对这个问题的通用结论。
6. 结构化输出
强制模型输出指定的格式(JSON、XML、Markdown表格等),便于程序解析。
案例:JSON结构化
从以下新闻中提取关键信息,严格按JSON格式输出,不要包含任何额外文字:
新闻:「2026年8月1日,AI公司DeepMind宣布推出新一代大模型Gemini 3,参数量达到2万亿。
该模型在MMLU测试集上得分92.3%,超越前代15个百分点。产品将于下月开放API,
定价为每百万token输入15美元、输出75美元。Google CEO皮查伊表示,Gemini 3将
全面接入Google Workspace生态。」
期望JSON结构:
{
"publish_date": "YYYY-MM-DD",
"company": "发布公司",
"product_name": "产品名称",
"params": "参数量描述",
"benchmark_score": {"benchmark": "测试集", "score": "百分比"},
"api_launch_date": "上线时间",
"pricing": {"input_per_million": "$XX", "output_per_million": "$XX"},
"ceo_statement": "CEO言论摘要",
"integration_plan": "生态整合计划"
}
7. 分治与拆分(Divide and Conquer)
将复杂任务拆解为多个子任务,依次解决。
案例:产品分析报告
请按步骤为「电动汽车行业」撰写一份深度分析报告。
Phase 1 - 信息收集框架设计:
先列出分析报告应该包含的10个核心章节标题。
Phase 2 - 宏观分析:
基于上面的框架,完成第1-3章(行业概况、政策环境、市场规模)。
Phase 3 - 竞争格局:
完成第4-6章(主要玩家对比、技术路线分析、供应链梳理)。
Phase 4 - 趋势与建议:
完成第7-10章(未来趋势、风险因素、投资建议、总结)。
请先完成Phase 1,等待我确认后再进行后续阶段。
8. 反思与纠错(Self-Reflection)
要求模型先输出初稿,再自我批判并修正,提升答案质量。
请为一款面向大学生的AI学习助手APP写一段30秒的短视频口播文案。
要求:
1. 先给出第一版文案
2. 然后站在用户视角,列出这版文案的3个不足之处
3. 基于以上不足,给出修改后的第二版文案
4. 最后说明第二版做了哪些改进,为什么这些改进有效
四、提示词模板库
模板1:技术方案评审
角色:你是一位资深技术专家委员会的首席架构师,拥有丰富的高并发分布式系统设计经验。
背景信息:
【这里粘贴你的技术方案描述、架构图文字说明、当前系统现状等】
评审任务:
1. 架构合理性评估:整体架构是否清晰?模块划分是否合理?
2. 性能容量评估:在QPS=【数字】、数据量=【数字】场景下能否支撑?瓶颈在哪?
3. 可靠性评估:单点故障有哪些?容灾能力如何?数据一致性怎么保证?
4. 安全性评估:存在哪些安全风险?认证、授权、加密是否到位?
5. 可维护性评估:代码复杂度、运维成本、监控告警是否完善?
6. 改进建议:至少给出5条具体可落地的优化建议,按优先级排序。
输出要求:使用Markdown格式,每个维度单独成节,打分用⭐️(1-5星)表示,最后给出整体通过/有条件通过/否决的结论。
模板2:代码审查
角色:你是一名严格的代码审查员,遵循Google代码风格规范。
代码:
```python
【粘贴代码】
```
请从以下维度审查:
1. 正确性:是否存在逻辑Bug?边界条件是否处理?
2. 性能:时间复杂度、空间复杂度是否最优?有无冗余计算?
3. 安全性:是否有注入风险?敏感信息是否泄露?
4. 可读性:命名是否清晰?注释是否足够?函数是否过长?
5. 可测试性:是否容易编写单元测试?是否有硬编码?
输出格式:
- 严重问题(必须修改):
1. XXX - 第X行 - 建议修改为:XXX
- 一般问题(建议修改):
1. XXX - 第X行 - 建议:XXX
- 亮点(值得保持):
1. XXX
- 优化后代码(可选):
【完整改进代码】
模板3:数据分析师报告
角色:你是互联网大厂的高级数据分析师,擅长用数据驱动业务决策。
数据表现:
【粘贴核心指标数据:DAU、留存、转化率、各漏斗数据、AB实验结果等】
分析要求:
1. 数据诊断:哪些指标异常?异常幅度多大?给出同比/环比数据
2. 原因假设:提出至少3个导致异常的可能原因,每个给出验证方法
3. 影响评估:如果趋势持续,对未来7天/30天的业务影响量化预测
4. 行动建议:短期(1周)和中期(1月)分别应该做什么
5. 监控方案:需要新增哪些监控看板和告警阈值
五、常见错误与避坑指南
常见错误1:过于模糊
❌ 错误写法:「帮我写点东西」「给我一些建议」
✅ 正确写法:明确目标、受众、篇幅、风格、用途。
常见错误2:信息过载
一次性把所有要求塞进一句话,模型抓不住重点。
✅ 解法:使用编号、分隔符、小标题结构化表达,层次清晰。
常见错误3:未提供上下文
用「他」「这个」「上面提到的」等指代,而对话上下文已丢失。
✅ 解法:每条提示词自包含完整必要信息,不过度依赖历史上下文。
常见错误4:矛盾约束
「用100字详细介绍」「既专业又通俗」等相互矛盾要求。
✅ 解法:区分优先级,先满足核心要求,必要时拆分任务。
常见错误5:期望模型「读心
「你知道的,就那个事情帮我弄一下」。模型不具备读心术。
✅ 解法:假设模型一无所知,把所有假设和背景讲清楚。
六、调优与迭代
提示词工程是一个反复迭代的过程,很少一次到位。
迭代流程
- 设计初稿:根据CRIOPE框架写出V1版本
- 多案例测试:用5-10个典型输入测试输出质量
- 标注失败案例:收集输出偏离预期的情况
- 针对性优化:添加约束、补充示例、调整指令措辞
- 回归验证:确保优化后老案例不回退
- 固化版本:通过后形成稳定模板,记录版本号
参数调优
除了提示词本身,API参数也会显著影响输出:
| 参数 | 作用 | 常见设置建议 |
|---|---|---|
| temperature | 控制随机性,0=确定,越高越发散 | 写作/创意:0.7-1.0;分析/代码:0.1-0.3 |
| top_p | 核采样,限制候选词范围 | 一般与temperature二选一,常用0.9 |
| max_tokens | 输出最大长度 | 根据任务预估适当留有余量 |
| frequency_penalty | 惩罚重复出现的词 | 生成列表时可设0.3-0.5避免重复 |
| presence_penalty | 惩罚已出现过的主题 | 头脑风暴时可设0.3增强多样性 |
总结
提示词工程是一门实践艺术,核心在于「站在模型的角度思考」——理解它的能力边界,用结构化的方式传递明确指令,通过示例引导它走上正确路径。记住以下关键要点:
- 用CRIOPE框架设计提示词:角色+背景+指令+输出格式+约束+示例
- 复杂任务用思维链(CoT)分步推理:「请一步步思考」胜过「请直接给答案」
- 用Few-shot给出示例:好示例胜过千言万语
- 强制结构化输出:JSON/表格/Markdown结构便于后续处理
- 迭代优化永无止境:收集失败案例,针对性补充约束和示例
掌握提示词工程,你就掌握了与AI高效协作的钥匙。随着模型能力不断进化,提示词的技巧也会不断更新,但核心原则——清晰、具体、结构化——会长期适用。