课程0基础Agent开发课 / Prompt工程 / Prompt工程导读-与LLM有效沟通的艺术
— 12 min read

Prompt工程导读-与LLM有效沟通的艺术

> **本文适合谁**

Prompt 工程导读:与 LLM 有效沟通的艺术

本文适合谁

已经能调用 LLM API、但输出效果不稳定、不知道如何系统提升的开发者。Prompt 工程不是玄学,是有章可循的系统工程。

本章阅读时间:约1.5小时(共14篇)


Prompt Engineering 在外界的形象经历了两个极端:最初被当成"魔法咒语",只要找到神秘的词语组合就能解锁模型隐藏能力;后来又被认为随着模型能力提升而逐渐失效。两种看法都是误解。

Prompt 工程的本质是系统性地与 LLM 进行有效沟通。 它既不是玄学,也不会随着模型进化消失——随着模型能力提升,它的边界在扩展,复杂度在降低,但工程化的需求始终存在。

1.1 Prompt 工程是什么

官方定义(来自 OpenAI 官方文档):

Prompt engineering is the practice of crafting inputs to AI models to get desired outputs. It involves designing, refining, and optimizing prompts to effectively communicate with AI systems.

Prompt 工程是设计 AI 模型输入以获得期望输出的实践。它包括设计、优化提示词,以有效地与 AI 系统沟通。

Anthropic 的定义(来自 Anthropic 官方文档):

Prompt engineering is an empirical science that requires experimentation and iteration. The goal is to understand how to communicate effectively with Claude to get the results you want.

Prompt 工程是一门需要实验和迭代的实证科学。目标是理解如何有效地与模型沟通,以获得你想要的结果。

两个定义的共同点:Prompt 工程不是玄学,是可以系统化学习和实践的工程能力

1.1.1 为什么需要 Prompt 工程?

LLM 本质上是一个"续写引擎"——它根据你给的输入,预测最合理的后续输出。你的输入(Prompt)决定了它的输出方向。同样的模型,不同的 Prompt,效果可以天差地别。

Prompt 工程的价值在于:不需要修改模型,只通过改变输入,就能大幅提升输出质量。这是 AI 应用开发中成本最低、见效最快的优化手段。

1.1.2 Prompt 工程的核心策略(2026 年现行版本)

两大主流厂商的官方文档对 Prompt 工程策略有完整的体系描述,以下是提炼后的核心内容。

OpenAI 官方文档(2026 年版) 列出 7 个策略方向:

策略 说明
消息角色与指令遵循 developer/user/assistant 三角色有不同权限优先级,developer 消息高于 user
可复用提示模板 用占位符(如 {{variable}})在 Dashboard 创建模板,API 调用时注入变量
Markdown/XML 格式化 Markdown 标题划分区段,XML 标签界定内容边界;推荐四段式结构:Identity→Instructions→Examples→Context
Few-shot 少样本学习 提示词中包含 3-5 个输入/输出示例,引导模型推断模式,无需微调
包含相关上下文 将专有数据、私有知识加入提示词(即 RAG 的核心思路)
针对 GPT 模型的特定实践 GPT 模型受益于精确显式指令;推理模型(o3 等)只需高层目标即可
针对推理模型的特定实践 推理模型不需要 CoT 提示,给定目标后信任其独立推理

Anthropic 官方文档(适用 Claude 4.6,2026 年版) 体系更完整,核心策略分 6 类:

通用原则(最常用):

策略 说明
清晰直接 "黄金法则":把提示词给一位对任务上下文知之甚少的同事,如果他会困惑,模型也会
添加上下文 说明指令背后的动机,帮助模型理解目标而非只执行字面意思
有效使用示例 示例要相关、多样、结构化(用 <example> 标签包裹),3-5 个效果最佳
XML 标签结构化 <instructions>, <context>, <input> 等标签分隔不同类型内容,消除歧义
设定角色 System Prompt 中一句话定义模型身份,即便简短也能显著改变行为风格
长上下文处理 长文档置顶、查询放末尾(可提升 30% 响应质量);要求模型先引用再回答

输出格式控制:

策略 说明
告诉模型做什么而非不做什么 "用流畅散文段落回答"优于"不要用 Markdown"
XML 格式指示符 <smoothly_flowing_prose_paragraphs> 等标签精确控制输出格式

工具使用(Agent 场景):

策略 说明
明确指定行动还是建议 Claude 4.6 默认可能"建议修改"而非"实施修改",需明确说明期望行为
优化并行工具调用 明确告知模型对无依赖关系的工具调用应并行执行而非串行

