prompt_工程师笔记(全面细致版) (1)
3088字约10分钟
AIPrompt工程提示词大语言模型
2025-08-19
0. 使用说明(如何阅读与落地)
- 先用后优:从第 2 章“黄金六件套”开始按模板写,再视需要深入其它章节。
- 少即是多:每次只引入必要约束;复杂度上升时分解为多个子任务。
- 评测闭环:准备一组黄金样本,A/B 比较,再微调 Prompt。
- 可参数化:将场景变量化(
{{language}}/{{tone}}/{{schema}})。
1. 基础原理:模型如何“听话”
- 指令层级(优先级从高到低)
- System 指令(系统角色) > Developer 指令 > User 指令 > 对话历史
- 冲突优先遵循更高层指令;避免在不同层重复/矛盾。
- 上下文与注意力
- 模型按概率预测下一个 token;近因效应明显,关键指令建议放在开头/结尾重复。
- 上下文窗口有限;长文应摘要/抽取后再投喂。
- 随机性与确定性
temperature越低越稳定;top_p调节多样性;生产建议固定随机种子/高置信。
- 安全与保密
- 不要诱导模型泄露隐私或“内部机密”。
- 不要要求模型展示其隐藏的推理链;用“给出简明理由/要点”替代。
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 回归
- 安全:拒绝+替代;不要求内部推理链
祝使用顺利!若需要,我可以按你的行业/产品再定制一套模板库与评测用例。
