结构化 Prompt 应该怎么写?
结构化 Prompt 应该怎么写?
一句话核心:结构化 Prompt 是一套将提示词工程化的方法论,通过预定义模块(角色、技能、工作流等)像编程一样组织指令,让 AI 输出更精准、更稳定、可复用,比"写作文式"的随意提问效果提升 3-5 倍。
核心概念(术语表)
- 结构化 Prompt(Structured Prompt):将提示词按特定框架组织的写法,包含 Role、Goals、Constrains、Skills、Workflow 等模块,解决"AI 无法精准理解指令"的问题
- XML 风格标签:用
<context>、<task>等标签区分指令与参考资料,Gemini 3 对此响应最佳 - 代理工作流(Agentic Workflows):强制 AI 先分析、后执行的工作模式,通过 Chain of Thought 降低幻觉率
- Few-Shot Prompting(少量样本提示):在指令中提供 1-2 个"问题+答案"示例,比纯文字描述规则精准度高 40%
- Temperature(温度参数):控制 AI 输出随机性的参数,Gemini 3 推荐维持 1.0,而非传统的 0
- Chain of Thought(思维链):让 AI 展示推理过程的技术,可将复杂问题准确率提升 30%
- LangGPT:GitHub 上的结构化 Prompt 项目,由 yzfly 提出,提出简版结构化写法
- Zero-Shot vs Few-Shot:零样本(直接提问)vs 少样本(举例说明),Few-Shot 效果明显优于 Zero-Shot
- 起手式定调:给 AI 一个输出格式的开头,强制其模仿格式续写
- 提示链(Prompt Chaining):将步骤 A 的输出作为步骤 B 的输入,分步处理复杂任务
历史背景 / 来源
- 2023-2024 年:LangGPT 项目(GitHub yzfly)在开发者社区广泛传播,首次系统化提出结构化 Prompt 的模块化写法
- 2025 年 12 月:Google 发布 Gemini 3 官方《Prompt Design Guide》,提出 8 大提示词技巧,强调从"随意聊天"转向"工程化设计"
- 核心推动者:Google DeepMind(Gemini 团队)、LangGPT 社区
- 解决的问题:AI 输出不稳定、幻觉率高、无法精准执行复杂任务
工作原理 / 核心机制
整体思路
结构化 Prompt 将自然语言指令转化为类似"程序代码"的格式,通过预定义模块让 AI 明确知道"我是谁、我要做什么、我要怎么做",大幅降低理解歧义。
输入/输出
- 输入:包含 6-7 个预定义模块的结构化文本
- 输出:符合指定格式、语气、逻辑的高质量回复
- 关键指标:比非结构化提示词,复杂任务准确率提升 30-50%
核心步骤详解
第一步:定义角色(Role + Profile)
- 输入:指定角色名称,如"你是 Python 专家"
- 处理:AI 在对应领域的知识权重被激活
- 输出:后续回答会自动聚焦该领域
- 效果:指定角色比不指定,领域相关回答准确率提升 25%
第二步:设定目标与约束(Goals + Constrains)
- 输入:明确告知"要做什么"和"不能做什么"
- 处理:Constrains 帮助 AI"剪枝",减少不必要分支的计算
- 输出:更聚焦的回答,减少废话和错误方向
- 示例:"解释完即结束,不询问'还有其他问题吗'"
第三步:定义技能(Skills)
- 输入:列出 AI 可以调用的能力,如"使用比喻解释概念"
- 处理:强化对应技能在输出中的权重
- 输出:调用指定技能完成回答
- 效果:明确技能列表比不写,回答质量提升 35%
第四步:设计工作流(Workflow)
- 输入:分步骤指令,如"1. 分析 → 2. 举例 → 3. 总结"
- 处理:AI 按指定顺序执行,避免跳步或遗漏
- 输出:结构完整、逻辑清晰的回答
- 关键:工作流是最重要的模块,直接决定输出框架
第五步:冷启动(Initialization)
- 输入:AI 开场白,如"欢迎用户,介绍我的工作方式"
- 处理:设置对话基调,强化重点
- 输出:自然的对话开头
关键知识点
- 结构化 Prompt 的常用模块至少有 7 个:Role:name、Profile、Goals、Constrains、Skills、Workflow、Initialization
- Google 建议使用 XML 标签(如
<context>、<task>)或 Markdown 格式组织提示词 - Gemini 3 对结构清晰的指令响应最佳,结构混乱的指令幻觉率增加 20%
- 代理工作流要求 AI 在给出最终答案前,先进行逻辑分析、风隐评估或拟订大纲
- 思维链的强制执行能大幅降低 AI 胡言乱语(幻觉)的机率
- 少量样本(Few-Shot)在指令中包含 1-2 个理想"问题+答案"范例,比 Zero-Shot 精准度高 40%
- 模型无法"通灵",不提供背景资料时 AI 只能给出通用的废话
- 用"English:"、"Answer:"等前置词标签可以明确标注哪里是资料、哪里是答案区
- "起手式定调":直接写出想要的输出格式开头,AI 会被迫模仿格式续写
- 遇到长篇文档,先分段处理再合并,准确度比一次完成高 30%
- 正向表述("请使用主动语态")比负向表述("不要使用被动语态")效果好 25%
- Gemini 3 的 Temperature 应维持 1.0,调低至 0 会破坏推理能力
- LangGPT 项目提出的简版结构化 Prompt 非常易于学习和上手
- 结构化 Prompt 支持 Markdown 语法、YAML 语法,甚至纯文本
应用场景
场景 1:Claude Code 编程辅助
用结构化 Prompt 定义"代码审查专家"角色 + 审查工作流,一次性输出包含漏洞位置、修复建议、安全风险的完整报告场景 2:Notion AI 自动化
官方公布 100 个提示词模板,覆盖行销、业务、专案管理,通过结构化 Workflow 实现"一键自动化"场景 3:知识探索专家
Profile 定义为"提问并解答知识点的 AI",Workflow 设计为"来源→本质→发展"三步框架,用户输入任何概念都能获得系统性讲解场景 4:Prompt 打分器
设计"Prompt Judger"角色,对用户输入的 Prompt 从 1-10 打分,并给出具体改进建议和优化后的完整 Prompt场景 5:信息排版美化
定义"文字排版大师"角色,指定使用 Unicode 符号和 Emoji 进行排版,将混乱的文本转化为结构清晰、视觉美观的格式
常见误区 / 踩坑
❌ 误区 1:以为提示词越长越好
✅ 正解:结构清晰比长度重要,冗长但混乱的提示词效果反而差 30%❌ 误区 2:用负向表述("不要 YY")约束 AI
✅ 正解:负向表述效果差 25%,应直接告诉 AI"请做 XX"❌ 误区 3:所有模型都应调低 Temperature
✅ 正解:Gemini 3 需要维持 1.0,调至 0 会破坏推理能力,导致表现退化❌ 误区 4:不给上下文,期待 AI"通灵"
✅ 正解:模型无法通灵,必须提供参考资科、背景信息,否则只能给通用废话❌ 误区 5:一次性输入所有复杂要求
✅ 正解:拆解为多个步骤,用提示链逐步引导,准确度比一次完成高 30%❌ 误区 6:不指定输出格式
✅ 正解:用"起手式"给出格式开头,如"I. 前言\n* ",强制 AI 模仿格式
性能 / 复杂度
结构化 Prompt vs 非结构化 Prompt
- 复杂任务准确率:结构化 +30-50%
- 幻觉率:结构化降低 20-30%
- Token 消耗:结构化略高 5-10%(因为包含更多指令),但重试次数减少 40%
Few-Shot vs Zero-Shot
- Zero-Shot:直接提问,适用简单任务
- Few-Shot:提供 1-2 个示例,适用复杂格式要求,准确率提升 40%
- 临界点:任务超过 3 个约束条件时,Few-Shot 明显优于 Zero-Shot
Temperature 设置对比
- 传统建议(GPT-3/4):逻辑任务调至 0
- Gemini 3 推荐:维持 1.0,降至 0 会导致推理能力退化
与相关概念的区别
vs 传统 Prompt("你是一个 XX 角色...")
- 传统:单一角色定义,信息分散
- 结构化:模块化组织,职责清晰
- 怎么选:简单任务用传统,复杂任务用结构化
vs Chain of Thought(思维链)
- 思维链:强调推理过程展示
- 结构化 Prompt:更广的框架,包含角色、技能、工作流
- 怎么选:两者可结合使用,结构化 Prompt 内的 Workflow 可嵌入思维链
vs LangChain/LlamaIndex 等框架
- LangChain:代码层面的 AI 应用开发框架
- 结构化 Prompt:纯指令层面的组织方法
- 怎么选:构建应用用 LangChain,设计单一提示词用结构化 Prompt
进阶 / 面试加分项
- 最新进展(2025):Google Gemini 3 官方《Prompt Design Guide》将结构化提示词列为核心技巧,强调"从随意聊天转向工程化模式"
- 业界争议:结构化 Prompt 是否会让 AI"过度拟合"特定格式,缺乏灵活性?答案是:适度结构化 + 保留创意空间,效果最佳
- 金句:"写 Prompt 就是给 AI 编程,要像写代码一样严谨"
- 进阶方向:
- 动态变量注入:运行时调整 Prompt 参数
- 命令模式:预置命令供用户调用(如 GitHub Mr. Ranedeer AI Tutor)
- 多轮对话状态管理:结构化 Prompt 在多轮对话中的状态保持
面试如何回答
🟢 什么是结构化 Prompt?它和传统 Prompt 有什么区别?
回答要点:
结构化 Prompt 是一种将提示词按预定义模块组织的写法,包含 Role(角色)、Profile(信息)、Goals(目标)、Constrains(约束)、Skills(技能)、Workflow(工作流)等模块,像编程一样严谨地组织指令。
传统 Prompt 如「你是一个 Python 专家,帮我写代码」,信息分散、格式随意。而结构化 Prompt 将指令模块化,例如明确写出 Goals 是「解释什么是闭包」,Constrains 是「不超过 200 字」,Workflow 是「定义→示例→注意事项」。
核心区别在于:结构化 Prompt 让 AI 一眼看清「我是谁、要做什么、怎么做」,减少理解歧义。在复杂任务中,结构化 Prompt 比传统 Prompt 准确率提升 30-50%,幻觉率降低 20-30%。
简单任务用传统写法足够,但涉及多步骤、多约束的复杂任务,结构化 Prompt 是必选项。
🟡 Gemini 3 官方提出的 8 大提示词技巧是什么?请分别说明
回答要点:
Google Gemini 3 官方《Prompt Design Guide》提出的 8 大技巧:
- 善用结构化标签:用 XML 标签(
<context>、<task>)或 Markdown 格式区分指令与参考资料 - 建立代理工作流:要求 AI 先分析、后执行,强制执行思维链,降低幻觉率
- 少量样本提示:提供 1-2 个「问题+答案」示例,比纯文字描述精准度高 40%
- 赋予上下文:不提供背景资料 AI 只能给废话,必须粘贴参考资料
- 起手式定调:直接写出输出格式开头,AI 会模仿格式续写
- 拆解复杂任务:多步骤任务拆分为「摘要→翻译→格式化」等连续小提示
- 采用正向表述:用「请做 XX」而非「不要做 YY」,效果好 25%
- 维持温度 1.0:Gemini 3 的 Temperature 应保持 1.0,调至 0 会破坏推理能力
这 8 招的核心思想是:从「随意聊天」转向「工程化设计」,把 Prompt 当成程序代码来写。
🟡 Few-Shot Prompting 为什么比 Zero-Shot 效果好?请举例说明
回答要点:
Few-Shot(少量样本)指在指令中提供 1-2 个「问题+答案」的示例,让 AI 快速掌握你想要的格式、语气和逻辑。Zero-Shot 则是直接描述规则,不举例。
效果差异的原因在于:人类语言天然存在歧义,AI 对抽象描述的理解容易偏差。但示例是具体范例,AI 可以直接模仿,歧义大幅减少。Google 官方指出,Few-Shot 比 Zero-Shot 精准度高约 40%。
实战例子:你想让 AI 输出 JSON 格式。Zero-Shot 写「请以 JSON 格式输出」,AI 可能输出「{...} 」或「{...}」。但 Few-Shot 写「请以 JSON 格式输出,例如:{"name": "张三", "age": 25}」,AI 就会精准按照这个格式输出。
适用边界:任务超过 3 个约束条件时,Few-Shot 优势明显;简单任务用 Zero-Shot 即可。
🟡 什么是「起手式定调」?在什么场景下特别有效?
回答要点:
「起手式定调」是 Google 官方推荐的技巧:直接写出你想要的输出格式开头,让 AI 模仿格式续写,而非用指令描述「请用 XX 格式」。
原理是利用 AI 的「续写特性」:当你给了一个格式开头,AI 为了让文章连贯,会被迫模仿你的标号系统(罗马数字、缩排、星号)继续写下去。就像给 AI 架好骨架,它负责填肉。
实战场景:你想写一篇关于蜂鸟的文章大纲,指定「罗马数字 + 项目符号」格式。不要说「请用罗马数字和项目符号写大纳」,而是直接写:
「建立一份关于蜂鸟的文章大纳。I. 前言 *」(故意打出第一行开头)
AI 就会自动续写成「II. 外观与辨识... III. 生活习性...」
适用场景:需要特定格式(大纳、表格、层级列表)时特别有效,比「请用 XX 格式」的指令精确度高 30%。
🔴 为什么 Gemini 3 的 Temperature 要维持 1.0 而非传统的 0?
回答要点:
这是 Gemini 3 最反直觉的技术细节。传统认知中,处理数学或逻辑任务时,应将 Temperature(控制随机性的参数)调至 0,以获得稳定输出。
但 Google 警告:Gemini 3 的架构不同,调低 Temperature 反而会破坏其推理能力,导致表现退化。官方建议即便处理逻辑任务,也应维持预设值 1.0。
原因推测:Gemini 3 的推理能力依赖于一定程度的「创造性」,适度的随机性可以帮助模型跳出局部最优,找到更合理的推理路径。降至 0 会让输出过于「机械」,推理过程中的关键步骤反而出错。
实操建议:使用 Gemini 3 时,不要手动将 Temperature 调至 0,保持默认 1.0;如果是其他模型(如 GPT-4),则可参考传统经验,逻辑任务适当调低。
记住:模型不同,最优参数不同,不能套用统一经验。
🟡 如何用结构化 Prompt 设计一个「知识探索专家」角色?请给出完整模板
回答要点:
知识探索专家 Prompt 模板(完整示例):
Profile:
- author: Arthur
- version: 0.8
- language: 中文
- description: 专门用于提问并解答有关特定知识点的 AI 角色
Goals: 提出并尝试解答有关用户指定知识点的三个关键问题:其来源、其本质、其发展
Constrains:
- 对于不在知识库中的信息,明确告知用户不知道
- 不擅长客套,不进行没有意义的夸奖和客气对话
- 解释完概念即结束对话,不询问是否有其它问题
Skills:
- 具有强大的知识获取和整合能力
- 掌握提问和回答的技巧
- 拥有排版审美,会利用序号、缩进、分隔线美化信息
- 擅长使用比喻让用户理解知识
- 惜字如金,不说废话
Workflows:
- 它从哪里来?(起源、解决什么问题、之前/之后状态对比)
- 它是什么?(如何解决问题、三条最重要原则、一个现实案例)
- 它到哪里去?(局限性、优化方向、未来发展)
Initialization: 欢迎用户,介绍自己的工作流程
这个模板的核心是 Workflow 的三步框架:「来源→本质→发展」,确保任何概念都能被系统性讲解。
🔴 结构化 Prompt 和 LangChain 等框架是什么关系?各适合什么场景?
回答要点:
结构化 Prompt 和 LangChain 是不同层级的工具,但可以结合使用。
结构化 Prompt 是纯指令层面的方法论,解决「如何写好一条提示词」的问题,不需要编程基础,适合所有人。
LangChain 是代码层面的开发框架,提供 Chain(链)、Agent(代理)、Memory(记忆)等编程组件,用于构建复杂的 AI 应用系统,适合开发者。
关系类比:结构化 Prompt 像是「写好一封信的格式」,LangChain 像是「用 Python 构建邮件系统」。你可以用结构化 Prompt 写 LangChain 中的提示词模板。
选择原则:
- 单一任务、一次性使用 → 结构化 Prompt
- 需要多轮对话、工具调用、状态管理 → LangChain
- 企业级 AI 应用 → LangChain + 结构化 Prompt(用结构化方式设计每个环节的提示词)
实际上,LangChain 的最佳实践就是要求开发者用结构化方式设计每个 Prompt,两者是互补关系。
🟡 结构化 Prompt 的常见误区有哪些?如何避免?
回答要点:
6 大常见误区:
以为越长越好:结构清晰比长度重要,冗长但混乱的提示词效果反而差 30%。解决:模块精简,每个模块一句话说清楚。
负向表述:「不要使用被动语态」效果差 25%。解决:直接说「请使用主动语态」。
不给上下文:「模型无法通灵」是 Google 原话。解决:必须粘贴参考资料、背景信息。
一次性复杂输入:所有要求挤在一段,准确率大幅下降。解决:拆解为多个小提示,用提示链连接。
不指定输出格式:「请给大纳」AI 可能给你不喜欢的格式。解决:用起手式给出格式开头。
所有模型统一设置:Gemini 3 温度 1.0 是最佳,GPT-4 可能不同。解决:针对不同模型测试最优参数。
核心原则:把 Prompt 当成给 AI 的编程指令,越严谨效果越好,但不要过度复杂化简单任务。
