提示词工程
本地小模型(7B、8B 这一档)指令遵循能力有限:容易忘格式、爱加客套话、动不动编造。同一个模型,提示词写得规范,输出质量能差一截。这篇是给这类模型准备的实用模板。
一、结构固定比措辞优美重要
把提示词拆成固定几块,模型更容易照着做:
- 角色:一句话说明身份。
- 任务:这次到底要干什么。
- 材料:用分隔符包起来,和指令分开。
- 规则:必须遵守的几条。
- 输出格式:要什么结构,给个样子。
- 示例:可选,给一两个样板。
二、说"做什么"而不是"不要做什么"
小模型对否定句不敏感,换个说法立刻见效:
| 效果差 | 效果好 |
|---|---|
| 不要啰嗦 | 每条不超过 30 字,共 3 条 |
| 不要编造 | 只用材料里出现的内容,没有就答"未提供" |
| 别用英文 | 全文使用简体中文,专业术语保留英文 |
三、给材料加"围栏"
资料和指令混在一起,模型分不清哪句是要求、哪句是内容。用 ---、### 或 XML 标签包起来:
### 资料
[1] ……
[2] ……
### 问题
……每段带编号,回答时就要求它写出 [1] 这样的引用,编造出处的情况会少很多。
四、用示例教格式
小模型对 few-shot 特别敏感。要固定输出 JSON,就给一个完整例子,并强调"只输出 JSON,不要解释、不要代码块标记"。给两个例子往往比写十条规则管用。
五、参数也属于提示词
- 温度:0–0.3 适合问答、抽取;0.7 以上适合写文案。
- 上下文长度:一定给足,否则最前面的系统提示词会被截掉。
- 重复惩罚:小模型偶尔复读,适度加一点。
温度调到 0 也不代表每次完全一致,只是随机性最小。
六、一份可用的模板
你是中职计算机专业老师的助教。
【任务】根据资料回答学生问题。
【资料】
---
{检索到的片段}
---
【规则】
1. 只用资料中的信息,没有就说"资料中未提供"。
2. 引用时标注片段编号。
3. 用简体中文分点作答,不超过 150 字。
4. 不确定的地方明确说"不确定"。
【输出】
直接给答案,不要复述任务,不要开场白。七、经验
- 一条提示词只干一件事,别让它同时总结、翻译、出题。
- 规则放前面,具体问题放最后。
- 输出不稳定时,先怀疑上下文被截断,再怀疑模型。
- 每次只改一处,把好用的模板存下来复用。