Skip to content

prompt_工程师笔记(全面细致版) (1)

3088字约10分钟

AIPrompt工程提示词大语言模型

2025-08-19


0. 使用说明(如何阅读与落地)

  • 先用后优:从第 2 章“黄金六件套”开始按模板写,再视需要深入其它章节。
  • 少即是多:每次只引入必要约束;复杂度上升时分解为多个子任务。
  • 评测闭环:准备一组黄金样本,A/B 比较,再微调 Prompt。
  • 可参数化:将场景变量化({{language}}/{{tone}}/{{schema}})。

1. 基础原理:模型如何“听话”

  1. 指令层级(优先级从高到低)
  • System 指令(系统角色) > Developer 指令 > User 指令 > 对话历史
  • 冲突优先遵循更高层指令;避免在不同层重复/矛盾。
  1. 上下文与注意力
  • 模型按概率预测下一个 token;近因效应明显,关键指令建议放在开头/结尾重复。
  • 上下文窗口有限;长文应摘要/抽取后再投喂。
  1. 随机性与确定性
  • temperature 越低越稳定;top_p 调节多样性;生产建议固定随机种子/高置信。
  1. 安全与保密
  • 不要诱导模型泄露隐私或“内部机密”。
  • 不要要求模型展示其隐藏的推理链;用“给出简明理由/要点”替代。

2. Prompt 结构化写法(黄金六件套)

推荐骨架:角色(Role)— 目标(Goal)— 输入(Input)— 约束(Constraints)— 格式(Output Format)— 质量(Quality Bar)

通用模板

[角色]
你是一名 {{role}} ,负责 {{goal}} 。

[任务]
请基于【输入】完成任务,满足所有约束与输出格式。

【输入】
{{input}}

【约束】
- 领域:{{domain}}
- 风格:{{tone}}(例如:专业/简洁/友好/技术)
- 语言:{{language}}
- 禁止:杜撰事实;输出与格式不一致;泄露隐私

【输出格式】
- 使用 {{format}} (如:JSON/Markdown 表格/要点列表)
- 严格遵循:{{schema_or_example}}

【质量标准】
- 正确性:与事实一致;引用输入证据
- 完整性:覆盖所有要点;无遗漏
- 可读性:结构清晰;短句;标题分级

小技巧

  • 格式示例放进 Prompt(few-shot),模型更“对齐”。
  • 反例 告诉模型“不要这样做”。
  • 重复关键约束:开头/结尾各一次。

3. 常用提示模式(Patterns)

3.1 分解-求解(Decompose → Solve)

适合复杂任务,先产出计划,再逐步执行。

任务:在给定主题上写教程。
步骤:
1) 生成大纲(不少于 8 节)。
2) 审核大纲:指出薄弱处并改进。
3) 按大纲逐节输出。
要求:每步单独输出;上一步得到“通过”后再进入下一步。

3.2 角色扮演(Role Prompting)

你是资深 {{domain}} 顾问,目标是 {{goal}} 。
优先级:事实>逻辑>风格。遇到不确定请提出需补充的最小关键信息。

3.3 Few-shot 示例对齐

【示例】
输入:产品 A 特点:轻便、续航长;目标用户:学生。
输出:
- 卖点1:全天续航,图书馆一整天不插电
- 卖点2:轻至 900g,背包无负担

【待处理】
输入:{{your_product}}
输出:仿照示例风格,列出 3-5 个卖点。

3.4 约束满足(Constraint Satisfaction)

请在满足所有约束后给出方案:
- 预算 ≤ {{budget}}
- 完成时间 ≤ {{days}} 天
- 风格:{{tone}}
若无法同时满足,请列出权衡表并给出最优解。

3.5 ReAct(思考-行动-观察)(适用于有工具时)

当你需要外部信息或计算时:
- 思考:列出你需要的信息清单(不展示推理细节)。
- 行动:选用一个工具并给出调用参数。
- 观察:读取工具返回并更新计划。
最终仅输出答案与关键依据。

3.6 风格迁移(Style Transfer)

将下文改写为「通俗+有例子+不说教」风格,保留事实:
{{input}}

3.7 反幻觉(Hallucination Guard)

如果输入无法支撑结论,必须:
1) 明确指出不足;2) 提供需要的补充信息清单;3) 给出可验证的部分答案;4) 标注不确定性。

3.8 自校验(Self-Check)

先给出答案,再根据如下清单自查并修正:
- 是否覆盖所有需求?
- 是否违反约束?
- 是否存在逻辑矛盾/事实错误?

