mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1330 字
4 分钟
写出好提示词:与AI高效对话的艺术
2025-11-12

小李和小王都在用ChatGPT。

小李问:“帮我写个文案”,得到一堆泛泛而谈的内容。

小王问:“你是小红书爆款文案专家。请为一款’零糖气泡水’写3条种草文案,每条不超过50字,突出’好喝不发胖’,带emoji,语气活泼。”

得到三条可以直接用的爆款文案。

同样的AI,差距怎么这么大?

差在提示词。提示词是你和AI沟通的语言。写得好,AI是你的得力助手;写得不好,AI就是聊天机器。

这篇文章教你写出好提示词。

本文要点#

  • 为什么提示词能影响AI输出
  • 三个核心设计原则
  • 从Zero-shot到Few-shot的技巧
  • CoT、ToT等高级技巧
  • 常见问题与解决方案
  • 实用提示词模板

一、为什么提示词这么重要?#

1.1 提示词就是”面试题目”#

回顾大模型的工作原理:模型根据输入预测下一个Token。

提示词就是你给模型的”上下文”,它会影响模型对”什么内容应该出现”的判断。

模糊的题目:
"说说你的想法"
→ 候选人可能回答任何方向
清晰的题目:
"请用3个要点说明你如何解决团队冲突"
→ 候选人回答方向明确

1.2 提示词的四个作用#

  1. 设定上下文:告诉模型”我们在讨论什么”
  2. 定义角色:让模型采用特定视角和知识
  3. 提供示例:展示期望的输出格式
  4. 引导推理:让模型一步步思考

二、三个核心设计原则#

2.1 原则一:清晰具体#

差的提示词:
"帮我写一段代码"
好的提示词:
"请用Python写一个函数:
- 输入:整数列表
- 输出:所有偶数的平方和
- 示例:输入[1,2,3,4],返回20
- 要求:包含类型注解和docstring"

差别在哪?

好的提示词明确了:输入、输出、示例、要求。模型知道你要什么。

2.2 原则二:结构化#

用分隔符、编号让模型更容易理解:

你是一个代码审查员。请审查以下代码:
## 待审查代码

def calc(a,b): return a+b

## 审查维度
1. 代码风格
2. 潜在bug
3. 性能问题
## 输出格式
用Markdown表格输出,包含"问题"、"建议"两列。

2.3 原则三:角色设定#

你是一位有10年经验的后端架构师。
请从架构角度分析...
你是一位刚入职的实习生。
请用简单易懂的语言解释...

角色设定会影响:

  • 术语深度
  • 解释详细程度
  • 考虑问题的视角

三、基础技巧:从简单到复杂#

3.1 Zero-shot:不提供示例#

直接告诉模型要做什么:

用户:把"今天天气真好"翻译成英文
模型:The weather is really nice today.

适用于:简单、明确的任务。

3.2 Few-shot:提供几个示例#

让模型学习模式:

flowchart TD N0["产品描述"] N1["营销文案"] N0 --> N1

适用于:需要特定格式、风格的任务。

Few-shot需要几个示例?

1-3个:适合简单模式
5个:大多数场景够用
10+个:复杂任务,提升明显

3.3 结构化输出#

让模型输出JSON:

从以下文本提取信息,以JSON格式输出:
"张三,男,35岁,北京人,软件工程师"
输出格式:
{
"name": "",
"gender": "",
"age": 0,
"hometown": "",
"occupation": ""
}

现代模型支持强制JSON输出:

# OpenAI
response = client.chat.completions.create(
model="gpt-4o",
messages=[...],
response_format={"type": "json_object"}
)

四、高级技巧:让模型更聪明#

4.1 Chain-of-Thought(CoT):思维链#

让模型”展示思考过程”:

直接问:
"商店有23个苹果,卖了15个,又进货8个,还剩多少?"
模型可能算错。
加上CoT:
"请一步步思考:商店有23个苹果,卖了15个,又进货8个,还剩多少?"
模型:
1. 初始23个
2. 卖了15个,剩23-15=8个
3. 进货8个,现在8+8=16个
答案:16个

最简单的CoT

在问题末尾加一句:“让我们一步步思考”

这一句话就能显著提升推理能力。

4.2 Tree of Thoughts(ToT):思维树#

探索多条路径:

"设计一个提高团队效率的方案。请:
1. 提出3个不同思路
2. 分析每个思路的优缺点
3. 选择最佳方案"

