一句话定义
提示工程是设计"输入给模型的文本"以稳定获得期望行为的技术——在 Agent 场景里,它主要发生在系统提示(角色、规则、工作流)与工具描述里,而非一次性的用户提问。
为什么重要
Agent 没有额外的"控制旋钮",你对它的全部编程就是自然语言:系统提示是它的岗位说明书,工具描述是它的操作手册。同样一批工具,提示写得差与好,任务成功率可以差出数倍。同时要清醒:提示是概率性编程——它提高的是正确行为的概率,不保证;确定性要靠结构(kp-005)、工具(kp-010)与评测(kp-024)兜底。
前置知识
kp-002(token、采样)。建议先读过 kp-003 的"系统提示常驻"概念。
核心概念
提示的解剖
一个生产级系统提示通常包含(按序):
- 角色与目标:"你是财务分析助手,任务是把用户票据归类入账"
- 工作流程:分步骤描述期望的思考-行动顺序
- 工具使用守则:何时用哪个工具、参数从哪来、错了怎么办
- 输出规范:格式、语言、长度
- 边界与兜底:什么不做、不确定时问谁
五个核心技巧
- 明确指令(Be specific):"总结" 不如 "用不超过 5 条要点总结,每条以动词开头,保留数字"。
- 少样本示例(Few-shot):给 2-3 个输入→输出对,模型模仿格式与风格的能力远强于遵守抽象描述。分类、抽取类任务首选。
- 思维链(Chain-of-Thought):要求"先分步推理再给答案"(Wei et al. 2022),在多步任务上显著提升正确率。现代推理模型(o 系列、Claude extended thinking)已把 CoT 内置——对这类模型再喊"let's think step by step"是过时的。
- 角色扮演:"你是资深 DBA" 能激活相关知识分布,但作用被高估,别指望一句角色设定解决能力问题。
- 结构化标记:用 XML 标签、Markdown 标题、
<answer>包裹等划清区块边界,减少内容互相渗染(Anthropic 文档特别推荐 XML 标签分隔指令与数据,防注入也有用,kp-026)。
提示的调试循环
写提示 ≠ 写完拉倒。流程:写初版 → 跑评测集(≥10 例)→ 归类失败(理解错?格式错?工具错?)→ 针对性改 → 回归全部用例。没有评测集的提示调优是玄学——你会朝着"昨天那个失败例子"过拟合(kp-024)。
原理与机制
为什么 few-shot 与 CoT 有效?回到 kp-002 的本质:模型是条件生成器,它极度擅长"续写当前上下文里已有的模式"。
- few-shot 在上下文里建立了"输入→输出"的模式,生成时自然延续该模式
- CoT 把一个多步问题变成模型最擅长的"逐步续写",每一步都为下一步提供了可条件依赖的中间结果
- XML 标签有效,是因为训练数据中大量结构化文档存在类似的"标签定界"模式
同理可解释为什么否定指令弱("不要提到价格"反而把"价格"植入注意力)——用正向指令描述要什么,而不是罗列不要什么。
直观类比
给模型写提示像给一个极其听话但完全没有常识的新同事写交接文档:
- 它会严格按文档执行,但文档含糊它就自由发挥(幻觉补全)
- 与其写"注意排版美观",不如贴一张排版样例(few-shot)
- 与其写"遇到复杂问题认真思考",不如写"先列出所有可能原因,逐一排除,最后给出结论"(CoT)
- 文档越厚,重点越容易被淹没(kp-003 的教训照旧适用)
实例与案例
客服 Agent 输出格式不稳定的修复过程:
初版提示:「请礼貌回复客户,并给出处理方案。」
问题:有时纯文本、有时带 markdown、方案条数不定
改为结构化提示:
请按以下格式回复客户:
<reply>
<tone>共情 + 专业</tone>
<solution>1-3 条,每条一句,可执行</solution>
<escalate>若涉及退款>500元,此处写"需转人工"</escalate>
</reply>
附 2 个示例…
结果:格式合规率从 ~70% 升到 >98%。注意这个提升来自结构与示例,而不是"更礼貌的措辞"。
常见误区
- 误区一:堆规则。30 条规则不如 5 条规则 + 2 个示例;规则越多边际效果越差且互相冲突。
- 误区二:对推理模型用老技巧。思维链提示、逼迫"深度思考"的咒语对内置推理的模型基本无效,反而挤占输出预算。
- 误区三:提示能解决一切。能力缺口(数数、精确定位)该给工具就给工具。
- 误区四:一次调好终身受用。换模型版本、换工具集、任务漂移,提示都要回归测试——把提示当代码管理(版本化、评审、评测)。
自测题
- few-shot 起作用的机制学解释是什么?
- 为什么"不要用专业术语"不如"用初中生能懂的话解释"?
- 你改了系统提示,怎么知道是变好还是变坏?
(参考答案:1. 模型是模式续写器,示例在上下文中建立了待延续的模式;2. 否定指令把禁忌概念植入注意力,正向指令直接给出目标分布;3. 靠评测集前后对比,不是凭感觉。)
与其他知识点的关系
- 提示在 Agent 中的落点 → 工具描述 kp-010、系统提示组织 kp-022
- 结构化的终极形态 → kp-005 结构化输出
- 防注入的提示手段 → kp-026;效果度量 → kp-024
延伸阅读
- OpenAI, Prompt Engineering Guide(官方文档,免费在线)
- Wei et al., Chain-of-Thought Prompting Elicits Reasoning in LLMs(NeurIPS 2022)
- Anthropic, Claude Prompt Engineering 文档(XML 标签章节)