1. 官方提示词指南
本节依据 Google 官方的提示工程文档编写:https://ai.google.dev/gemini-api/docs/prompting-strategies?hl=zh-cn
清晰具体的指令
定制模型行为最有效的方式,就是给它清晰、具体的指令。指令的形式可以是一个问题、一组分步任务,也可以复杂到描绘整个用户体验和心智模型。
四种输入类型
提示词中的"输入"指希望模型回应的核心内容。Google 把它分成四类:
补全策略
生成式语言模型本质上像一个高级的"自动补全"工具。当提供部分内容时,模型会接着补全后面的内容。
普通写法(依赖模型理解自然语言指令):
模型会返回所有字段,包括数量为 0 的项。
补全策略写法(用一个示例 + 输出前缀引导):
模型会只输出存在的字段,自动省略数量为 0 的项。
关键洞察:当自然语言难以表达精确要求时,给一个示例 + 一个未完成的开头,比写一大段说明更有效。
添加约束
明确告诉模型该做什么、不该做什么。约束可以是长度、风格、内容范围等。
示例:
指定响应格式
可以要求模型以特定格式回复:表格、项目符号列表、电梯演讲、关键词、句子、段落、JSON 等。
通过系统指令(System Instruction)控制整体行为也是一种常见做法,例如:
用补全策略控制格式
如果希望输出符合特定结构,最有效的方式是直接写出开头让模型续写。
含糊的写法:
模型会自己决定用什么格式。
用补全策略锁定格式:
模型会按照给定的格式(罗马数字 + 星号缩进)继续填充。
零样本与少样本提示词
核心概念
- 零样本(Zero-shot):不提供任何示例,直接让模型完成任务。
- 少样本(Few-shot):在提示词中提供几个示例,让模型识别其中的模式并应用到新输入上。
少样本示例的实战应用
假设希望模型在多个解释中选择更简洁的那个。
零样本提示词(模型可能选择详细的那个):
少样本提示词(用示例展示自己偏好简洁):
第二个版本会让模型选择简洁的"解释2"。
关于示例数量
模型通常能从少量示例中识别模式,但具体数量需要实验。要注意:
- 太少:模型可能识别不出想要的模式。
- 太多:模型可能"过拟合"到这些示例,丧失泛化能力。
通常 2–5 个示例是合理的起点。
保持格式一致
少样本示例的核心目的之一就是向模型展示输出格式。因此所有示例必须保持严格一致的格式,特别注意:
- XML 标签
- 空格
- 换行
- 示例之间的分隔符
任何不一致都可能让模型输出不可预期的格式。
添加上下文
不要假设模型自带所有需要的信息。把约束、规则、参考资料等上下文信息一并放进提示词,能显著提升回答的相关性和准确性。
对比案例
没有上下文:
模型只能给出通用的故障排查建议,不针对特定路由器。
带上下文:
模型会直接给出与"黄色慢闪"对应的精确答案。
核心原则:当希望模型基于特定信息回答时,把那些信息放进提示词里,并明确告诉它"只用提供的文本回答"。
拆解复杂提示词
复杂任务不要塞进一个超长的提示词里。推荐三种拆解方式:
拆解指令
不要把多个指令塞进一个提示词,每个指令写成一个独立的提示词。然后根据用户输入选择调用哪一个。
串联提示词
对于多步骤任务,每一步做成一个提示词,前一步的输出作为下一步的输入。例如:
- 第一步提示词:把长文档总结成 5 个要点
- 第二步提示词:把这 5 个要点改写成正式商务邮件
- 第三步提示词:根据邮件生成 3 个标题候选
聚合响应
对数据的不同部分并行执行不同任务,再聚合结果。例如:分析一份会议纪要时,先抽取行动项,再抽取决策点,再抽取风险点,最后合并成一份结构化总结。
提示词迭代策略
当输出与预期存在偏差时,与其反复微调同一句话,不如系统性地从以下三个维度进行迭代:
换一种说法
同一个意思用不同措辞,效果可能差很多。
- 版本 1:"怎么烤派?"
- 版本 2:"推荐一个派的食谱。"
- 版本 3:"有什么好的派食谱?"
如果第一版不行,重写一次,别死磕。
切换到类似任务
当模型持续无法按指定格式输出时,问题往往不在指令本身,而在任务的表达形式。此时应将任务改写为一个语义等价、但结构更利于约束输出的表达方式。
原问题:
模型可能用一整段话解释,而不是只给出选项。
改写成多选题:
这样模型会直接回答"神话"。
调整内容顺序
提示词中各部分的排列顺序会影响结果。尝试不同组合:
版本 1:
版本 2:
版本 3:

评论
0 条