4.3 ReAct:推理+行动#

将思考和工具调用结合:

用户:"2024年世界杯冠军是谁?"
模型:
Thought: 我需要查询2024年世界杯信息
Action: search("2024世界杯冠军")
Observation: [搜索结果]
Thought: 找到了,是阿根廷
Answer: 2024年世界杯冠军是阿根廷

五、常见问题与解决#

问题原因解决方案
输出格式乱提示词不具体提供示例、用结构化输出
答案跑题上下文干扰用分隔符、明确边界
太简单/太长没指定说清楚长度要求
编造信息没约束加”不确定时请说明”
不听指令指令被忽略放在开头或结尾

六、实用提示词模板#

6.1 模板1:通用任务#

# 角色
你是一个[角色描述],擅长[技能]。
# 任务
请[具体任务]。
# 要求
- [要求1]
- [要求2]
# 输出格式
[格式说明]

6.2 模板2:代码生成#

请用[语言]实现以下功能:
## 功能描述
[描述]
## 输入
[输入说明]
## 输出
[输出说明]
## 示例
输入:xxx
输出:xxx
## 要求
- 包含注释
- 处理边界情况

6.3 模板3:文档分析#

请分析以下文档:
## 文档内容
"""
[文档内容]
"""
## 分析维度
1. 主要观点
2. 关键数据
3. 潜在问题
## 输出格式
用Markdown列表输出。

可视化图解#

6.1 提示词效果对比#

┌─────────────────────────────────────────────────────────────┐
│ 提示词质量 vs 输出质量 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 模糊提示词 清晰提示词 │
│ "写个文案" "写3条小红书种草文案..." │
│ ↓ ↓ │
│ ┌─────────┐ ┌─────────────┐ │
│ │ 泛泛而谈 │ │ 结构清晰 │ │
│ │ 难以使用 │ │ 可直接使用 │ │
│ │ 需要多轮 │ │ 一次到位 │ │
│ └─────────┘ └─────────────┘ │
│ │
│ 输出质量:差 ←────────────────────────────→ 输出质量:好 │
│ │
└─────────────────────────────────────────────────────────────┘

6.2 CoT思维链示意#

flowchart TD N0["问题 ──────────────────"] N1["答案(可能错)"] N0 --> N1 N2["问题"] N3["思考步骤1"] N2 --> N3 N3["思考步骤1"] N4["思考步骤2"] N3 --> N4 N4["思考步骤2"] N5["思考步骤3"] N4 --> N5 N5["思考步骤3"] N6["答案(更准确)"] N5 --> N6

常见问题 FAQ#

Q1: 提示词写多长合适?

A: 够用就行,不是越长越好。关键是清晰具体。通常100-500字够用。复杂任务可能需要更长。

Q2: 为什么AI不听我的指令?

A: 可能原因:

  • 指令被长上下文淹没 → 把关键指令放开头或结尾
  • 指令有歧义 → 更具体地描述
  • 任务超出能力 → 简化任务或换更强的模型

Q3: Few-shot需要几个示例?

A:

  • 简单任务:1-3个
  • 一般任务:3-5个
  • 复杂任务:5-10个
  • 示例越多效果越好,但边际效益递减

Q4: 如何让AI输出特定格式?

A:

  1. 提供格式示例
  2. 使用结构化输出(JSON mode)
  3. 明确说明”请严格按以下格式输出”

Q5: 角色设定真的有用吗?

A: 有用。角色设定会激活模型在特定领域的知识,影响术语深度和回答风格。比如”你是架构师”vs”你是实习生”,输出会明显不同。


小结#

写好提示词的核心:

  1. 清晰具体:告诉模型你要什么
  2. 结构化:用分隔符、编号组织内容
  3. 提供示例:让模型学习模式
  4. 引导思考:用CoT让模型一步步推理

提示词是人和AI之间的桥梁。写得好,AI就是你的得力助手。


下篇预告#

提示词解决了”怎么问”,但AI的知识有限,很多企业内部信息它不知道。怎么办?


参考资料#

支持与分享

如果这篇文章对你有帮助,欢迎支持作者或分享给更多人

写出好提示词:与AI高效对话的艺术
https://blog.souloss.com/posts/machine-learning/llm/master-prompt-engineering/
作者
Souloss
发布于
2025-11-12
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时