4. 结构化输出与数据可靠性

4.1 JSON Schema 输出

Schema 提示

仅输出 JSON,不要任何多余文本。根据 Schema 填充:
{
  "title": "{{title}}",
  "type": "object",
  "properties": {
    "summary": {"type":"string"},
    "tags": {"type":"array", "items":{"type":"string"}},
    "items": {"type":"array", "items":{
      "type":"object",
      "properties":{
        "name":{"type":"string"},
        "score":{"type":"number","minimum":0,"maximum":1}
      },
      "required":["name","score"]
    }}
  },
  "required":["summary","items"]
}

校验建议

  • 要求 禁止 尾随逗号、NaN/Infinity、注释。
  • 给出示例 JSON,提升成功率。

4.2 Markdown 表格

请以 Markdown 表格输出,列:要点|证据来源|置信度(0-1)。

4.3 正则/EBNF 约束

  • 用简单 正则 限制格式:如 ^#[^\n]+\n 开头必须是一级标题。
  • 给出 EBNF/BNF 描述小型 DSL 的语法,模型更稳。

4.4 “无废话”模式

仅输出有效载荷:
- 若为 JSON:只返回 JSON。
- 若为空结果:返回 `[]`。
- 不要解释。

5. 工具/函数调用与代理(Tool/Function/Agent)

5.1 函数调用提示骨架

当且仅当需要 {{function_name}} 时再调用。
函数签名:{{json_schema}}
- 若参数不全,先向用户询问最小必需字段。
- 成功后,用返回值继续任务;最终产出用户可读答案。

5.2 多工具选择器

可用工具:
1) web_search(q) — 获取最新网页
2) calculator(expr) — 计算
选择策略:优先选择能直接满足信息缺口的最少工具。
输出:说明所选工具及关键依据;若无需工具,直接回答。

5.3 代理(Agent)回路最小化

  • 限制最大步数(如 ≤3 步)。
  • 每步结束给出继续/终止判断标准。

6. RAG(检索增强生成)提示范式

6.1 检索指令

你将从【知识库片段】中回答,只能依据片段内容;不足处请显式标注“资料不足”。
【知识库片段】
---
{{chunks}}
---
任务:回答用户问题并给出出处编号。
输出格式:要点列表 + 引用 [#片段编号]。

6.2 去幻觉与引用

  • 明确“不得使用外部常识补全”。
  • 要求逐条对齐到片段并标注 [#id]

6.3 检索提示优化

  • 生成多路查询(子查询)再合并。
  • 对查询进行改写:同义词、上下位词、时间范围。

7. 多轮对话与状态管理

  • 状态总结槽位(Memory Slots):用户偏好/目标/限制/历史决策。
  • 回顾提示:每 N 轮做一次要点摘要,减少漂移。
  • 纠错协议:用户指出错误时,先复述问题→致歉→修正→给出自检清单。

状态摘要模板

【会话摘要-仅供后续使用,不向用户展示】
- 目标:...
- 关键约束:...
- 决策:...
- 未决问题:...

8. 多模态提示(文字×图片×表格)

  • 明确图像中的关注区域(如:左上角图表、表格第 2 列)。
  • 指定任务类型:描述/回答/定位/比较/计数/OCR/推理。
  • 输出格式依然结构化(列表/表格/JSON)。

示例

请阅读附图的折线图,完成:
1) 描述 3 个关键拐点及可能原因(不杜撰)。
2) 以 Markdown 表格输出季度-数值-结论。
不确定处标注“? + 需要的额外信息”。

9. 评测与迭代(Prompt QA/AB/Test Harness)

9.1 黄金样本集(Goldens)

  • 收集 30~100 个代表性输入 + 期望输出(或评分准则)。
  • 覆盖边界与异常:空输入、噪声、超长、矛盾。

9.2 评分方式

  • 规则评分:正则/JSON Schema/关键词覆盖率。
  • 人工评分:准确性、完整性、可读性、风格一致。
  • 模型自评(辅助):让模型按 rubric 打分,但最终以人工为准。

自评 Rubric 模板

请对上一个回答按 1-5 分打分并解释:
- 准确性
- 完整性
- 结构与格式
- 约束遵循
- 可操作性
若不足,给出 3 条可执行改进。

9.3 A/B 与回归

  • 固定环境(模型版本、温度、系统指令)。
  • 变更一个变量(Prompt 版本/顺序/示例数量)。
  • 记录指标:通过率/解析成功率/人工分/时延。

