Prompt Engineering 核心模式:8 个让 GPT 表现翻倍的模板
系统讲解 8 个高频 Prompt 模式:角色扮演、Few-shot、Chain-of-Thought、ReAct、Self-Consistency 等,每种配可复用模板。
操作步骤
先写角色 + 任务 + 输出格式三段骨架
模板起手先固定三段:「你是 [角色]」「任务:[要做的事]」「输出格式:[Markdown / JSON / 表格]」。
加 2-3 个 Few-shot 示例
示例比描述更有效:放 2-3 个输入/输出对,模型行为立刻稳定。注意示例的多样性,覆盖边界情况。
用 Chain-of-Thought 拆复杂推理
在 prompt 里加「让我们一步步想」或者显式要求「先列步骤,再给结论」。对数学、代码、规划类任务显著提升准确率。
用 ReAct 把工具调用嵌进推理
格式:「思考:...;动作:[tool_name];输入:...;观察:...」循环。模型自己决定何时调工具,循环到「最终答案」结束。
用 Self-Consistency 做多次投票
对同一问题采样 N 次(temperature 0.5-0.7),取多数一致的答案。贵但稳定,适合关键决策。
把模板登记到团队的 prompt registry
模板要带 owner、版本、最后更新日期、最佳模型(model + reasoning.effort)、成本估算。每次大版本变更 bump 版本号。
Prompt Engineering 核心模式:8 个让 GPT 表现翻倍的模板
Prompt Engineering 是与 LLM 协作的"编程语言"。掌握这些模式,你的输出质量会立刻上一个台阶。
1. 角色扮演(Role Prompting)
给模型一个身份,能显著改变输出风格与深度。
你是一位有 10 年经验的高级前端架构师,专注于 React 性能优化。
请评审以下代码并指出至少 3 个潜在的性能问题:
[代码]
角色越具体,输出越专业。可以叠加角色:资深 + 领域 + 风格。
2. Few-shot Learning
给模型 2-5 个示例,让它模仿。
将口语转为书面语:
口语:嗯那个东西就是搞不定啦
书面:无法解决该问题。
口语:我觉着他可能不会来
书面:他可能不会来。
口语:搞快点啊要迟到了
书面:
Few-shot 比 zero-shot 在分类、抽取、转换任务上效果普遍更好。
3. Chain-of-Thought(CoT)
让模型"一步步思考",对推理任务有奇效。
Q: 一个商店上午卖出 12 个苹果,下午卖出 8 个,原有 20 个。现在还剩多少?
A: 让我一步步思考:
1. 原有 20 个苹果
2. 上午卖了 12 个,剩余 20 - 12 = 8 个
3. 下午卖了 8 个,剩余 8 - 8 = 0 个
所以答案是 0 个。
技巧:直接加"Let's think step by step"或中文"让我们一步步思考"即可。
4. ReAct
让模型交替思考与行动,配合工具调用,是 Agent 的核心。
Q: 北京今天天气如何?
Thought 1: 我需要获取北京今天的天气。
Action 1: Search["北京天气"]
Observation 1: 北京今天晴,最高气温 25°。
Thought 2: 我已获得答案,可以回答。
Action 2: Finish["北京今天晴,最高气温 25°。"]
5. Self-Consistency
让模型多次回答,然后投票选多数。成本高,但准确率提升明显。
适用场景:决策类问题(分类、提取、选择题)。
6. Reflexion
让模型对自己的输出做反思与修正。
Step 1: 生成答案
Step 2: 评估答案(自己 review,找出错误)
Step 3: 基于反思重新生成
Step 4: 直到满意为止(最多 3 轮)
7. Skeleton-of-Thought
让模型先输出骨架(大纲),再并行展开每一节。比传统生成快 2-3 倍。
8. Structured Output(JSON Schema)
让输出严格符合 JSON Schema,配合代码解析。
按以下 JSON Schema 输出:
{
"type": "object",
"properties": {
"summary": {"type": "string"},
"keywords": {"type": "array", "items": {"type": "string"}},
"sentiment": {"enum": ["positive", "neutral", "negative"]}
},
"required": ["summary", "keywords", "sentiment"]
}
OpenAI 的 response_format=json_schema 是目前最稳定的方案。
实战:组合使用
实际生产中,这些模式经常组合:
# 角色 + Few-shot + CoT + Structured Output
你是一位资深代码审查员(角色)。
# 示例(Few-shot):
代码:[...] → 反馈:...
代码:[...] → 反馈:...
# 任务:
请逐步审查(CoT):
[代码]
# 输出格式(Structured):
{ "issues": [...], "suggestions": [...], "score": 1-10 }
速查表
- 翻译 / 总结 → 角色 + Few-shot
- 数学 / 推理 → CoT
- Agent / 工具调用 → ReAct
- 分类 / 决策 → Self-Consistency
- 代码生成 → Reflexion
- 长文生成 → Skeleton-of-Thought
- API 输出 → Structured Output
关键要点
- 角色扮演(Role Prompting):给模型一个明确身份,输出风格立即改变
- Few-shot:用 2-5 个示例引导模型模仿
- Chain-of-Thought(CoT):让模型"一步步思考"显著提升推理能力
- ReAct:让模型交替思考与行动,调用工具
- Self-Consistency:多次采样取多数答案
- Reflexion:让模型反思自己的输出并修正
- Skeleton-of-Thought:先输出骨架再并行展开
- Structured Output:用 JSON Schema 约束输出
❓ 常见问题
官方参考
订阅 GPTMap Weekly
每周一封邮件,精选 OpenAI 重要更新、深度解读与最佳实践。无广告,可随时退订。