Prompt Engineering 绝非简单的“搭话”它是目前连接自然语言与计算机代码最重要的一座桥梁。通过定义角色、明确约束、提供示例 (Few-Shot) 以及 激发思维链 (CoT)等方式我们能把一个不稳定的概率模型变成业务中可靠的“智能外脑”。本文全面介绍了提示词相关内容包括提示词工程的重要性如何写好一个提示词 Prompt以及使用 Coze 平台进行实操适合零基础小白入门。面对汹涌而来的 AI 浪潮很多研发同学感到焦虑。但其实对于非算法背景的我们来说不需要成为研发「发动机」的算法科学家而是要成为能够驾驭「赛车」的 AI 工程师。今天我们就来学习第一项、也是最核心的驾驶技术提示词工程Prompt Engineering简称 PE。提示词工程听上去很高大上实际上说白了就是我们给大模型写指示想办法让它更听话。这就像带实习生一样你说得越清楚他干得越靠谱。如果任务没说清楚实习生可能会把事情办砸大模型也一样Prompt 写得好不好直接决定它能不能完美完成任务。1. 重要性为什么PE 是必备技能翻开现在各大公司的 AI 工程师招聘 JD你会发现“熟练掌握提示词工程”几乎已经成了硬性标配。很多纯开发的同学可能会不屑“写提示词不就是跟机器人聊天吗这玩意儿有什么技术含量”这实际上是一个巨大的认知误区。1 从“自由闲聊”到“工程协议”在普通用户眼里Prompt 是对话但在开发者眼里Prompt 其实是代码逻辑的自然语言化。用户在“对话” 输出是发散、随性的好坏全看 AI 心情。工程在“封装” 我们需要输出是收敛、确定、格式化的。如果 Prompt 写得不好大模型哪怕只是多返回了一个句号或者 JSON 格式稍微错位业务系统在解析数据时可能就会直接报错导致整个业务链路崩溃。因此PE 的核心价值在于建立一套人机交互的工程化协议让原本不可控的“黑盒”变成一个能稳定输出结果的“函数”。2ROI投资回报率极高的 AI 技能对于普通开发者而言PE 是最容易掌握、见效最快的 AI 核心能力。零成本 你不需要深究底层的复杂数学原理不需要排队购买昂贵的显卡去微调模型甚至不需要改动一行的业务逻辑代码。高收益 仅仅是把提示词写清楚同一个任务的准确率就能从 60%勉强及格 飙升到 90% 以上工业级水平。这中间 30% 的差距往往就是你的 AI 业务能不能落地、老板和用户满不满意的关键决胜点一句话总结提示词工程就是让大模型更听话。这是我们普通人最容易掌握、见效最快的 AI 能力。2. 理论如何写好一个 Prompt我们知道 LLM 本质上是一个“概率预测机”它读取文本计算概率预测下一个词循环往复。在这个过程中我们给 LLM 的所有输入统称为 Prompt提示词。但这里有个工程难题如果输入是发散的输出必然也是发散的。举个例子我们想让 LLM 判断用户反馈是正面还是负面❌写法 A这条评论是正面的还是负面的用户说界面太丑了卸载了。LLM 可能回答 “是负面的”、“负面情绪” 或者 “由于用户提到了卸载这显然是负面的...”。后果输出不稳定回答可能五花八门。这在聊天时没问题但如果需要解析结果比如存入数据库、触发告警这种不统一的格式简直是开发者的噩梦。✅写法B你是一个情感分析专家。请判断以下用户反馈的情感倾向只返回正面或负面或中性不要输出任何解释。用户反馈界面太丑了卸载了LLM 回答 负面。后果 输出更加稳定。这就是提示词工程Prompt Engineering的核心通过精心设计 Prompt让 LLM 的输出更稳定、更准确、更符合业务需求。我们继续用判断用户反馈情感这个例子按照以下几个步骤进行调优(1) 先把话清楚明确角色和任务第一步是“定义人设”告诉 LLM你是谁要做什么。在 API 开发中这通常通过 System Prompt系统提示词 来实现。角色定义你是一个情感分析专家——这样 LLM 会自动调整专业程度知道要从用户反馈中提取情感信号。任务指令请判断用户反馈的情感倾向——不要让 LLM 去猜你想干什么直接说清楚。# 角色 你是一个情感分析专家擅长从用户反馈中识别情绪。 # 任务 请判断用户反馈的情感倾向只返回正面或负面或中性2给出模板让 LLM 照着做直接下指令LLM 有时仍会“放飞自我”。比如你要求“只返回正面或负面”它可能会输出“这条反馈是负面的”或者“Negative”。这些都是负面的意思但格式不一致。这时候给他几个示例最有效这叫 少样本学习Few-Shot Learning。# 角色 你是一个情感分析专家擅长从用户反馈中识别情绪。 # 任务 请判断用户反馈的情感倾向只返回正面或负面或中性 # 示例 ## 示例1输入 这个APP太棒了 ## 示例1输出 正面 ## 示例2输入 用了一天就崩了垃圾软件。 ## 示例2输出 负面就像给实习生一个参考答案模板他看了几个例子自然就明白该怎么干了。而且这不需要重新训练模型完全靠 LLM 强大的上下文学习能力给它几个例子它就能学会新任务的规律。3让它慢下来逐步推理在处理复杂情感时比如阴阳怪气、转折句LLM 容易直接“跳步”给错答案。比如用户评论“界面漂亮但反应慢每次加载都要等一分钟果断卸载了”。LLM 可能看到“漂亮”就直觉式地判断为“正面”忽略了核心的负面诉求。如果加一句话 请逐步思考Lets think step by step 准确率会神奇地提升。这就是 CoTChain of Thought思维链。LLM 的内部逻辑流会变为关键词提取“界面漂亮”正、“反应慢”负、“想卸载”极负。意图分析虽然有视觉上的夸赞但最终行为是卸载表达了强烈的挫败感。最终结论负面。核心逻辑 强迫 LLM 先把推理过程写出来这个过程会成为后续生成的“上下文”相当于模型在“自我检查”确保结论是推导出来的而不是“猜”出来的。# 角色 你是一个情感分析专家擅长从用户反馈中识别情绪。 # 任务 请判断用户反馈的情感倾向。请逐步思考后再输出结果。只返回正面或负面或中性 # 示例 ## 示例1输入 这个APP太棒了 ## 示例1输出 正面 ## 示例2输入 界面漂亮但反应慢每次加载都要等一分钟果断卸载了。 ## 示例2输出 负面除了简单地加上请逐步思考外更有效的方式是我们在 Prompt 中定义好大模型的每一步推理过程给出固定模板# 角色 你是一个情感分析专家擅长从用户反馈中识别情绪。 # 任务 请判断用户反馈的情感倾向。请按照以下步骤逐步思考后再输出结果只返回正面或负面或中性 # 分析步骤 1. **关键词提取**从句子中找出所有具有情感倾向的词标注每个词汇的情感极性正面/负面/中性 2. **上下文分析** - 分析词汇间的逻辑关系转折、递进、并列、正话反说等判断核心情感诉求如转折句中后半句通常为核心正话反说需结合语境判断真实情绪 - 识别中性场景若反馈中无明显正面/负面词汇仅为客观描述或正面与负面词汇权重相当、相互抵消均判定为中性场景 - 区分网络用语的情感倾向如“666”表示认可正面“6”表示讽刺负面“还行”表示中性 3. **情感权重判断**对提取的情感词汇进行权重排序核心诉求对应的词汇权重高于次要描述中性词汇不参与权重竞争仅在无明显正负倾向或正负权重相当时生效 4. **最终结论** - 正面信号权重负面信号权重返回“正面” - 负面信号权重正面信号权重返回“负面” - 正面与负面信号权重相当或无明显正负信号、仅为客观描述返回“中性”。 # 示例 ## 示例1输入这个APP太棒了 ## 示例1输出正面 ## 示例2输入界面漂亮但反应慢每次加载都要等一分钟果断卸载了。 ## 示例2输出负面CoT 虽然能够带来准确率的提升但也会增加推理成本和响应延迟。因此我们需要根据任务复杂度灵活使用简单任务如情感分析、分类 无需使用 CoT 优化。a.优点响应快、Token 成本低b.适用场景输入清晰的简单分类、问答复杂任务如代码生成、多步骤推理 必须开启 CoT。a.优点显著提升准确率b.适用场景数学题、代码生成、需要多步骤思考的复杂任务4格式约束让程序能读懂前面解决的是“答得对”但在代码场景下还有一个关键问题让 LLM “答得能被程序解析”。业务系统中我们通常希望 LLM 返回 JSON 这种结构化数据。但 LLM 是个“话痨”你让它返回 JSON它可能随口回一句“好的这是你要的结果{...}”。这多出来的几个字就会导致 json.loads() 直接报错。为了解决这个问题工程上通常采用“事前约束 事后纠错”的组合拳1结构化 Prompt事前约束直接给模型一个标准的 JSON 模板并约束它不要输出多余的解释。# 角色 你是一个情感分析专家擅长从用户反馈中识别情绪。 # 任务 请判断用户反馈的情感倾向。请按照以下步骤逐步思考后再输出结果只返回正面或负面或中性 # 分析步骤 1. **关键词提取**从句子中找出所有具有情感倾向的词标注每个词汇的情感极性正面/负面/中性 2. **上下文分析** - 分析词汇间的逻辑关系转折、递进、并列、正话反说等判断核心情感诉求如转折句中后半句通常为核心正话反说需结合语境判断真实情绪 - 识别中性场景若反馈中无明显正面/负面词汇仅为客观描述或正面与负面词汇权重相当、相互抵消均判定为中性场景 - 区分网络用语的情感倾向如“666”表示认可正面“6”表示讽刺负面“还行”表示中性 3. **情感权重判断**对提取的情感词汇进行权重排序核心诉求对应的词汇权重高于次要描述中性词汇不参与权重竞争仅在无明显正负倾向或正负权重相当时生效 4. **最终结论** - 正面信号权重负面信号权重返回“正面” - 负面信号权重正面信号权重返回“负面” - 正面与负面信号权重相当或无明显正负信号、仅为客观描述返回“中性”。 # 输入格式 { feedback: 用户反馈内容 } # 输出格式 { sentiment: 正面/负面/中性, reason: 原因分析 } # 约束 1. 必须仅返回 JSON 数据禁止任何解释性文字 2. sentiment 字段只能是 正面 或 负面 或 中性 3. reason字段需结合关键词提取、上下文分析说明判断依据中性反馈需明确“无明显正负倾向”“客观描述”等核心依据不遗漏核心情感点。 # 示例 ## 示例1输入 {feedback: 这个APP太棒了} ## 示例1输出 {sentiment: 正面, reason: 用户使用正面词汇 “太棒了” 直接夸赞 APP核心情感为满意无负面诉求情感倾向正面} ## 示例2输入 {feedback: 界面漂亮但反应慢每次加载都要等一分钟果断卸载了} ## 示例2输出 {sentiment: 负面, reason: 提取到正面词汇 “漂亮”负面词汇 “反应慢”“加载要等一分钟”“果断卸载”上下文通过 “但” 转折后半句为核心诉求负面描述及卸载行为体现用户的不满负面信号权重远高于正面信号权重情感倾向负面}2工程化鲁棒性事后纠错在实际业务中单靠 Prompt 依然会有概率遇到非法格式。研发通常会引入以下兜底方案原生 JSON 模式调用 API 时开启模型自带的 response_format: { type: json_object } 模式强制模型输出。如果平台支持的话。自动修复Repair使用类似 json_repair 的库。这些库利用算法修复模型输出中缺失的引号、括号或多余的解释语。重试机制Retry如果解析失败自动进行 2-3 次重试或者在重试时把错误信息返还给模型“你刚才返回的格式错了请修正”。3. 实战Coze 平台构建智能体理论讲完了现在我们上实战。在现代 AI 开发中将 Prompt 与代码解耦是最佳实践。硬编码 Prompt 不仅维护困难而且难以测试和迭代。这里以 Coze扣子平台作为演示。作为一个极佳的 Bot 构建平台它的优势在于注Coze 平台也支持知识库、工作流等能力后续讲到 RAG、Workflow 等内容时会再次用到。下面通过 Coze 平台快速上手完成情感分析 Bot登录 Coze 平台网站https://www.coze.cn/home点击创建-创建智能体命名情感分析助手配置人设与回复逻辑也就是我们理论部分的 System Prompt模型使用默认即可。在右侧对话区输入测试数据进行实时调试比如输入{feedback: 这 APP 太棒了棒的我想卸载}模型便会分析出对应情感。如果希望通过 API 调用可以参考官方文档https://www.coze.cn/open/docs/developer_guides/coze_api_overview。4. 总结Prompt Engineering 绝非简单的“搭话”它是目前连接自然语言与计算机代码最重要的一座桥梁。通过定义角色、明确约束、提供示例 (Few-Shot) 以及 激发思维链 (CoT)等方式我们能把一个不稳定的概率模型变成业务中可靠的“智能外脑”。而借助 Coze 这样的平台我们能完美实现 Prompt 与代码的解耦让 AI 工程化变得前所未有的顺畅。