10. 安全、合规与拒绝策略

  • 不引导违法、危险、隐私泄露、歧视内容。
  • 高风险话题使用拒绝+替代
抱歉,我不能协助 {{高风险请求原因}} 。
可行替代:{{更安全的学习/通用方法/科普}}
  • 避免要求“展示内部推理链”;改用“给出关键依据/结论要点”。
  • 对不确定/可能过时的信息,标注日期或提示需要核验。

11. 领域模板库(可复制)

11.1 摘要/笔记

任务:将下文摘要为 5-7 条要点 + 关键引用(原句)。
约束:不杜撰;每条 ≤25 字;保留术语;给出主题标签 3-5 个。
输入:{{text}}
输出:Markdown 列表 + 标签。

11.2 信息抽取(实体/三元组/键值)

仅输出 JSON。抽取字段:
- company(string)
- date(YYYY-MM-DD)
- event(string)
- amount(number, optional)
对缺失字段填 null,不编造。
文本:{{text}}

11.3 分类/打标

将文本归入以下类别之一:{{labels}}。
输出 JSON:{"label":..., "confidence":0-1, "rationale":"不超过20字"}

11.4 生成(文案/邮件/脚本)

角色:{{brand}} 文案。
受众:{{audience}}
目标:{{goal}}
风格:{{tone}}
输出:标题 3 个 + 正文(100-150 字)+ CTA 2 个。

11.5 翻译与本地化

将下文译为 {{language}},保持术语一致;
遇到不可译专有名词保留原文并加注释;
输出为对照表:原句|译文|术语备注。

11.6 代码生成/改写

目标:生成可运行的 {{language}} 代码。
输入:需求说明与 I/O 示例。
约束:提供 README 级注释;边界条件;时间/空间复杂度说明。

11.7 调试/解释代码

阅读下列代码,完成:
1) 识别 bug 及复现步骤;2) 修复并给出差异;3) 单元测试 3 个。

11.8 SQL 生成

已知表结构:{{schema}}
问题:{{question}}
输出:
1) SQL;2) 风险点与假设;3) 若无法确定,给出需要的补充字段。

11.9 正则/解析器

请为下列文本模式生成正则,并解释每个分组的作用:
{{examples}}

11.10 市场与产品调研

任务:汇总 {{industry}} 的 5 个主要需求与 3 个主要痛点。
输出:Markdown 表格(用户细分|需求|痛点|证据/来源待验证)。

11.11 简历与面试

输入:职位 JD + 简历要点。
输出:
- 匹配度矩阵(要求→我的经历)
- 3 个针对性 STAR 故事
- 可能提问与要点回答

12. Debug 清单与 Anti-Patterns

Debug 清单

Anti-Patterns

  • 过度空泛:只有“写一篇 XXX”,无约束。
  • 一次性塞入过多任务,且无步骤化执行。
  • 要求“展示全部思维链”;应改为“给出简明推理要点”。
  • 结构化输出未给 Schema,导致解析失败。

13. 参数与推理设置速查

  • temperature:0.0–0.3 稳定;0.7+ 多样化创意。
  • top_p:采样概率质量;与 temperature 二者择一微调。
  • frequency/presence_penalty:减少重复、鼓励新话题。
  • max_tokens:控制响应长度;防截断。
  • 系统指令:放通用规则、禁止事项、输出风格与格式。

14. 附录:可复用片段与变量化模板

14.1 变量占位

{{language}}|{{tone}}|{{audience}}|{{schema}}|{{deadline}}|{{budget}}

14.2 格式强约束提示片段

严格遵循以下要求:
- 仅输出 {{format}}
- 若无结果输出 {{empty_value}}
- 不要解释;不要多余文本;不要代码块围栏

14.3 纠错与改进片段

请基于以下清单改写上个回答,并标注修改点:
1) 事实纠正;2) 结构清晰;3) 语言简洁;4) 补齐遗漏。

14.4 引用与证据片段

对每条结论给出对应证据(原文摘录或编号),无法提供则标注“无证据”。

快速复用清单(Cheat Sheet)

  • 骨架:角色/目标/输入/约束/格式/质量
  • 模式:分解→求解|Few-shot|自校验|反幻觉|风格迁移
  • 结构化:JSON Schema/表格/正则约束/无废话
  • RAG:仅用片段→引用编号→多路查询
  • 评测:黄金样本→Rubric 自评→A/B 回归
  • 安全:拒绝+替代;不要求内部推理链

祝使用顺利!若需要,我可以按你的行业/产品再定制一套模板库与评测用例。

贡献者: Yibz