Prompt Engineering 提示词工程 完整详解

Prompt Engineering 提示词工程 完整详解

一、定义

Prompt Engineering(提示词工程) 专门研究如何设计、优化输入给大模型(LLM)的文本指令(Prompt),让模型稳定输出符合预期、高质量、低成本结果的一套方法论。 简单说:教 AI 听懂你的要求,控制它的输出

二、核心作用

  1. 不用微调模型,仅靠文字指令就能大幅提升回答质量;
  2. 约束输出格式(列表、JSON、代码、表格),方便程序解析;
  3. 减少幻觉、减少多余废话、降低 Token 消耗;
  4. 适配 Agent、工具调用、长文档问答等复杂业务。

三、主流基础提示词技巧

1. 清晰角色设定(System Prompt)

开头给 AI 固定身份、立场、能力边界,稳定行为。 示例:

plaintext

复制代码
你是专业后端工程师,只输出可运行Python代码,不加多余解释。

2. 明确约束规则

限定长度、风格、视角、禁止行为:

  • 控制字数:只用 5 句话回答
  • 风格:学术严谨 / 口语通俗 / 诗歌
  • 禁止:不编造不存在数据、不省略关键步骤

3. Few-Shot 少样本提示

给 1~3 个标准答案示例,AI 会模仿格式与逻辑输出。 模板结构:

plaintext

复制代码
需求:列出3个显卡,逗号分隔
示例1:H100, A100, RTX4090
需求:列出3种内存
输出:

4. Zero-Shot 零样本

不给例子,仅靠清晰指令直接生成,适合简单任务。

5. Chain-of-Thought(CoT 思维链)

要求 AI 分步思考,复杂推理、数学、逻辑题准确率暴涨。 关键词:Let's think step by step / 一步步拆解推理。

6. 格式指定(配合 OutputParser)

强制 JSON、逗号列表、Markdown 表格,便于代码读取。 搭配你学过的 CommaSeparatedListOutputParser 使用。

7. 分隔符区分输入与指令

"""### 把用户问题、参考资料包裹,避免模型混淆指令和内容。

plaintext

复制代码
参考资料:
"""
HBM是高带宽3D堆叠显存
"""
基于上面资料,一句话解释HBM

四、进阶工程方法

  1. Prompt Template 模板化 把固定 System 指令封装模板,统一复用、方便 AB 测试(你前面代码用到)。
  2. Prompt Chaining 提示词链 分步提问:先提取关键词→再总结→再格式化,拆解复杂任务,对应 Chain Composition。
  3. 自动 Prompt 优化 用大模型迭代改写 Prompt,自动测试哪种指令效果最好。
  4. 缓存优化 固定 System Prompt 开启缓存,降低输入 Token 计费。

五、和你现有代码体系关联

  1. PromptTemplate = 提示词工程的标准化载体,统一管理 Prompt;
  2. CommaSeparatedListOutputParser = 提示词格式约束的代码落地;
  3. list_prompt | llm | parser 链路 = 提示词工程 + 模型调用 + 结果解析完整流水线;
  4. AB 测试:更换不同 Prompt 模板,对比准确率、成本,属于 Prompt 工程调优环节。

六、简单实操对比

差 Prompt(模糊、无约束)

plaintext

复制代码
讲讲Token

输出:冗长杂乱,无固定格式。

优化后 Prompt(工程化写法)

plaintext

复制代码
角色:AI硬件讲师
规则:输出3条要点,英文逗号分隔列表
任务:解释Token是什么
{format_instructions}

AI 直接输出规整列表,程序可直接解析,无多余文字。

一句话总结

提示词工程是一套写指令的标准化技巧,不靠改模型,只靠优化输入文本,精准控制大模型输出内容、格式、逻辑,是开发 LLM 应用最基础、成本最低的优化手段。