Prompt Engineering 提示词工程 完整详解
一、定义
Prompt Engineering(提示词工程) 专门研究如何设计、优化输入给大模型(LLM)的文本指令(Prompt),让模型稳定输出符合预期、高质量、低成本结果的一套方法论。 简单说:教 AI 听懂你的要求,控制它的输出。
二、核心作用
- 不用微调模型,仅靠文字指令就能大幅提升回答质量;
- 约束输出格式(列表、JSON、代码、表格),方便程序解析;
- 减少幻觉、减少多余废话、降低 Token 消耗;
- 适配 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
四、进阶工程方法
- Prompt Template 模板化 把固定 System 指令封装模板,统一复用、方便 AB 测试(你前面代码用到)。
- Prompt Chaining 提示词链 分步提问:先提取关键词→再总结→再格式化,拆解复杂任务,对应 Chain Composition。
- 自动 Prompt 优化 用大模型迭代改写 Prompt,自动测试哪种指令效果最好。
- 缓存优化 固定 System Prompt 开启缓存,降低输入 Token 计费。
五、和你现有代码体系关联
PromptTemplate= 提示词工程的标准化载体,统一管理 Prompt;CommaSeparatedListOutputParser= 提示词格式约束的代码落地;list_prompt | llm | parser链路 = 提示词工程 + 模型调用 + 结果解析完整流水线;- AB 测试:更换不同 Prompt 模板,对比准确率、成本,属于 Prompt 工程调优环节。
六、简单实操对比
差 Prompt(模糊、无约束)
plaintext
讲讲Token
输出:冗长杂乱,无固定格式。
优化后 Prompt(工程化写法)
plaintext
角色:AI硬件讲师
规则:输出3条要点,英文逗号分隔列表
任务:解释Token是什么
{format_instructions}
AI 直接输出规整列表,程序可直接解析,无多余文字。
一句话总结
提示词工程是一套写指令的标准化技巧,不靠改模型,只靠优化输入文本,精准控制大模型输出内容、格式、逻辑,是开发 LLM 应用最基础、成本最低的优化手段。