跳转至

Prompt Engineering 提示词工程

概述

Prompt Engineering(提示词工程)是设计和优化AI输入提示的技术,是充分发挥AI能力的关键技能。

什么是Prompt

Prompt = 向AI提出的指令或问题

好的Prompt = 精准的输出
差的Prompt = 模糊或无关的输出

Prompt基础结构

CRISPE框架

# C - Capacity(角色)
你是一位[具体角色]

# R - Request(请求)
请帮我[具体任务]

# I - Input(输入信息)
背景信息:[相关信息]

# S - Style(输出风格)
请使用[风格]输出

# P - Purpose(目的)
目的是[最终目标]

# E - Extra(额外要求)
额外要求:[其他约束]

实际示例

你是一位资深的Python开发工程师(C)。

请帮我编写一个爬虫程序(R),
用于抓取某电商网站的商品信息(I),
代码需要有详细注释(S),
目的是用于学习爬虫技术(P),
请确保代码符合网站的robots.txt规则(E)。

六大Prompt技巧

1. 角色设定

# 基础角色
你是一位[领域]专家

# 具体角色
你是一位拥有10年经验的全栈开发工程师,
擅长React、Node.js和PostgreSQL,
熟悉敏捷开发和CI/CD流程

# 角色行为
请以这个身份:
- 使用专业但易懂的语言
- 提供最佳实践建议
- 指出潜在问题

2. 任务分解

# ❌ 模糊任务
帮我写一个网站

# ✅ 分解任务
请按以下步骤帮我创建博客网站:

步骤1:设计数据库结构
- 用户表
- 文章表
- 评论表

步骤2:创建后端API
- 用户认证接口
- 文章CRUD接口
- 评论接口

步骤3:创建前端页面
- 首页文章列表
- 文章详情页
- 登录注册页

3. 示例学习(Few-shot)

# 提供示例让AI学习

请按照以下格式生成产品描述:

示例1:
产品:智能手表
描述:这款智能手表支持心率监测、睡眠追踪和运动记录,
帮你随时掌握健康状况,7天超长续航,防水设计。

示例2:
产品:无线耳机
描述:这款无线耳机采用主动降噪技术,沉浸式音质体验,
佩戴舒适,支持触控操作,20小时续航。

现在请为以下产品生成描述:
产品:[产品名称]

4. 约束条件

# 添加限制条件

请生成一份项目报告,要求:
- 字数:800-1000字
- 格式:Markdown
- 包含:背景、目标、进展、问题、计划
- 语言:正式商务风格
- 不包含:敏感数据、个人隐私

5. 输出格式

# 指定输出格式

请按以下JSON格式输出:

```json
{
  "name": "项目名称",
  "description": "项目描述",
  "technologies": ["技术栈"],
  "features": ["功能列表"],
  "status": "开发状态"
}

或使用表格

需求 优先级 预计时间 负责人
需求1 高 3天 张三
### 6. 思维链(Chain of Thought)

```markdown
# 让AI展示推理过程

请分析这个算法的时间复杂度,并展示你的推理步骤:

```python
def example(arr):
    n = len(arr)
    for i in range(n):
        for j in range(i, n):
            arr[i], arr[j] = arr[j], arr[i]
    return arr

请按照以下步骤分析: 1. 识别循环结构 2. 计算每层循环的执行次数 3. 计算总执行次数 4. 得出时间复杂度

---

## 高级Prompt技术

### 1. 思维树(Tree of Thought)

```markdown
# 让AI探索多个解决方案

我需要设计一个用户认证系统。请探索以下三个方案:

方案1:基于Session的传统认证
- 优点:
- 缺点:
- 适用场景:

方案2:基于JWT的Token认证
- 优点:
- 缺点:
- 适用场景:

方案3:基于OAuth2.0的第三方登录
- 优点:
- 缺点:
- 适用场景:

最后请推荐最适合[场景]的方案并说明理由。

