Appearance
Gemini 提示词工程 (Prompt Engineering) 实战指南:从 System Prompt 到思维链
30秒核心精要 (TL;DR Answer-First)
如何写出高精准度、格式稳定的 Gemini 提示词?
针对 Gemini 1.5 架构,遵循四大黄金工程原则:
1. 分离系统指令 (System Instructions):将角色定义(Persona)、负面禁止项(Negative Constraints)与格式模板写入系统面板,使其具备最高引导权重;
2. 少样本强对齐 (Few-Shot Prompting):提供 2-3 个高质量带有边缘情况(Edge Cases)的输入输出样例,效果胜过数千字纯文本描述;
3. 思维链强制推导 (Chain-of-Thought):要求模型在输出最终答案前,先在
4. 原生 JSON Schema 约束:通过 API 的
针对 Gemini 1.5 架构,遵循四大黄金工程原则:
1. 分离系统指令 (System Instructions):将角色定义(Persona)、负面禁止项(Negative Constraints)与格式模板写入系统面板,使其具备最高引导权重;
2. 少样本强对齐 (Few-Shot Prompting):提供 2-3 个高质量带有边缘情况(Edge Cases)的输入输出样例,效果胜过数千字纯文本描述;
3. 思维链强制推导 (Chain-of-Thought):要求模型在输出最终答案前,先在
<thinking> 标签内展示推演逻辑,大幅减少数学与逻辑幻觉;4. 原生 JSON Schema 约束:通过 API 的
response_schema 参数锁定类型,杜绝结构破坏。 本专题依托 Google 官方技术白皮书与一线工程实践,下设 3 个二级细分专题 与 6 个三级专业内容集群。全量 36 篇独立实战文章 均已纳入全站知识图谱,供开发者按具体搜索意图按需查阅:
1. 基础结构与人设 (/prompts/basic-structures/)
集群 1.1:System Instructions 与 Persona 构建
| 序号 | 核心实战文章与解决方案 | 规范相对路径 | 适用工程阶段 | 关键技术实体 |
|---|---|---|---|---|
| 1 | 构建高说服力系统人设:从角色背景、专长到语气口吻 | /prompts/basic-structures/persona-building/article-1.html | 深度实战 | 提示词工程 / 基础结构与人设 |
| 2 | 负面约束设计原则:为什么说正向引导比反复禁止更有效 | /prompts/basic-structures/persona-building/article-2.html | 深度实战 | 提示词工程 / 基础结构与人设 |
| 3 | XML 标签(Tags)在复杂长提示词中的组织隔离艺术 | /prompts/basic-structures/persona-building/article-3.html | 深度实战 | 提示词工程 / 基础结构与人设 |
| 4 | 如何通过系统指令锁定输出语言与术语专有名词标准 | /prompts/basic-structures/persona-building/article-4.html | 深度实战 | 提示词工程 / 基础结构与人设 |
| 5 | 针对客服场景的同理心与高情商系统提示词模板 | /prompts/basic-structures/persona-building/article-5.html | 深度实战 | 提示词工程 / 基础结构与人设 |
| 6 | 提示词版本化管理:如何为业务团队制定 Prompt 规范 | /prompts/basic-structures/persona-building/article-6.html | 深度实战 | 提示词工程 / 基础结构与人设 |
集群 1.2:Few-Shot 少样本调优实战
| 序号 | 核心实战文章与解决方案 | 规范相对路径 | 适用工程阶段 | 关键技术实体 |
|---|---|---|---|---|
| 1 | Few-Shot 提示词基本原理:样例数量与生成质量的关系 | /prompts/basic-structures/few-shot/article-1.html | 深度实战 | 提示词工程 / 基础结构与人设 |
| 2 | 如何挑选最具代表性、涵盖边界异常的经典示例对 | /prompts/basic-structures/few-shot/article-2.html | 深度实战 | 提示词工程 / 基础结构与人设 |
| 3 | 少样本提示词对分类与信息提取准确率的提升实测 | /prompts/basic-structures/few-shot/article-3.html | 深度实战 | 提示词工程 / 基础结构与人设 |
| 4 | 反向示例(Negative Examples):教大模型识别错误案例 | /prompts/basic-structures/few-shot/article-4.html | 深度实战 | 提示词工程 / 基础结构与人设 |
| 5 | 动态少样本检索:结合向量库根据用户问题动态注入样例 | /prompts/basic-structures/few-shot/article-5.html | 深度实战 | 提示词工程 / 基础结构与人设 |
| 6 | Few-Shot 带来的额外 Token 成本与模型准确率的权衡 | /prompts/basic-structures/few-shot/article-6.html | 深度实战 | 提示词工程 / 基础结构与人设 |
2. 高级技巧与推理 (/prompts/advanced-techniques/)
集群 2.1:强制 JSON 与结构化约束
| 序号 | 核心实战文章与解决方案 | 规范相对路径 | 适用工程阶段 | 关键技术实体 |
|---|---|---|---|---|
| 1 | Gemini 原生 response_schema 参数使用全面指南 | /prompts/advanced-techniques/structured-json/article-1.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
| 2 | 使用 Pydantic 模型自动导出复杂嵌套 JSON Schema | /prompts/advanced-techniques/structured-json/article-2.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
| 3 | 从非结构化快递发票文本中提取标准 JSON 字典实战 | /prompts/advanced-techniques/structured-json/article-3.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
| 4 | 强制生成标准 Markdown 表格与 CSV 格式的提示词模板 | /prompts/advanced-techniques/structured-json/article-4.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
| 5 | 避免 JSON 格式截断:如何精确设置 max_output_tokens | /prompts/advanced-techniques/structured-json/article-5.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
| 6 | 在前端安全校验与反序列化大模型生成的 JSON 数据 | /prompts/advanced-techniques/structured-json/article-6.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
集群 2.2:Chain-of-Thought 思维链实战
| 序号 | 核心实战文章与解决方案 | 规范相对路径 | 适用工程阶段 | 关键技术实体 |
|---|---|---|---|---|
| 1 | 思维链(CoT)工作原理:为什么分步推演能大幅降低幻觉 | /prompts/advanced-techniques/chain-of-thought/article-1.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
| 2 | Zero-Shot CoT:利用“请一步步思考”激发大模型推理潜能 | /prompts/advanced-techniques/chain-of-thought/article-2.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
| 3 | Few-Shot CoT:在示例中展示完整的数学与逻辑推导过程 | /prompts/advanced-techniques/chain-of-thought/article-3.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
| 4 | 利用 <thinking> 标签实现思考过程与最终答案的清晰分离 | /prompts/advanced-techniques/chain-of-thought/article-4.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
| 5 | 自我反思与修正(Self-Correction)提示词设计范式 | /prompts/advanced-techniques/chain-of-thought/article-5.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
| 6 | 思维链在复杂法律合同条款一致性审核中的落地应用 | /prompts/advanced-techniques/chain-of-thought/article-6.html | 深度实战 | 提示词工程 / 高级技巧与推理 |
3. 评测与自动化优化 (/prompts/prompt-eval/)
集群 3.1:Prompt 自动化评测框架
| 序号 | 核心实战文章与解决方案 | 规范相对路径 | 适用工程阶段 | 关键技术实体 |
|---|---|---|---|---|
| 1 | 大模型作为裁判(LLM-as-a-Judge)自动给生成质量打分 | /prompts/prompt-eval/eval-frameworks/article-1.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
| 2 | 构建包含 100 个典型测试用例的业务 Prompt 回归测试集 | /prompts/prompt-eval/eval-frameworks/article-2.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
| 3 | 使用 Promptfoo 开源工具进行多模型多提示词批量对比 | /prompts/prompt-eval/eval-frameworks/article-3.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
| 4 | 如何定义可量化的生成质量指标(准确率、相关度、完整度) | /prompts/prompt-eval/eval-frameworks/article-4.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
| 5 | 版本升级时如何保证现有业务 Prompt 输出风格不突变 | /prompts/prompt-eval/eval-frameworks/article-5.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
| 6 | 基于真实用户点赞点踩反馈构建持续改进闭环 | /prompts/prompt-eval/eval-frameworks/article-6.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
集群 3.2:提示词安全与防注入
| 序号 | 核心实战文章与解决方案 | 规范相对路径 | 适用工程阶段 | 关键技术实体 |
|---|---|---|---|---|
| 1 | 提示词注入(Prompt Injection)攻击原理解析与真实案例 | /prompts/prompt-eval/prompt-security/article-1.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
| 2 | 越狱提示词(Jailbreak)的防御策略与输入过滤设计 | /prompts/prompt-eval/prompt-security/article-2.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
| 3 | 如何防止恶意用户通过提问套取底层 System Instructions | /prompts/prompt-eval/prompt-security/article-3.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
| 4 | 间接提示词注入(Indirect Injection):处理外部网页的安全防线 | /prompts/prompt-eval/prompt-security/article-4.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
| 5 | 构建输入安全检查网关(Guardrails)的最佳实践方案 | /prompts/prompt-eval/prompt-security/article-5.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
| 6 | 遵循企业数据合规:敏感个人信息(PII)自动遮蔽脱敏 | /prompts/prompt-eval/prompt-security/article-6.html | 深度实战 | 提示词工程 / 评测与自动化优化 |
目录导航
- 一、Gemini 提示词设计四大核心支柱
- 二、System Instructions 与 Persona 人设构建
- 三、Few-Shot 少样本提示词设计法则
- 四、强制结构化 JSON Schema 约束与解析
- 五、Chain-of-Thought (CoT) 思维链与防幻觉
- 六、常见提示词调试疑问 (FAQ)
一、Gemini 提示词设计四大核心支柱
与传统单模态文本模型相比,Gemini 原生支持超长上下文与多模态输入,提示词构建模型可抽象为如下层级结构:
+-----------------------------------------------------------------------------------+
| 1. System Instructions (系统全局人设与负面约束 - 权重最高) |
+-----------------------------------------------------------------------------------+
│
▼
+-----------------------------------------------------------------------------------+
| 2. Context & Reference Data (外部长文档/音视频/财报 PDF - 依赖 2M 超长上下文) |
+-----------------------------------------------------------------------------------+
│
▼
+-----------------------------------------------------------------------------------+
| 3. Few-Shot Demonstration (2-3 组高质量输入输出范例 - 锚定格式与表达风格) |
+-----------------------------------------------------------------------------------+
│
▼
+-----------------------------------------------------------------------------------+
| 4. User Task Directive & Output Constraint (具体任务指令 + 强制 CoT 推理引导) |
+-----------------------------------------------------------------------------------+二、System Instructions 与 Persona 人设构建
在 AI Studio 中,System Instructions 独立于多轮对话流。不要在 User Prompt 中反复强调“请扮演一名资深程序员”,而应直接在系统指令中确立:
Senior_Engineer_Persona.md
MARKDOWN
markdown
# 核心人设
你是一名专注于高并发架构与系统容灾的资深分布式系统专家,拥有 15 年大型互联网架构演进经验。
# 交互原则
1. 回答直击问题本质,先给出推荐的架构方案与核心考量,再展开具体实现细节。
2. 给出代码示例时,必须符合生产级工程规范(带异常捕获、连接池复用与性能注记)。
3. 如果用户的技术方案存在严重单点故障(SPOF)或性能陷阱,必须直截了当地指出潜在隐患并给出修复路径。
4. 语言使用简练专业的简体中文。三、Few-Shot 少样本提示词设计法则
对于复杂的实体抽取或文本风格转换任务,最有效的方法是提供示例对:
Few_Shot_Example.md
MARKDOWN
markdown
请从用户反馈中提取出:[问题模块]、[严重级别] 与 [核心诉求]:
输入:"付款后订单状态一直显示处理中,都过去半小时了,客服排队前面还有80人,急死我了!"
输出:
- 问题模块:订单与支付状态同步
- 严重级别:高危 (P1)
- 核心诉求:立即刷新支付状态并尽快完成出票或退款
输入:"搜索商品的时候,筛选价格区间的滑块在手机上拖动有点卡,希望能优化下。"
输出:
- 问题模块:商品搜索 UI 交互
- 严重级别:低危 (P3)
- 核心诉求:优化移动端价格筛选滑块的触控响应灵敏度
输入:"昨晚系统升级后,所有绑定的企业邮箱全部收不到验证码,新员工都无法登录系统!"
输出:四、强制结构化 JSON Schema 约束与解析
如果下游业务需要解析大模型的结果并录入 MySQL / MongoDB,请务必使用 Gemini 原生的模式约束:
structured_output.py
PYTHON
python
import os
from pydantic import BaseModel, Field
from typing import List
import google.generativeai as genai
class SecurityAuditResult(BaseModel):
is_safe: bool = Field(description='代码是否不存在重大安全隐患')
vulnerabilities: List[str] = Field(description='发现的漏洞清单,如 SQL 注入、未授权访问')
risk_score: int = Field(description='风险分值,范围 0 至 100')
remediation_steps: List[str] = Field(description='具体的加固修复措施清单')
genai.configure(api_key=os.getenv('GEMINI_API_KEY', 'YOUR_API_KEY'))
model = genai.GenerativeModel(
'gemini-1.5-flash',
generation_config={
'response_mime_type': 'application/json',
'response_schema': SecurityAuditResult
}
)
code_snippet = '''
def query_user(user_id):
sql = f"SELECT * FROM users WHERE id = '{user_id}'"
return db.execute(sql)
'''
response = model.generate_content(f'请审计以下 Python 函数的安全风险:\n{code_snippet}')
print(response.text)五、Chain-of-Thought (CoT) 思维链与防幻觉
对于涉及复杂逻辑推理、多步骤业务规则核算的场景,直接让模型输出最终答案极易产生幻觉错误。使用思维链引导(CoT),强制模型分步推导:
CoT_Prompt_Template.md
MARKDOWN
markdown
请评估以下跨境退税业务规则的适用性。
请严格按照以下步骤思考并作答:
`<thinking>`
第 1 步:核对用户购买货物的发票日期是否处于可退税时间窗口(离境前 90 天内)。
第 2 步:核对用户单张发票的含税金额是否达到退税起征点(>= 500 元人民币)。
第 3 步:确认退税商品的类目是否属于禁止出境或海关免税类目清单。
第 4 步:计算实际退税额(扣除 2% 代理手续费)。
`</thinking>`
完成思考后,在下方输出最终核算结果与凭证审核结论:六、常见提示词调试疑问 (FAQ)
Q1: 提示词越长,大模型的理解能力会下降吗?
在传统的 4k/8k 窗口模型上确实存在“注意力衰减”问题。但在 Gemini 1.5 系列上,得益于针对 2M 超长窗口的深度训练与注意力优化,模型在大跨度文本中的上下文抓取能力极其强悍。关键在于结构层次分明:使用清晰的 Markdown 标题、分段与明确的 XML 标签(如 <context>、<rules>、<query>)对信息进行模块化隔离。
Q2: 什么是负面约束(Negative Constraints)?为什么 AI 经常违背“请不要…”的指令?
根据注意力概率机制,当提示词中频繁出现某个词汇时,即使带有“禁止”、“不要”的前缀,也会在 Embedding 空间中激活该概念的相关语义。更优的工程实践是给出正向替代指令:例如与其说“不要输出非正式口语”,不如写“请始终使用严谨、庄重的书面学术语调输出”。