在与大语言模型(如 GPT 系列)交互时,提示词设计 是决定生成质量与稳定性的关键因素。以下 10 个要点从 注意力机制、上下文管理 与 多任务依赖 等角度,总结常见问题与应对策略;其中 第 6 条、8 条、10 条 为 重点 并作加深展开。
目录
- 分行格式化:让结构更清晰
- 内容不交叉且不重复:每段只做一件事
- 仅对复杂场景提供示例:聚焦边界与难点
- 角色・场景・返回格式・输入定义:四大核心要素
- 信息密度优化:去冗余,保必要
- 单任务提示词设计:避免多任务混杂 (重点)
- 简洁精炼的描述:减少语义歧义
- 长度控制(4k / 8k):预防注意力稀释 (重点)
- 自建上下文管理:不依赖模型记忆
- 先「原因」,再「结论」:分步推理更可靠 (重点)
1. 分行格式化:让结构更清晰
背景
- 当所有规则混在一段,模型难以划分要点,注意力分配混乱。
策略
- 逐行罗列:一行 / 一段只放一个规则。
- 标题标签:每段前加简短标题,便于模型捕捉。
好处
- 注意力聚焦
- 易维护
2. 内容不交叉且不重复:每段只做一件事
背景
- 多任务或重叠规则会使模型无法确定重点。
策略
- 单向表达:同一规则只出现一次。
- 独立层次:不同需求放不同段,避免交叉。
好处
- 去除语义冲突
- 增强准确性
3. 仅对复杂场景提供示例:聚焦边界与难点
背景
- 平常场景模型已有常识,过多示例只会占窗口。
策略
- 边界示例优先:挑模型最易出错的例子。
- 示例也简洁
好处
- 节省上下文
- 强化纠偏
4. 角色・场景・返回格式・输入定义:四大核心要素
要素 | 说明 | 作用 |
---|---|---|
角色 | 指明模型身份(如“法务顾问”) | 降低跑题概率 |
场景 | 任务背景/目标/限制 | 明确边界 |
返回格式 | 指定 JSON、表格等 | 方便下游调用 |
输入定义 | 说明输入数据类型与范围 | 防止缺参或越界 |
5. 信息密度优化:去冗余,保必要
- 高优信息置前
- 删掉背景故事或华丽修饰
- 保证关键规则不会被截断
6. 单任务提示词设计:避免多任务混杂 (重点)
背景
- 一条提示要求“做多件事” → Transformer 注意力冲突。
策略
- 拆分任务:复杂任务分成多条独立提示;若有依赖,把上一步输出显式放入下一步输入。
- 链式调用:逐步完成。
好处
- 集中注意力
- 减少冲突
7. 简洁精炼的描述:减少语义歧义
- 用短句直说:
输出 JSON,字段包含 type、title、reason
- 避免 “大概 / 也许” 等模糊词。
8. 长度控制(4k / 8k):预防注意力稀释 (重点)
背景
- 大模型上下文窗口有限;过长会截断或稀释。
原理
- 序列长度 (n) 越大,关键 token 的相关性更易被淹没。
- 实际上训练数据的长度也会影响模型对于输入信息的控制能力,总体来说,仍然是越短越好。
策略
- 提示词 ≤ 4k / 8k tokens
- 滑窗 / 分块 处理长文本。
9. 自建上下文管理:不依赖模型记忆
- 后端保存历史,按需写入提示。
- 显式把上一轮输出塞回下一轮输入。
10. 先「原因」,再「结论」:分步推理更可靠 (重点)
为什么?
- 思路连贯:先梳理 reason,再得 conclusion。
- 可检验:reason 有问题可及时纠正。
实践示例
{
"reason": "...",
"conclusion": "..."
}