✍️ Prompt Engineering 提示工程¶
提示工程是"与模型沟通"的基础功,决定了 RAG / Agent / 一切 LLM 应用的效果上限。本页按 Anthropic 官方提示工程指南的结构,讲清核心技术、注意事项与踩坑点。官方技术:清晰指令、分隔符、XML 标签、思维链、少样本、角色设定。
依据:Anthropic Prompt Engineering Guide
📌 适用版本 / 更新日期:Anthropic 官方提示工程指南(范式稳定);最后更新 2026-08。
1. 核心原则:清晰、直接、少歧义¶
模型不是人,不会"意会"。指令越具体,输出越可控。
最致命错误
写"你是一个有用的助手,请帮我处理一下这个"——模糊动词 + 无格式约束 = 模型自由发挥。必须写清:角色 + 任务 + 输入 + 输出格式 + 约束。
2. 六大官方技术¶
2.1 清晰指令(Be clear and direct)¶
| 技巧 | 说明 |
|---|---|
| 用祈使句 | "总结以下文本为 3 条要点" 优于 "能不能帮我总结" |
| 指定受众 | "向非技术产品经理解释" |
| 限定范围 | "只基于提供资料,不编造" |
| 给输出模板 | 直接给 Markdown 表格骨架 |
2.2 分隔符 Delimiters¶
用 --- / ### / XML 把指令、上下文、用户输入隔开,避免模型混淆。
系统:你是严谨助手。
###
资料:
{context}
###
用户问题:{question}
只依据资料回答。
2.3 XML 标签(Anthropic 强推)¶
用 <context> <example> <output> 等标签结构化提示,模型对 XML 边界识别极好。
<role>资深后端工程师</role>
<context>
{检索到的文档}
</context>
<task>回答用户关于订单状态的问题</task>
<output_format>JSON: {answer, source_ids[]}</output_format>
XML 比 Markdown 更稳
官方实测 XML 标签在复杂多段提示下边界更清晰,尤其 Agent 拼接多块上下文时。
2.4 思维链 Chain-of-Thought¶
让模型"先想再答":加一句"请一步步思考再给出结论"。复杂推理/数学显著提升。
CoT 与结构化输出冲突
要求"只输出 JSON"又要求"一步步思考",模型会两难。解决:思考放 <thinking> 标签内,最终答案单独给。
2.5 少样本 Few-shot¶
给 1-3 个 (输入, 理想输出) 示例,比纯描述更有效——尤其特定格式/语气。
示例质量陷阱
示例本身有错 → 模型照学。示例风格要统一,且覆盖边界情况。不要给相互矛盾的示例。
2.6 角色与系统提示¶
system 定身份边界(最高优先级)。但官方提醒:角色不是魔法,真正有效的是清晰的指令结构,而非"你是最强 AI"这类无意义前缀。
3. 进阶:长上下文与 Extended Thinking¶
- 长上下文:塞大量资料时,关键信息放开头和结尾(中间易"lost in the middle")。
- Extended Thinking(Claude 特性):开启后模型内部多步推理,复杂任务质量升、延迟与成本也升,按需开。
- 预填 Prefill:在 assistant 开头预置
{"answer":,强制模型续写 JSON,是稳定结构化输出的技巧。
4. 提示工程踩坑大全¶
10 个高频坑
- 指令模糊、无格式约束。
- 用"你是最强"前缀替代真实指令(无效)。
- 示例与指令矛盾。
- 长上下文关键信息塞中间被遗忘。
- 要求 JSON 又要求思考,格式崩。
- 不写"基于资料、不编造"→ 幻觉。
- 温度设太高做事实/代码任务。
- 提示里泄露密钥/PII(日志外泄)。
- 不版本化提示词,改了无法回滚。
- 只手测不建评估集(见 Eval)。
迭代工作流
提示词 = 代码,要版本化 + 评估驱动迭代:改一版 → 跑测试集 → 看指标 → 再改。不要凭感觉调。
5. 与下游的衔接¶
- 提示工程是 RAG(拼 context)、Function Calling(写工具描述)、多 Agent(写各 Agent 指令)的共同底座。
- 写好 system prompt 是 AI Agent 与编排 的第一步。
下一步:模型 API 与流式响应