Prompt 工程入门:如何写好提示词

返回

Prompt(提示词)是与大模型交互的”编程语言”。写好 Prompt,效果可能相差 10 倍。

一、什么是 Prompt 工程?

1.1 通俗理解

Prompt = 你给 AI 的指令

用一个比喻:

  • 糟糕的 Prompt = 对实习生说”做个 PPT”

    • 实习生不知道主题、风格、页数
    • 做出来的东西大概率不满意
  • 好的 Prompt = 对实习生说”做一个 10 页的产品介绍 PPT, 目标客户是中小企业,风格专业简洁,包含市场分析和产品优势”

    • 指令清晰,预期明确
    • 做出来的东西更接近预期

1.2 Prompt 为什么重要?

对比项糟糕 Prompt优秀 Prompt
输出质量泛泛而谈,不够深入精准、有深度
修改次数需要多次迭代一次到位
Token 消耗反复修改,消耗更多一次成功,节省成本
用户体验觉得 AI”不太聪明”觉得 AI”很懂我”

二、Prompt 的核心结构

2.1 基础公式

优秀 Prompt = 角色 + 任务 + 背景 + 要求 + 示例
组件说明例子
角色让 AI 扮演什么身份”你是一位资深产品经理”
任务要 AI 做什么”写一份产品需求文档”
背景任务的上下文信息”这是一款面向中小企业的 CRM 系统”
要求输出的格式、风格等”用 Markdown 格式,包含功能列表和优先级”
示例给 AI 参考样例”参考这个格式:…“

2.2 完整示例

❌ 糟糕的 Prompt:
"写个产品介绍"

✅ 优秀的 Prompt:
你是一位资深科技记者(角色)。
请为一款新的 AI 写作助手写产品介绍(任务)。
目标用户是内容创作者和自媒体人(背景)。
要求:300 字以内,突出核心功能,语气轻松活泼(要求)。
参考这个风格:"Notion AI 让你的写作效率翻倍..."(示例)

三、核心技巧详解

3.1 技巧 1:明确角色(Role Prompting)

让 AI 扮演特定角色,输出更专业。

普通:
"帮我看看这段代码有什么问题"

带角色:
"你是一位有 10 年经验的 Python 工程师,擅长代码审查。
请帮我看看这段代码有什么问题,并给出改进建议。"

常用角色模板:

  • “你是一位资深产品经理”
  • “你是一位技术面试官”
  • “你是一位专业翻译”
  • “你是一位经验丰富的教师”

3.2 技巧 2:分步思考(Chain of Thought)

让 AI 展示思考过程,提高准确性。

普通:
"小明有 5 个苹果,吃了 2 个,又买了 3 个,现在有几个?"

分步思考:
"小明有 5 个苹果,吃了 2 个,又买了 3 个,现在有几个?
请一步步思考,展示计算过程。"

效果对比:

  • 普通 Prompt:可能直接给答案,容易错
  • 分步思考:展示过程,准确率大幅提升

3.3 技巧 3:提供示例(Few-Shot Learning)

给 AI 一两个例子,让它模仿。

任务:把口语转成正式书面语

示例:
输入:"这个东西贼好用"
输出:"该产品性能卓越"

输入:"这事儿不靠谱"
输出:"此方案可行性较低"

现在请转换:
输入:"这代码写得太烂了"
输出:

为什么有效:

  • AI 通过例子理解任务模式
  • 比纯文字描述更直观
  • 特别适合格式转换类任务

3.4 技巧 4:指定输出格式

明确告诉 AI 你想要什么格式。

"请用以下格式输出:

## 总结
[100 字以内的核心结论]

## 关键点
- 要点 1
- 要点 2
- 要点 3

## 建议
[具体可执行的建议]"

常用格式:

  • Markdown(文档、笔记)
  • JSON(程序处理)
  • 表格(对比、数据)
  • 列表(要点、步骤)

3.5 技巧 5:设置约束条件

限制 AI 的发挥范围,避免跑题。

"请回答以下问题,要求:
- 只基于我提供的信息,不要添加外部知识
- 如果信息不足,请明确说明
- 不要编造数据或事实
- 回答控制在 200 字以内"

常见约束:

  • 字数限制
  • 时间范围
  • 信息来源
  • 语言风格

四、常用 Prompt 模式

4.1 总结模式

请总结以下内容,要求:
1. 提取 3-5 个核心要点
2. 每个要点不超过 50 字
3. 用列表形式呈现

[内容]

4.2 对比模式

请对比 A 和 B 的优缺点,用表格形式呈现:

| 维度 | A | B |
|------|---|---|
| 价格 |   |   |
| 性能 |   |   |
| 易用性 |   |   |

4.3 改写模式

请改写以下内容,使其更 [专业/简洁/生动/正式]:

原文:[内容]