2. 自我反思(Self-Reflection)

# 让AI检查和改进自己的输出

请完成以下任务:

1. 首先完成[任务]
2. 然后检查你的输出,找出可能的问题
3. 改进你的答案
4. 给出最终版本

3. 角色扮演辩论

# 让AI从多个角度分析

请从以下三个角色的角度分析"是否应该使用微服务架构":

架构师视角:
- 支持理由:
- 反对理由:

项目经理视角:
- 支持理由:
- 反对理由:

运维工程师视角:
- 支持理由:
- 反对理由:

最后给出综合建议。

4. 分步骤指导

# 创建详细的行动指南

我想学习[技术],请给我一个30天学习计划:

第1周:基础入门
- Day 1-2:[内容]
- Day 3-4:[内容]
- Day 5-7:[内容]

第2周:进阶学习
...

第3周:实战练习
...

第4周:项目实战
...

每天的学习内容需要包含:
1. 理论知识
2. 代码练习
3. 实践作业

不同场景的Prompt模板

编程开发

# 代码生成
请用[语言]编写[功能],要求:
- 使用[框架/库]
- 遵循[规范]
- 添加注释
- 包含错误处理

# 代码审查
请审查以下代码,重点关注:
1. 代码质量
2. 性能问题
3. 安全漏洞
4. 最佳实践

# Bug调试
问题:[错误描述]
代码:[代码片段]
环境:[环境信息]
已尝试:[已尝试的解决方法]

请分析原因并提供解决方案。

内容创作

# 文章写作
请撰写一篇关于[主题]的文章:
- 标题:[标题或主题]
- 字数:[字数要求]
- 风格:[正式/轻松/学术]
- 受众:[目标读者]
- 结构:[包含的章节]

# 营销文案
产品:[产品信息]
目标:[文案用途]
风格:[风格要求]
字数:[字数限制]

学习教育

# 概念解释
请用简单的语言解释[概念]:
1. 基础定义
2. 核心原理
3. 实际应用
4. 常见误区

# 教学设计
请为[主题]设计一节课:
- 时长:[时间]
- 对象:[学生水平]
- 目标:[学习目标]
- 内容:[知识点]
- 活动:[互动环节]

数据分析

# 数据分析
请分析以下数据:
[数据内容]

分析要求:
1. 数据概览
2. 关键指标
3. 趋势分析
4. 异常识别
5. 建议措施

# 可视化建议
数据类型:[类型]
分析目的:[目的]
受众:[报告受众]

请推荐合适的图表类型和配色方案。

常见错误与优化

❌ 常见错误

# 1. 指令过于模糊
❌ "帮我写点东西"
✅ "请写一篇500字的Python入门教程,面向零基础学习者"

# 2. 缺少上下文
❌ "这个代码有问题"
✅ "这段Python代码在处理空列表时报错,请分析原因"

# 3. 没有指定格式
❌ "告诉我怎么做"
✅ "请用步骤列表的形式告诉我如何部署Django项目"

# 4. 一次性任务过多
❌ "帮我写整个系统"
✅ "请先帮我设计数据库表结构"

✅ 优化技巧

# 1. 迭代优化
第一轮:获取初步结果
第二轮:要求改进特定方面
第三轮:最终完善

# 2. 提供反馈
"这个回答很好,但请增加代码示例"
"请用更简洁的方式重写"

# 3. 使用锚点
"请保留上面的代码结构,只修改函数B"

# 4. 明确边界
"只修改这部分代码,不要改变其他内容"

Prompt调试流程

# Prompt调试四步法

1. 测试基础Prompt
   ↓
2. 分析输出问题
   ↓
3. 调整Prompt参数
   ↓
4. 验证改进效果
   ↓
重复直到满意

下一步学习

  1. Claude使用教程 - 了解Claude的Prompt技巧
  2. DeepSeek使用教程 - 探索DeepSeek的使用
  3. AI Agent智能体教程 - 构建智能应用