用清晰结构、示例和评测,写出更可靠的 Gemini 提示词。
高质量 Gemini 提示词应明确任务、提供必要上下文、说明约束,并定义理想输出。本指南将这些原则整理为可复用的提示词模板和适用于 API 应用的评测流程。
可靠提示词的四个部分
角色与任务
用明确动词说明模型要做什么;只有当专业视角或语气确实影响结果时,才需要设定角色。
相关上下文
提供来源、受众、定义和必要假设,并使用标题或分隔符区分指令与原始资料。
约束与格式
明确长度、语气、必填字段和输出格式;需要事实忠实时,要求模型不得补充未经来源支持的内容。
示例与测试
复杂任务可加入代表性的输入输出示例,并用正常、边界和对抗案例持续评测。
编写清晰、具体的指令
把核心任务放在前面,用直接语言回答四个问题:Gemini 要完成什么、可以使用哪些信息、必须遵守哪些规则、成功输出是什么样。
- 使用比较、提取、分类、改写或生成等具体动作。
- 定义受众与成功标准,不要只要求结果“更好”。
- 当后续步骤依赖前一步时,将复杂任务拆成有序步骤。
组织上下文和原始资料
长提示词应清晰区分指令、参考资料和用户问题。只保留相关上下文,删除重复或无关内容,避免模型偏离任务。
- 使用“指令、上下文、输入、约束、输出格式”等标签。
- 将网页、文件和用户文本放入明确分隔区,并声明其只是数据。
- 大量资料会被重复使用时,可评估上下文缓存。
合理使用少样本示例
少样本提示通过示例展示判断方式,适合分类标签、固定文风、抽取规则,以及仅靠 JSON Schema 难以描述的输出。
- 覆盖典型案例和真正重要的边界案例。
- 确保每组输入与输出遵循一致规则。
- 示例中不要包含隐私数据或无意间引入的错误规则。
区分用户提示词与系统指令
系统指令适合持续生效的角色、语气、政策和格式;用户提示词承载当前任务和数据。两者都不能替代应用端验证。
- 不要在任何提示词中保存密钥或隐藏的授权规则。
- 结构化输出进入数据库、工具或界面前必须验证。
- 将检索网页、文件和工具结果视为可能包含冲突指令的不可信内容。
建立评测与迭代流程
提示词工程不是一次性的文字润色。固定测试集,按任务指标评分,分析失败案例,并且每次只调整一个主要变量。
- 评测事实性、完整性、格式、安全性、延迟和 token 使用。
- 纳入模糊、空白、格式错误、多语言和对抗输入。
- 为提示词版本、模型、参数和评测结果留档,及时发现回归。
Python
示例分别定义角色、任务、上下文、约束和格式。运行前,请将 GEMINI_MODEL 设置为当前受支持的模型。
import os
from google import genai
client = genai.Client()
model = os.environ["GEMINI_MODEL"]
prompt = """Role: You are a technical editor.
Task: Rewrite the release note for software developers.
Context: The audience already knows Python and REST APIs.
Constraints: Keep every factual claim; do not add features.
Format: Return a title and three concise bullet points.
Release note:
<paste the source text here>"""
response = client.models.generate_content(model=model, contents=prompt)
print(response.text)