第7章 Prompt工程实战:写出让智能体精准执行的指令
AI智能体实战训练营 · 章节 7/33 · 45 学时
Prompt工程实战:写出让智能体精准执行的指令
如果说编排是智能体的"骨架",那么Prompt(提示词)就是智能体的"灵魂"。同样的大模型、同样的工具,不同的Prompt可以产生天差地别的效果。一个好的Prompt能让大模型精准理解你的意图,输出高质量的结果;一个差的Prompt会让��模型摸不着头脑,输出一堆没用的东西。
Prompt工程(Prompt Engineering)就是研究如何写出高质量Prompt的技术。它是智能体开发的基础技能,也是每个智能体开发者必须掌握的核心能力。本章将带你系统学习Prompt工程的核心原则和实战技巧。
一、Prompt的基本结构:一个好Prompt的六大要素
一个完整、高质量的Prompt,通常包含以下六个要素。你不一定要每次都写全,但要素越完整,大模型的输出就越精准。
要素一:角色设定(Role)
告诉大模型"你是谁",让它以特定的身份和视角来回答问题。角色设定会影响大模型的知识范围、语言风格、思考方式。
示例:
- ❌ 不好的:"帮我写一份市场分析报告"
- ✅ 好的:"你是一位有10年经验的制造业市场分析师,擅长分析工业软件市场。请帮我写一份市场分析报告。"
技巧:角色设定要具体,不要太泛。"你是一个专家"不如"你是一位有10年经验的制造业市场分析师"。角色越具体,大模型的输出就越专业。
要素二:任务描述(Task)
明确告诉大模型"你要做什么"。任务描述要清晰、具体、可执行,不要模糊不清。
示例:
- ❌ 不好的:"帮我看看这个数据"
- ✅ 好的:"请分析这份销售数据,找出销售额最高的前5个产品,分析它们的销售趋势,并给出提升销量的建议。"
技巧:用动词开头(分析、生成、总结、翻译、比较),明确任务的目标和范围。如果任务复杂,可以拆分成几个子任务,用编号列出。
要素三:背景信息(Context)
提供完成任务需要的背景信息,包括业务背景、目标受众、约束条件、相关数据等。背景信息越充分,大模型的输出就越贴合实际需求。
示例:
- ❌ 不好的:"帮我写一封邮件"
- ✅ 好的:"背景:我们是一家工业软件公司,主要产品是MES系统。客户是一家汽车零部件工厂,之前已经演示过产品,客户对价格有些犹豫。这封邮件的目的是跟进客户,推动签约。"
技巧:背景信息要相关,不要塞无关信息。如果信息很多,可以用结构化的方式(如分点、用标签)组织,方便大模型理解。
要素四:输出格式(Format)
明确告诉大模型"输出成什么样子",包括格式、结构、长度、风格等。输出格式越明确,大模型的输出就越符合你的预期。
示例:
- ❌ 不好的:"帮我总结一下这篇文章"
- ✅ 好的:"请用以下格式总结这篇文章: 【核心观点】(3句话以内) 【关键数据】(列出3-5个重要数据) 【行动建议】(2-3条可执行的建议) 总字数控制在300字以内。"
技巧:如果需要结构化输出(如JSON、表格),给出明确的格式模板或示例。如果需要特定的风格(如正式、口语化、专业),明确说明。长度要求要具体(如"500字以内"、"不超过3段")。
要素五:示例(Examples)
给大模型提供"输入-输出"的示例,让它通过示例理解你的要求。这就是所谓的"Few-shot Learning"(少样本学习)。示例是提升输出质量最有效的手段之一。
示例:
请把以下产品描述转换成营销文案,风格要活泼有吸引力。
示例1:
输入:这款保温杯容量500ml,保温12小时,304不锈钢材质。
输出:【12小时持久保温】500ml大容量,304食品级不锈钢,
从早到晚都是热乎的!打工人的续命神器~
示例2:
输入:这款蓝牙耳机续航8小时,降噪深度35dB,重量4g。
输出:【戴上即静】35dB深度降噪,8小时超长续航,
仅4g轻若无物,通勤路上的专属安静空间!
现在请转换:
输入:这款智能手表支持心率监测、血氧检测、睡眠分析,
续航7天,防水50米。
输出:
技巧:示例要具有代表性,覆盖典型情况。示例的输出格式要和你期望的最终输出格式一致。一般2-3个示例就够了,太多会占用上下文。
要素六:约束条件(Constraints)
明确告诉大模型"不能做什么",包括禁止的内容、必须遵守的规则、需要避免的问题等。约束条件可以有效防止大模型"跑偏"。
示例:
- "不要使用markdown格式,用纯文本输出"
- "不要编造数据,如果不确定就说'需要进一步确认'"
- "不要提及竞争对手的名字"
- "回答必须基于提供的文档,不要使用文档以外的知识"
- "如果信息不足,直接说明需要哪些信息,不要猜测"
技巧:约束条件要用否定句明确表达("不要..."、"禁止..."、"必须...")。如果有多个约束,用列表形式列出,确保大模型都能注意到。
【角色】你是一位有8年经验的制造业数字化转型顾问,擅长为中型制造企业提供MES系统选型建议。
【任务】请根据以下客户信息,撰写一份MES系统选型建议报告。
【背景】客户是一家300人规模的汽车零部件工厂,主要生产发动机配件。目前生产管理主要靠Excel和人工,存在以下问题:
1. 生产进度不透明,订单延期率高
2. 质量追溯困难,出了问题找不到原因
3. 设备利用率低,经常停工待料
预算约50万元,希望6个月内上线。
【输出格式】
# MES系统选型建议报告
## 一、客户需求分析(300字以内)
## 二、核心功能需求(列出5-8个,按优先级排序)
## 三、选型建议(推荐2-3个方案,含优缺点对比)
## 四、实施路线图(分阶段,含时间节点)
## 五、风险提示(3-5条)
【约束】
1. 不要推荐超过预算的方案
2. 不要编造具体厂商名称,用"方案A/B/C"代替
3. 所有建议必须基于客户提供的信息,不要假设额外条件
4. 如果信息不足,在报告末尾列出需要补充确认的问题
二、Prompt工程的核心技巧
掌握了基本结构之后,我们来学习一些提升Prompt效果的核心技巧。这些技巧经过大量实践验证,能够显著提升大模型的输出质量。
技巧一:思维链(Chain of Thought, CoT)——让大模型"一步步想"
对于需要推理的复杂问题,直接让大模型给出答案,准确率往往不高。但如果让大模型"一步步想",先展示推理过程,再给出答案,准确率会显著提升。这就是思维链(CoT)技巧。
使用方法:在Prompt中加入"请一步步思考"、"请先分析再给出答案"、"请展示你的推理过程"等指令。
示例:
- ❌ 不好的:"一个工厂有3条生产线,每条线每小时生产100个产品,每天运行8小时,一周生产5天,一周能生产多少产品?"
- ✅ 好的:"一个工厂有3条生产线,每条线每小时生产100个产品,每天运行8小时,一周生产5天,一周能生产多少产品?请一步步计算,先算每条线每天的产量,再算3条线每天的产量,最后算一周的总产量。"
适用场景:数学计算、逻辑推理、问题诊断、决策分析等需要思考的任务。
技巧二:自我一致性(Self-Consistency)——多次采样取最优
对于有唯一正确答案的问题,可以让大模型多次生成答案,然后选择出现次数最多的那个答案。这种方法叫做"自我一致性",能够显著提升推理任务的准确率。
使用方法:在Prompt中说"请独立思考5次,每次都给出完整的推理过程和答案,最后选择出现次数最多的答案作为最终答案"。
适用场景:数学题、逻辑题、有标准答案的推理任务。
注意:这种方法会增加token消耗和响应时间,适合对准确率要求高的场景。
技巧三:角色反转(Role Reversal)——让大模型提问
有时候,你不确定自己的需求是否清晰,或者想让大模型更深入地理解问题,可以让大模型反过来向你提问。这种方法叫做"角色反转"。
使用方法:在Prompt中说"在开始任务之前,请先向我提问,确认你理解了我的需求。你需要问至少5个问题,覆盖任务的关键方面。"
适用场景:需求不明确的复杂任务、创意类任务、需要深入沟通的咨询类任务。
技巧四:分步指令(Step-by-Step Instructions)——把复杂任务拆成步骤
对于复杂任务,不要让大模型"一步到位",而是把任务拆成多个步骤,让大模型按照步骤逐步执行。每个步骤的输出作为下一步的输入。
使用方法:用编号列出步骤,明确每个步骤的输入、处理和输出。
示例:
请按照以下步骤分析这份客户反馈:
步骤1:提取客户反馈中的关键问题,列出问题清单
步骤2:对每个问题进行分类(产品质量/服务态度/物流/价格/其他)
步骤3:分析每个问题的严重程度(高/中/低)
步骤4:针对每个高严重度问题,提出改进建议
步骤5:汇总成一份结构化的分析报告
技巧五:反思与修正(Reflection & Revision)——让大模型自我检查
让大模型先生成初稿,然后对初稿进行批判性检查,发现问题后修正。这种"生成-反思-修正"的循环,能够显著提升输出质量。
使用方法:在Prompt中加入"生成初稿后,请从以下几个维度检查你的输出:准确性、完整性、逻辑性、格式规范性。发现问题后,给出修正后的最终版本。"
适用场景:对质量要求高的写作任务、代码生成、专业报告等。
技巧六:知识增强(Knowledge Augmentation)——先检索再回答
对于需要专业知识的任务,不要让大模型凭记忆回答(容易产生幻觉),而是先让大模型检索相关知识,再基于检索到的知识回答。这就是RAG(检索增强生成)的基本思想。
使用方法:在Prompt中提供相关的背景知识(文档、数据、案例),并明确要求"请基于以下提供的信息回答问题,不要使用信息以外的知识。如果信息不足,请说明需要补充什么信息。"
适用场景:需要准确性的专业问答、企业知识库问答、法律/医疗/金融等专业领域。
三、不同任务类型的Prompt模板
不同类型的任务,需要不同的Prompt策略。以下是几种常见任务类型的Prompt模板,你可以直接套用或修改使用。
3.1 分析类任务
【角色】你是一位专业的[领域]分析师,有[X]年经验。
【任务】请对以下[分析对象]进行深入分析。
【背景信息】
[提供相关背景、数据、上下文]
【分析维度】
1. [维度1]
2. [维度2]
3. [维度3]
...
【输出格式】
## 分析报告
### 一、概述
### 二、[维度1]分析
### 三、[维度2]分析
### 四、关键发现
### 五、建议与对策
【约束】
1. 所有分析必须基于提供的数据,不要编造
2. 如果数据不足,明确指出需要补充什么数据
3. 结论要有数据支撑,不要空泛的判断
3.2 写作类任务
【角色】你是一位专业的[文体]写手,擅长[风格]的写作。
【任务】请撰写一篇[类型]文章,主题是[主题]。
【背景】
[目标读者、写作目的、关键信息]
【写作要求】
1. 标题:[要求,如"吸引人、包含关键词、不超过20字"]
2. 结构:[要求,如"总-分-总、每段有小标题"]
3. 风格:[要求,如"专业严谨、通俗易懂、有说服力"]
4. 字数:[要求,如"1500-2000字"]
【必须包含的要点】
1. [要点1]
2. [要点2]
3. [要点3]
【输出格式】
# [标题]
[正文]
3.3 代码生成类任务
【角色】你是一位资深的[语言]开发工程师,有[X]年经验,
熟悉[相关框架/技术]。
【任务】请编写一段代码,实现以下功能:
[详细描述功能需求]
【输入输出】
- 输入:[描述输入参数和格式]
- 输出:[描述输出结果和格式]
【技术要求】
1. 使用[语言/框架]
2. 遵循[编码规范,如PEP8/ESLint]
3. [其他要求,如"包含错误处理"、"添加注释"、"使用异步"]
【示例】
输入:[示例输入]
输出:[示例输出]
【输出格式】
请输出完整的代码,包含必要的注释。
代码用代码块格式包裹,指定语言类型。
3.4 总结摘要类任务
【任务】请对以下文本进行总结摘要。
【原文】
[粘贴需要总结的文本]
【摘要要求】
1. 核心观点:用[X]句话概括原文的核心观点
2. 关键信息:列出[X]个最重要的数据/事实/案例
3. 行动建议:提炼[X]条可执行的建议
4. 总字数控制在[X]字以内
【输出格式】
【核心观点】
...
【关键信息】
1. ...
2. ...
【行动建议】
1. ...
2. ...
【约束】
1. 摘要必须忠实于原文,不要添加原文没有的信息
2. 不要遗漏重要信息
3. 用简洁的语言,不要重复
四、Prompt调试与优化:当输出不理想时怎么办
写Prompt就像调代码,很少一次就能完美。当大模型的输出不理想时,不要放弃,而是要系统性地调试和优化。以下是一个实用的Prompt调试流程:
第一步:明确问题
先搞清楚输出到底哪里不好:
- 是内容不对(答非所问、遗漏要点、信息错误)?
- 是格式不对(结构混乱、不符合要求的格式)?
- 是长度不对(太长/太短)?
- 是风格不对(太正式/太随意、不符合目标读者)?
- 是逻辑不对(推理错误、前后矛盾)?
第二步:定位原因
根据问题类型,分析可能的原因:
| 问题类型 | 可能原因 | 优化方向 |
|---|---|---|
| 答非所问 | 任务描述不清晰、角色设定不对 | 明确任务描述、调整角色设定 |
| 遗漏要点 | 没有明确列出必须包含的要点 | 用列表明确列出所有必须包含的要点 |
| 信息错误/幻觉 | 没有提供背景知识、没有约束"基于提供的信息" | 提供相关知识、增加"不要编造"的约束 |
| 格式混乱 | 输出格式要求不明确、没有给示例 | 给出明确的格式模板、提供1-2个示例 |
| 太长/太短 | 没有明确的字数要求 | 明确字数范围(如"800-1000字") |
| 风格不对 | 角色设定不具体、没有说明风格要求 | 细化角色设定、明确说明风格要求 |
| 逻辑错误 | 没有要求一步步思考、任务太复杂 | 加入思维链指令、把任务拆成步骤 |
第三步:迭代优化
根据定位的原因,修改Prompt,然后重新测试。每次只改一个地方,这样才能知道哪个改动有效。不要一次改很多地方,那样出了问题不知道是哪个改动导致的。
第四步:固化最佳实践
当Prompt调试到满意的效果后,把它保存下来,形成可复用的模板。在团队中共享这些模板,避免每个人都从零开始调试。
1. 一味加长度:以为Prompt越长越好,其实不然。冗长的Prompt会让大模型抓不住重点,关键信息被淹没。Prompt要"精"不要"长"。
2. 反复说同一件事:以为重复强调就能让大模型注意到,其实重复会让大模型困惑。用清晰的结构(如标签、列表)突出重点,比重复更有效。
3. 用模糊的形容词:"写得好一点"、"专业一点"、"详细一点"——这些模糊的要求大模型无法准确理解。要用具体的标准(如"包含3个案例"、"字数1000字"、"用数据支撑结论")。
4. 不测试就上线:Prompt写好后不测试就直接用,结果上线后发现各种问题。一定要用多个测试用例验证Prompt的效果,确保稳定后再上线。
五、智能体场景下的Prompt设计特殊考虑
在智能体场景下,Prompt设计有一些特殊的考虑,因为智能体不是简单的"一问一答",而是有工具调用、有记忆、有多轮交互的复杂系统。
5.1 系统提示词(System Prompt)的设计
智能体通常有一个"系统提示词"(System Prompt),定义了智能体的角色、能力、行为规则。这个提示词在整个对话过程中持续生效,是智能体的"基本设定"。
系统提示词应该包含:
- 角色定义:你是谁,你的职责是什么
- 能力范围:你能做什么,不能做什么
- 行为规则:你应该如何与用户交互,如何处理各种情况
- 工具使用说明:有哪些工具可用,什么时候使用什么工具
- 输出格式要求:回答的格式、风格、长度等
- 安全约束:不能做的事情、需要拒绝的请求
5.2 工具调用的Prompt设计
当智能体需要调用工具时,Prompt需要明确告诉大模型:
- 有哪些工具可用(工具名称、功能描述、参数说明)
- 什么时候应该调用工具(触发条件)
- 调用工具的格式(如JSON格式的工具调用指令)
- 工具返回结果后如何处理(是继续调用其他工具,还是给出最终回答)
技巧:工具的描述要清晰准确,参数说明要详细。工具太多时,可以按类别组织,或者让大模型先判断需要哪类工具,再选择具体工具。
5.3 多轮对话的Prompt设计
智能体通常是多轮对话的,Prompt设计需要考虑:
- 上下文管理:如何在多轮对话中保持上下文连贯,同时不超出上下文窗口。可以用摘要的方式压缩历史对话。
- 话题切换:当用户切换话题时,智能体应该能够识别并适应。可以在Prompt中加入"如果用户切换话题,先确认用户的新需求"的指令。
- 任务跟踪:对于需要多轮完成的任务,智能体应该能够跟踪任务进度。可以在Prompt中要求"在每次回答前,先总结当前任务进度"。
5.4 记忆使用的Prompt设计
当智能体有记忆系统(如用户画像、历史对话、知识库)时,Prompt需要告诉大模型:
- 有哪些记忆可用(用户信息、历史记录、知识库)
- 什么时候应该使用记忆(如回答用户偏好相关的问题时)
- 如何使用记忆(先检索相关记忆,再基于记忆回答)
- 记忆冲突时如何处理(如用户说的和记忆中的不一致,以用户最新说的为准)
• 好Prompt的六大要素:角色设定、任务描述、背景信息、输出格式、示例、约束条件
• 六大核心技巧:思维链(CoT)、自我一致性、角色反转、分步指令、反思修正、知识增强
• 不同任务类型有不同的Prompt模板(分析类、写作类、代码类、总结类)
• Prompt调试四步法:明确问题→定位原因→迭代优化→固化最佳实践
• 智能体场景的特殊考虑:系统提示词、工具调用、多轮对话、记忆使用
• 避免常见误区:一味加长度、反复强调、用模糊形容词、不测试就上线
下一章,我们将学习工作流编排——这是把Prompt和工具组合成完整业务流程的核心技术。通过工作流编排,你可以把复杂的任务拆解成一系列节点,实现自动化、标准化的业务流程。
📝 本章练习(5题)
答案与解析请在 互动学习看板 中作答查看。
📚 AI智能体实战训练营 课程目录(33 章)
- 第1章 什么是AI智能体:从聊天机器人到自主决策系统
- 第2章 智能体的四大核心能力:感知·思考·行动·记忆
- 第3章 范式转移:智能体与传统软件的本质区别
- 第4章 2025年主流智能体平台全景对比与选型
- 第5章 智能体应用场景地图:从个人效率到企业级落地
- 第6章 编排思维:如何把大模型变成可执行的业务流程
- 第7章 Prompt工程实战:写出让智能体精准执行的指令
- 第8章 工作流编排入门:节点、连线、条件分支与循环
- 第9章 知识库RAG实战:让智能体拥有你的专业数据
- 第10章 工具调用实战:搜索·计算·API·数据库全掌握
- 第11章 多智能体协作:角色分工、任务分发与结果汇总
- 第12章 Coze/扣子入门:30分钟搭建你的第一个智能体
- 第13章 Coze进阶:插件开发、工作流深度编排与知识库优化
- 第14章 Dify入门:开源可私有化部署的智能体平台搭建
- 第15章 Dify进阶:RAG管道优化、Agent模式与工作流编排
- 第16章 LangChain入门:用代码构建可定制的智能体应用
- 第17章 LangChain实战:自定义Agent、工具链与记忆系统
- 第18章 Agent Harness与新一代框架:2025年智能体开发趋势
- 第19章 平台选型决策树:不同业务场景下的最优平台选择
- 第20章 任务拆解方法论:把复杂问题变成智能体可执行的步骤
- 第21章 提示词编排艺术:System·User·Function的三层协同
- 第22章 记忆系统设计:短期记忆、长期记忆与向量数据库选型
- 第23章 错误处理与容错:智能体执行失败时的兜底策略
- 第24章 评估与优化体系:如何量化衡量智能体的效果并持续改进
- 第25章 安全与合规:智能体应用的数据安全、隐私保护与风险防控
- 第26章 实战项目一:企业知识库智能问答助手(全流程实操)
- 第27章 实战项目二:制造业设备故障诊断智能体
- 第28章 实战项目三:供应链采购智能分析与比价助手
- 第29章 实战项目四:多智能体协同的项目管理办公室(PMO)
- 第30章 实战项目五:智能体与MES/ERP系统的深度集成
- 第31章 智能体落地路线图:从POC验证到规模化应用的完整路径
- 第32章 AI智能体工程师/产品经理的能力模型与成长路径
- 第33章 作品集打造与面试准备:如何拿到AI智能体岗位Offer
