名词扫盲
Prompt
Prompts (提示词) ; 对于同一个 LLM , 不同的人用 结果天差地别,而 prompt 就是为了 统一 。
可以是 :
- 具体的指令
- 具体的问题
- 具体的背景
- 具体的格式要求
|
|
system和user 都是 prompt 的一部分
为什么 prompt 很重要
llm 本质上是一个 next-token 的预测及其 。 对于模糊的上下文,他往哪里走的方向就越多,输出的就越随机
但是给的上下文越精确,它搜索的范围就越窄
user prompts
大部分 Ai 对话 都是 user protmps
好的 User prompts 的三要素 :
- 目标明确 :要做什么?分析、总结、改写、生成代码,得明说。“帮我看看这个日志"不是目标,“帮我分析这段日志里的报错原因并给出排查方向"才是。
- 背景充足 :大模型不知道你的业务、你的系统架构、你的团队惯例,它只能靠你给的信息推断。背景给得越充分,它越不需要乱猜,幻觉越少。
- 输出要求 :格式、长度、风格,不说,它随心所欲。你想要 Markdown 列表?想要 JSON?想要 3 条以内?一定要在 Prompt 里讲清楚。
场景对比 :
❌ 简单版 :「数据库怎么了?」 大模型不知道你说的是哪个数据库、什么时间发生的、有什么报警信息、你想要什么样的答案。
✅ 完整版 :
|
|
System Prompt
用户层面看不到 system prompt 这是开发提前写进去的一个 底层指令
system prompts 的三个核心用途 :
- 身份设定 :给模型一个具体的角色
|
|
- 行为规则:定义模型"能做什么、不能做什么”
|
|
- 输出格式约束 :让模型每次都按固定格式输出
|
|
如何写好一个 pormpts
- 给模型"角色”
- 正向约束 > 负向约束
- ❌不要太啰嗦
- ✅回答控制在3句话以内
- 喂足够的信息
- 指定输出格式
- Few-shot . 给几个参考例子
- 让模型先思考再回答
- 请先逐步分析,再给出最终结论