要求:
- 保持原意不变
- 优化表达方式
- 字数控制在 [X] 字以内

4.4 问答模式

请根据以下文档回答问题:

[文档内容]

问题:[你的问题]

要求:
- 只基于文档内容回答
- 如果文档中没有相关信息,请说明
- 引用原文时请标注

4.5 代码模式

你是一位资深 [语言] 工程师。

任务:[描述功能需求]

要求:
- 代码要有详细注释
- 遵循最佳实践
- 包含错误处理
- 提供使用示例

请输出完整代码。

五、实战案例

5.1 案例 1:写邮件

❌ 糟糕:
"帮我写个邮件"

✅ 优秀:
你是一位专业的项目经理。

请帮我写一封项目延期通知邮件:

背景:
- 项目:XX 系统开发
- 原计划:3 月 1 日上线
- 新计划:3 月 15 日上线
- 原因:第三方 API 集成遇到技术问题

收件人:客户方项目负责人
语气:诚恳、专业、不推卸责任

要求:
- 说明延期原因
- 给出新的时间表
- 表达歉意和补救措施
- 200 字以内

5.2 案例 2:代码审查

你是一位有 10 年经验的 Python 工程师,擅长代码审查和安全审计。

请审查以下代码:

[代码内容]

审查维度:
1. 代码规范(PEP8)
2. 潜在 bug
3. 性能问题
4. 安全隐患
5. 可维护性

输出格式:
## 总体评价
[一句话总结]

## 问题列表
| 严重程度 | 位置 | 问题描述 | 建议 |
|---------|------|---------|------|

## 改进代码
[给出修改后的完整代码]

5.3 案例 3:学习解释

你是一位经验丰富的计算机教师,擅长用通俗易懂的方式讲解技术概念。

请向一个完全不懂技术的初学者解释什么是"API"。

要求:
- 用生活中的类比
- 避免专业术语
- 举一个具体例子
- 200 字以内
- 语气友好、鼓励

六、常见错误与改进

6.1 错误 1:太模糊

❌ "写点关于 AI 的东西"
✅ "写一篇 500 字的 AI 技术简介,面向高中生,包含 3 个应用场景"

6.2 错误 2:信息不足

❌ "这个怎么修?"(没有错误信息、环境、代码)
✅ "Python 3.9,运行以下代码时报错:[错误信息]。
   代码:[代码内容]。请问如何修复?"

6.3 错误 3:多重任务

❌ "帮我写个产品介绍,再做个 PPT,顺便想个 slogan"
✅ 分三次提问,每次一个任务

6.4 错误 4:忽略上下文

❌ "继续"(AI 不知道继续什么)
✅ "继续写第 3 节,关于 RAG 技术实现的部分"

七、高级技巧

7.1 自我一致性(Self-Consistency)

让 AI 多次回答,选最好的。

"请回答这个问题,然后从三个不同角度重新思考,
最后给出一个综合的答案。"

7.2 反思改进(Reflection)

让 AI 自己检查和改进。

"请先回答这个问题,然后:
1. 检查你的答案是否有逻辑漏洞
2. 思考是否有更好的表达方式
3. 给出改进后的版本"

7.3 分解复杂任务

大任务:"帮我做一个完整的网站"

分解:
1. "先帮我规划网站的信息架构"
2. "现在设计首页的线框图"
3. "写出首页的 HTML 结构"
4. "添加 CSS 样式"
...

🎯 面试回答版本

面试官问:“你有使用大模型的经验吗?如何写好 Prompt?“

标准回答框架(2 分钟)

我经常使用大模型辅助开发和写作。关于 Prompt 工程,
我的核心经验是:

【核心公式】
好的 Prompt = 角色 + 任务 + 背景 + 要求 + 示例

【关键技巧】
1. 明确角色:让 AI 扮演专家,输出更专业
2. 分步思考:让 AI 展示思考过程,提高准确性
3. 提供示例:给一两个例子,让 AI 模仿
4. 指定格式:明确输出格式,减少后期处理
5. 设置约束:限制范围,避免跑题

【实际应用】
我在 [具体场景] 中用 Prompt 实现了 [具体效果],
比如让 AI 帮我 [写代码/写文档/审查代码],
效率提升了 [X]%。

【注意事项】
避免模糊指令、信息不足、多重任务。
复杂任务要分解成小步骤。

高频追问

追问参考回答
”有什么 Prompt 模板推荐?“总结、对比、改写、问答、代码审查都有固定模式,关键是明确角色和要求。
“如何减少 Token 消耗?“1) 精简 Prompt 2) 用示例代替冗长描述 3) 指定输出长度 4) 避免反复迭代
”AI 回答不好怎么办?“1) 检查 Prompt 是否清晰 2) 添加示例 3) 分步提问 4) 让 AI 反思改进

下一步阅读: