常用技巧与方法 #

清晰表达技巧 #

使用具体动词 #

text
❌ 模糊的动词:
"处理一下这段文本"
"看看这个代码"

✅ 具体的动词:
"将这段文本翻译成英文"
"分析这段代码的时间复杂度"
"提取文本中的关键信息"
"总结文章的主要观点"

常用动词列表:
├── 分析:分析、评估、比较、诊断
├── 创建:编写、生成、设计、构建
├── 转换:翻译、转换、重写、改写
├── 提取:提取、识别、分类、归纳
└── 解释:解释、说明、描述、阐述

量化要求 #

text
❌ 模糊的量词:
"写长一点"
"多给几个例子"
"简单解释"

✅ 具体的量化:
"写 800-1000 字"
"提供 3-5 个示例"
"用 3 句话概括"
"列举至少 5 个要点"

量化维度:
├── 数量:3 个、5 条、至少 2 个
├── 长度:500 字、10 行代码
├── 时间:5 分钟内可完成
└── 程度:详细、简要、适中

避免歧义 #

text
❌ 有歧义的表达:
"把重要的信息提取出来"
(什么是"重要"?)

✅ 明确的定义:
"提取以下信息:姓名、年龄、职业、联系方式"

❌ 有歧义的表达:
"用简单的话解释"
(多简单?)

✅ 明确的标准:
"用小学生能理解的语言解释,避免使用专业术语"

格式控制技巧 #

指定输出格式 #

text
技巧一:使用格式名称

"请以 JSON 格式输出"
"请使用 Markdown 表格"
"请按 CSV 格式整理"

技巧二:提供格式模板

"请按以下格式输出:
标题:[标题]
作者:[作者]
摘要:[摘要]
关键词:[关键词]"

技巧三:提供示例

"输出格式示例:
{
  \"name\": \"张三\",
  \"age\": 25,
  \"skills\": [\"Python\", \"JavaScript\"]
}"

JSON 格式控制 #

text
提示词:
请将以下信息转换为 JSON 格式,包含以下字段:
- name: 姓名
- age: 年龄(整数)
- skills: 技能列表

输入:张三,28岁,擅长 Python 和 Java

输出:
{
  "name": "张三",
  "age": 28,
  "skills": ["Python", "Java"]
}

表格格式控制 #

text
提示词:
请将以下数据整理为 Markdown 表格:

数据:
- Python: 1991年,Guido van Rossum
- JavaScript: 1995年,Brendan Eich
- Java: 1995年,James Gosling

输出:
| 语言 | 创建年份 | 创建者 |
|------|----------|--------|
| Python | 1991 | Guido van Rossum |
| JavaScript | 1995 | Brendan Eich |
| Java | 1995 | James Gosling |

列表格式控制 #

text
提示词:
请以有序列表的形式列出 Python 的主要特点:

输出:
1. 简洁易读的语法
2. 丰富的标准库
3. 跨平台兼容
4. 动态类型系统
5. 强大的社区支持

约束条件技巧 #

内容约束 #

text
技巧一:限制范围

"只讨论性能优化,不涉及功能实现"
"仅分析前端代码,忽略后端部分"

技巧二:排除内容

"不要使用专业术语"
"避免使用第一人称"
"不要包含代码实现"

技巧三:必含内容

"必须包含至少 3 个实际案例"
"每个要点都需要举例说明"
"必须提供代码示例"

长度约束 #

text
技巧一:字数限制

"回答控制在 200 字以内"
"详细解释,不少于 1000 字"
"摘要限制在 100-150 字"

技巧二:段落限制

"用 3-5 个段落回答"
"每个要点用一段话说明"

技巧三:条目限制

"列出最重要的 5 个要点"
"提供 3 个示例"

风格约束 #

text
技巧一:语气风格

"使用正式、专业的语气"
"采用轻松、幽默的风格"
"保持客观、中立的立场"

技巧二:语言风格

"使用简单易懂的语言"
"采用技术文档的写作风格"
"模仿学术论文的表达方式"

技巧三:受众导向

"面向小学生解释"
"写给非技术人员看"
"针对有经验的开发者"

分步引导技巧 #

显式分步 #

text
提示词:
请按以下步骤分析代码:

步骤 1:识别代码的功能
步骤 2:分析代码结构
步骤 3:找出潜在问题
步骤 4:提出优化建议
步骤 5:给出改进后的代码

代码:
[代码内容]

隐式分步 #

text
提示词:
请分析这段代码,首先说明它的功能,
然后指出可能存在的问题,最后给出优化建议。

(使用"首先...然后...最后..."引导分步)

思维链引导 #

text
提示词:
请一步步思考并回答以下问题:

问题:一个班级有 30 名学生,其中 60% 是女生,
     女生中有 50% 戴眼镜,请问戴眼镜的女生有多少人?

请展示你的思考过程。

示例引导技巧 #

单示例引导 #

text
提示词:
请按照以下格式提取信息:

示例:
输入:张三,男,28岁,北京
输出:{"name": "张三", "gender": "男", "age": 28, "city": "北京"}

请处理:
输入:李四,女,35岁,上海
输出:

多示例引导 #

text
提示词:
请判断以下句子的情感倾向:

示例 1:
输入:这部电影太精彩了!
输出:正面

示例 2:
输入:服务态度很差,不会再来了。
输出:负面

示例 3:
输入:产品一般,没有特别的感觉。
输出:中性

请判断:
输入:这家餐厅的菜品很美味,环境也很舒适。
输出:

格式示例 #

text
提示词:
请按照以下格式输出代码审查结果:

示例:
## 代码审查报告

### 问题列表
1. [严重] 空指针风险:第 15 行未检查 null
2. [警告] 性能问题:第 23 行循环内创建对象

### 优化建议
- 添加空值检查
- 将对象创建移到循环外

### 总体评价
代码结构清晰,但需要加强异常处理。

请按相同格式审查以下代码:
[代码内容]

上下文管理技巧 #

提供背景信息 #

text
❌ 缺乏背景:
"这个函数怎么优化?"

✅ 提供背景:
"这是一个处理用户登录请求的函数,在高并发场景下
 性能较差,目前 QPS 只有 100,需要优化到 1000 以上。
 服务器配置:4核8G,使用 Python 3.10。

 请分析性能瓶颈并给出优化建议:"

提供参考资料 #

text
提示词:
请参考以下代码风格,实现一个用户注册功能:

参考代码风格:
```python
def get_user_by_id(user_id: int) -> Optional[User]:
    """根据 ID 获取用户信息

    Args:
        user_id: 用户 ID

    Returns:
        User 对象,如果不存在返回 None
    """
    return User.query.filter_by(id=user_id).first()

请实现: def register_user(username: str, password: str) -> User: …

text

### 提供知识补充

提示词: 请解释以下概念:

概念:CAP 定理

背景知识: CAP 定理指出,在分布式系统中,以下三个特性最多只能同时满足两个:

  • Consistency(一致性)
  • Availability(可用性)
  • Partition Tolerance(分区容错性)

请结合实际应用场景详细解释 CAP 定理。

text

## 迭代优化技巧

### 迭代改进流程

┌─────────────────────────────────────────────────────────────┐ │ 迭代优化流程 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 编写初版 │ → │ 测试评估 │ → │ 分析问题 │ │ │ │ 提示词 │ │ 输出效果 │ │ 找出不足 │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ ↑ │ │ │ │ ↓ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 应用新版本│ ← │ 优化提示词│ ← │ 制定改进 │ │ │ │ │ │ │ │ 方案 │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘

text

### 迭代优化示例

第 1 版提示词: “写一个排序算法”

输出: [可能是一个简单的冒泡排序,没有注释]

─────────────────────────────────────────────────

第 2 版提示词: “用 Python 写一个快速排序算法,添加注释”

输出: [快速排序代码,有简单注释]

─────────────────────────────────────────────────

第 3 版提示词: "用 Python 写一个快速排序算法,要求:

  1. 添加详细的中文注释
  2. 包含类型注解
  3. 提供时间复杂度分析
  4. 给出使用示例"

输出: [完整的快速排序实现,包含所有要求]

text

### 问题诊断方法

输出问题诊断清单:

□ 输出是否偏离主题? └── 解决:增加约束条件,明确范围

□ 输出格式是否正确? └── 解决:提供格式模板和示例

□ 输出是否完整? └── 解决:明确列出所有要求的要点

□ 输出是否准确? └── 解决:提供更多上下文,要求验证

□ 输出风格是否合适? └── 解决:明确指定风格和受众

text

## 组合技巧

### 多技巧组合示例

提示词:

角色(角色设定) #

你是一位资深的 Python 开发者,擅长代码优化。

任务(清晰表达) #

请分析以下代码的性能问题,并提出优化方案。

代码(输入数据) #

python
def find_duplicates(numbers):
    duplicates = []
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
            if numbers[i] == numbers[j]:
                duplicates.append(numbers[i])
    return duplicates

要求(约束条件) #

  1. 分析时间复杂度和空间复杂度
  2. 指出至少 3 个优化点
  3. 提供优化后的代码
  4. 代码需要添加类型注解和注释

输出格式(格式控制) #

性能分析 #

[分析内容]

优化建议 #

  1. [建议1]
  2. [建议2]
  3. [建议3]

优化后代码 #

python
[代码]

性能对比 #

指标 优化前 优化后
时间复杂度
空间复杂度
text

## 下一步

现在你已经掌握了常用技巧与方法,接下来学习 [提示词模板](/docs/prompt-engineering/templates),获取更多可直接使用的模板!
最后更新:2026-04-05