Agent 系统(复杂任务):

策略 说明
长周期任务状态追踪 用 JSON 追踪结构化状态,用 git 记录检查点,鼓励增量进展
平衡自主性与安全性 明确说明哪些操作需要确认(删除文件、强制推送、发布到外部服务等不可逆操作)
防止过度设计 Claude 4.6 有添加不必要抽象的倾向,需明确"只做被要求的事"

两套体系的共同核心:清晰直接说明期望输出、用示例引导格式、用 XML 标签结构化内容、提供相关上下文、通过迭代实验衡量效果。

背景说明:OpenAI 原"六大策略"来自 2023 年旧版文档,现行版本(2026 年)体系已全面更新为上述 7 个策略方向。旧策略的核心思想(清晰指令、示例、分步推理等)仍然有效,已被整合进新框架。


为什么 Prompt 质量直接决定 AI 应用效果

先建立直觉:LLM 是极其聪明的新员工

你雇了一个极其聪明的新员工,他有广博的知识和优秀的能力,但对你的业务背景、期望格式、特定约束一无所知。Prompt 就是你给他的工作说明书。

说明书写得清不清楚,直接决定他能不能做好工作。

清晰度:指令是否明确,目标是否具体。"写一篇关于气候的文章"和"用适合高中生阅读的语言,写一篇 500 字的科普文章,介绍气候变化对农业的影响,包含两个真实案例"——两者效果差异显著。

结构性:任务的边界是否划定,约束条件是否显式给出,输出格式是否指定。LLM 会从 Prompt 中推断你的意图,结构化的 Prompt 减少了这种推断的歧义空间。

上下文充分性:模型只知道它训练数据中的知识,加上你在 Prompt 中给它的信息。背景不充分,是很多 Prompt 效果差的根本原因。

好的 Prompt vs 差的 Prompt

差的 Prompt

code
帮我优化这段代码

好的 Prompt

code
你是一名 Java 后端工程师,有 10 年 Spring Boot 开发经验。
请优化以下代码的性能,重点减少数据库查询次数,不要改变方法签名。
输出:优化后的代码 + 修改说明(不超过 200 字)。

区别在于:角色定义、具体任务、约束条件、输出格式——四个维度都明确了。

为什么 Prompt 质量影响如此之大

在 AI 应用的技术栈中,Prompt 是唯一不需要改代码就能影响模型行为的层次:

  • 广度:Prompt 的改变会影响输出的格式、内容质量、逻辑结构、语言风格、幻觉概率、指令遵从度。一个 10 字的描述调整,可能让任务成功率从 60% 提升到 90%。
  • 深度:在 Agent 系统中,System Prompt 定义了 Agent 的行为边界、工具使用策略、错误处理方式。写不好会导致 Agent 绕圈子、过度调用工具、忽略约束条件。
  • 成本:Prompt 的长度直接影响 Token 消耗。一个字段的冗余描述,在百万次调用规模下,成本差异可能达到数万元。
  • 安全:Prompt 是注入攻击的主要入口。不经验证的用户输入直接拼接进 Prompt,可能导致越权操作、信息泄露。

Prompt 工程的核心概念地图

Prompt工程

基础技巧

高级技巧

工程化

评估

安全

指令清晰化

角色设定

Few-shot示例

输出格式指定

约束与边界设定

思维链-CoT

ReAct模式

树状思维-ToT

自洽采样

Prompt Chaining

System Prompt设计

模板管理

版本控制

参数化Prompt

XML结构化组织

人工评估

模型评估

自动指标

数据驱动迭代

Prompt注入防御

输入验证

输出过滤

越权攻击防范


本章 14 篇文章的学习路径

基础建立(第 1-2 篇)

01 是全章的入口,覆盖 Prompt 工程的基本概念、分类(Zero-shot、Few-shot、System Prompt)以及评估方法的初步介绍。02 专门讲 Few-shot 和思维链(CoT,Chain of Thought):为什么给几个示例能显著提升效果,CoT 的原理和实践中的使用场景。这两篇建立了 Prompt 工程的基础框架。

核心技巧(第 3-6 篇)

03 讲 ReAct 模式——推理(Reasoning)与行动(Acting)交织的 Prompt 设计。这是 Agent 决策循环的 Prompt 层实现,是 Agent 开发的必学内容。04 专门讲 System Prompt 设计指南,这是最核心的 Prompt 设计能力——角色定义、行为约束、工具使用策略、错误处理指令如何写。05 讲结构化输出:如何让 LLM 稳定地返回 JSON 等结构化格式。06 讲 Prompt 安全与注入攻击防范,这是生产环境必须了解的安全知识。

