来源:菜鸟教程 runoob.com/ai-agent/prompt-engineering.html
带读 = 讲解 + 重点 + 点评 适合:所有人 & 开发者 阅读时长 ≈ 15 分钟
一句话记住这篇文章:提示词工程 = 降低模糊性,提升你与 AI 之间的对齐度。它本质上是把"你会说话"升级成"你会结构化地说话"。
文章把提示词工程从"玄学调参"讲成了一套可复用的方法论体系:先是底层认知(Token、角色、上下文),再是十大技巧,最后落到工程化(五段式、提示词链、元提示、迭代)。下面逐层带读。
文章开宗明义:AI 能力极强但完全依赖指令。模糊输入 → 泛泛输出;清晰输入 → 精准输出。这和产品经理写需求文档是一回事——需求的歧义,最终都会变成返工。
| 角色 | 比喻 | 作用 |
|---|---|---|
System | 幕后导演 | 设定身份、规则、知识范围,对话前生效,只设一次全程遵守 |
User | 演员搭档 | 你发出的任务/问题 |
Assistant | AI 演员 | AI 回复;也可预填来引导格式 |
1000 Token ≈ 750 英文词 ≈ 500 中文字。文章收尾处提炼的速查表框架,建议背下来——它是后面所有技巧的浓缩版:
| 要素 | 问自己 | 示例 |
|---|---|---|
| 角色 | AI 是什么身份? | 你是一位专业的…… |
| 指令 | 具体做什么? | 请分析 / 总结 / 生成…… |
| 背景 | 前提信息是什么? | 读者是……用途是…… |
| 限制 | 格式/长度/边界? | 不超…字,JSON,不要…… |
文章把技巧混着讲,但落到实际,它们分别“住”在不同的消息角色里。System 端管“它是谁、守什么规矩”,User 端管“这次要它做什么、怎么交”。把技巧按载体分布,才知道什么写进系统提示词、什么写在每次提问里。
对话前生效 · 只设一次 · 全程遵守
= 给 AI 的“工作手册 / 技能设定”
每次任务 · 技巧最密
= 你临时发出的“任务指令”
| 技巧 | System 端负责 | User 端负责 |
|---|---|---|
| 角色设定 | System 设定身份与准则 | 或第一条消息“请扮演……” |
| 防幻觉 | 立规则(允许说不知道、严谨模板) | 提供 <reference> 并写“只根据资料回答” |
| Token 意识 | System 精炼、关键指令放头尾 | 长文档先摘要 / 用 RAG 只传相关片段 |
这是文章最推荐先掌握的技巧。五种让指令清晰的方法:明确受众与语气、规定输出篇幅、同时给出“要”和“不要”、说明最终用途、把复杂任务拆成步骤。
为什么有效?角色能激活 AI 在该领域积累的知识模式(告诉它“从哪个知识库调取、什么风格表达”)。
有效角色三要素:专业领域(什么专家)+ 行为方式(怎么沟通)+ 核心立场(原则偏好)。
你是一位资深的云架构师,在 AWS 上有超过 8 年经验。
风格简洁务实,以数据说话,提建议时总会权衡成本与性能,
并指出潜在风险。
为什么要分离?防止指令与数据混淆导致逻辑混乱,更重要的是防提示词注入攻击。把用户内容、参考资料用语义化标签(如 <article>、<resume_A>)包裹,恶意指令就被隔离在标签内。
<resume_A> 优于 <text1>)。三种方法:
```json\n{,强制后续输出 JSON;或写“以下是分析结果:”跳过客套话。原理:模型逐词预测,先写推理过程,内容成为结论依据,准确率提升。三种触发方式:用 <thinking> 标签隔离、直接要求“一步一步思考”、先列论据再下结论。
给 2–3 个“输入→输出”例子,AI 就能学会模式。好示例三标准:覆盖典型变体、格式完全统一、质量高于数量(2–3 个精心设计 > 10 个随便凑的)。常与角色+指令+格式组合使用。
五种策略:
只根据 <reference> 回答);<evidence> → );temperature 设为 0。把长提示词拆成五段:① 角色与目标 ② 背景知识与数据(XML 包裹)③ 行为规则 ④ 输出格式 ⑤ 示例。文章给了“法律合同审查助手”的完整案例,是这套方法论的集大成示范。
超长提示词容易遗漏、逻辑干扰、难定位错、成本高。把任务拆成子步骤串联:长文档分析(提取→分析→报告)、代码生成(需求→接口→实现→测试)、内容创作(大纲→撰写→润色)。每步间加输出验证逻辑,异常时重试或切换备用提示词。
元提示 = 用提示词生成/改进提示词(从零生成、诊断改进、反向推导)。推荐工作流:元提示生成初稿 → 人工按技巧强化(效率提升 3–5 倍)。
迭代工作流:起草 → 多输入测试 → 分析问题(跑题/格式/推理/虚假)→ 修改 → 再测试。记得做版本管理(v1.0 / v1.1 / v2.0 + 日志)。
这篇文章的价值在于它把零散的“调参经验”讲成了体系,而且同时照顾了普通用户和开发者两条线。我的几点补充建议:
| 技巧 | 什么时候用 |
|---|---|
| 角色设定 | 需要专业深度 → “你是有 X 年经验的……” |
| 清晰指令 | 每次都需要 |
| Token 意识 | 长文档 / API / 多轮 → 关键信息放头尾 |
| XML 标签 | 混合数据与指令 → 语义化标签包裹 |
| 格式模板 | 固定结构输出 → 带占位符模板 |
| 思维链 | 推理判断 → “先 <thinking> 再 <answer>” |
| 少样本 | 难描述风格 → 2–3 示例 |
| 防幻觉 | 事实 / 高风险 → “只使用文档,不确定说明” |
| 提示词链 | 复杂多步 → 拆子任务 |
| 元提示 | 不知怎么写 → “帮我生成/改进” |
| 五段式 | 完整 AI 应用 → 角色+数据+规则+格式+示例 |