跳转至

✍️ 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 个高频坑

  1. 指令模糊、无格式约束。
  2. 用"你是最强"前缀替代真实指令(无效)。
  3. 示例与指令矛盾。
  4. 长上下文关键信息塞中间被遗忘。
  5. 要求 JSON 又要求思考,格式崩。
  6. 不写"基于资料、不编造"→ 幻觉。
  7. 温度设太高做事实/代码任务。
  8. 提示里泄露密钥/PII(日志外泄)。
  9. 不版本化提示词,改了无法回滚。
  10. 只手测不建评估集(见 Eval)。

迭代工作流

提示词 = 代码,要版本化 + 评估驱动迭代:改一版 → 跑测试集 → 看指标 → 再改。不要凭感觉调。


5. 与下游的衔接

  • 提示工程是 RAG(拼 context)、Function Calling(写工具描述)、多 Agent(写各 Agent 指令)的共同底座。
  • 写好 system prompt 是 AI Agent 与编排 的第一步。

下一步:模型 API 与流式响应