工程化(第 7-8、11-12 篇)

07 讲 Prompt 模板工程化管理:从硬编码字符串到可版本控制的模板文件,生产环境的 Prompt 管理规范。08 讲思维链进阶:ToT(Tree of Thoughts,树状思维)与自洽采样,适用于需要更高推理可靠性的场景。11 讲 Prompt Chaining:把一个复杂任务拆成多步 Prompt 流水线的设计模式,是 Workflow 类 AI 应用的基础。12 讲长 Prompt 的结构化组织:XML 标签、分节设计,当 Prompt 超过 1000 字时的可维护性方案。

高级与评估(第 9-10 篇)

09 讲角色扮演与人设设计:让 AI 应用具有稳定一致的行为风格,适用于面向用户的 AI 产品。10 讲 Prompt 评估体系:从"感觉好像更好了"到数据驱动的评估方法,建立 Prompt 优化的科学流程。

专项(第 13-14 篇)

13 讲多轮对话的 Prompt 管理:保持上下文一致性。14 讲 Zero-shot 与 Few-shot 选择指南:实际项目中如何决策。

01-02
基础与Few-shot/CoT

03-06
ReAct/System Prompt/结构化/安全

07-09
工程化/ToT/角色扮演

10-14
评估/Chaining/长Prompt/多轮


Prompt 工程与 Fine-tuning 的关系

这是实际项目中最常见的选型困惑。

优先考虑 Prompt 工程的情况

  • 任务类型多样,需要快速切换
  • 数据量有限(少于 1000 条高质量样本)
  • 需求在快速变化,无法承受重新训练的周期
  • 预算有限,API 调用成本可接受
  • 探索阶段,还不确定最终效果要求

考虑 Fine-tuning 的情况

  • 有大量高质量的任务专用数据(1000 条以上)
  • Prompt 工程已经到达天花板,无法继续提升效果
  • 任务固定单一,对输出风格有严格一致性要求
  • 延迟和成本要求高,需要部署更小的模型

实践建议:先用 Prompt 工程做到 80 分,再评估是否值得用 Fine-tuning 追求更高分。Fine-tuning 的维护成本(数据标注、再训练周期、版本管理)往往被低估。大多数业务场景下,精心设计的 Prompt 工程配合 RAG,已经足够解决问题。


与其他章节的关联

与 LLM 基础(第 6 章)的关系

Temperature 参数、Token 计数、模型差异、幻觉成因——LLM 基础的知识直接影响 Prompt 的设计选择。理解 LLM 为什么会产生幻觉,才能设计出减少幻觉的 Prompt。

与 API 入门(第 7 章)的关系

API 调用章节的结构化输出与 JSON 模式,是本章结构化输出(第 5 篇)的实践补充。两章内容相互印证。

与 Agent 基础(第 12 章)的关系

ReAct 模式(第 3 篇)是连接 Prompt 工程和 Agent 设计的桥梁。System Prompt 设计(第 4 篇)直接应用于 Agent 的行为控制。Prompt Chaining(第 11 篇)是 Workflow 设计的基础模式。

与 LangChain(第 14 章)的关系

LangChain 的 Prompt Template、OutputParser 是本章 Prompt 工程化和结构化输出概念的框架实现。本章奠定了理解 LangChain Prompt 模块的概念基础。


本章速查:Prompt 技巧分类

技巧 解决什么问题 对应篇目
角色设定 激活模型特定领域的知识分布 第 01 篇
Zero-shot / Few-shot 引导输出格式和判断标准 第 01、14 篇
Chain of Thought (CoT) 提升多步推理准确率 第 02 篇
ReAct 模式 Agent 工具调用的推理框架 第 03 篇
System Prompt 设计 定义 Agent 行为边界 第 04 篇
结构化输出 让 LLM 输出可程序处理的 JSON 第 05 篇
Prompt 安全 防止注入攻击和越权操作 第 06 篇
Prompt 模板管理 工程化管理 Prompt 版本 第 07 篇
ToT / 自洽采样 提升复杂推理可靠性 第 08 篇
XML 结构化 管理长 Prompt 的可读性 第 12 篇
Prompt Chaining 拆分复杂任务为流水线 第 11 篇

Prompt 写不好,就像写不清需求文档——再好的模型也发挥不出来。

本页目录