星辰大海 AI星辰大海 AI
首页
  • ChatGPT
  • Claude
  • Midjourney
  • Stable Diffusion
  • 大语言模型
  • 图像生成模型
  • 语音模型
Demo 示例
开发笔记
GitHub
首页
  • ChatGPT
  • Claude
  • Midjourney
  • Stable Diffusion
  • 大语言模型
  • 图像生成模型
  • 语音模型
Demo 示例
开发笔记
GitHub
  • 开发笔记

    • 开发笔记
    • Prompt 工程笔记
    • 模型微调笔记
    • API 使用笔记

Prompt 工程笔记

什么是 Prompt 工程

Prompt 工程是通过设计和优化输入提示词(prompt)来引导 AI 模型产生期望输出的技术。

基本原则

1. 明确性(Clarity)

好的 prompt 应该清晰明确:

❌ 不好的示例:

写点关于 AI 的东西

✅ 好的示例:

请用 200 字介绍人工智能的发展历史,包括三个重要里程碑。

2. 具体性(Specificity)

提供具体的细节和要求:

❌ 不好的示例:

写一个函数

✅ 好的示例:

用 Python 写一个函数,接收一个整数列表,返回列表中的最大值。要求:
1. 使用内置函数 max()
2. 包含类型提示
3. 添加文档字符串

3. 结构化(Structure)

使用结构化的格式:

任务:[具体任务]
输入:[输入格式]
输出:[输出格式]
要求:[特殊要求]

常用技巧

1. 角色设定(Role Playing)

让 AI 扮演特定角色:

你是一位经验丰富的 Python 开发工程师,擅长编写清晰、高效的代码。
请用中文回答,并提供代码示例。

2. 示例引导(Few-Shot Learning)

提供示例来引导输出格式:

请将以下文本转换为 JSON 格式:

示例:
输入:姓名:张三,年龄:25,城市:北京
输出:{"name": "张三", "age": 25, "city": "北京"}

现在请转换:
输入:姓名:李四,年龄:30,城市:上海

3. 分步思考(Chain of Thought)

引导模型分步思考:

请解决以下数学问题,并展示你的思考过程:

问题:一个班级有 30 名学生,其中 60% 是女生。问女生有多少人?

思考过程:
1. 首先计算女生的比例
2. 然后计算具体人数
3. 最后验证答案

4. 输出格式控制

明确指定输出格式:

请用以下格式输出结果:

标题:[标题]
摘要:[摘要]
要点:
- [要点1]
- [要点2]
- [要点3]

5. 负面提示(Negative Prompting)

明确不想要的内容:

请写一篇关于 Python 的文章,要求:
- 不要包含代码示例
- 不要使用专业术语
- 不要超过 500 字

不同场景的 Prompt 模板

代码生成

作为一位 [语言] 开发专家,请帮我:

任务:[具体任务]
要求:
- [要求1]
- [要求2]
- [要求3]

请提供:
1. 完整的代码
2. 代码说明
3. 使用示例

文本摘要

请为以下文本写一个摘要:

文本:[文本内容]

要求:
- 长度:[字数要求]
- 风格:[正式/非正式]
- 重点:[重点内容]

输出格式:
标题:[标题]
摘要:[摘要内容]

问题解答

请回答以下问题:

问题:[问题内容]

要求:
- 提供详细的解释
- 包含相关示例
- 如果有多个答案,请列出所有可能的答案

请用以下格式回答:
答案:[答案]
解释:[解释]
示例:[示例]

内容创作

请创作一篇 [类型] 文章:

主题:[主题]
目标读者:[读者群体]
风格:[风格要求]
长度:[字数要求]

文章结构:
1. 引言
2. 主体内容(至少 3 个段落)
3. 结论

高级技巧

1. 思维链(Chain of Thought)

让我们一步步解决这个问题:

第一步:[步骤1]
第二步:[步骤2]
第三步:[步骤3]

请按照这个思路给出答案。

2. 自我验证

请回答以下问题,然后验证你的答案是否正确:

问题:[问题]
答案:[你的答案]
验证:[验证过程]

3. 多角度思考

请从以下角度分析这个问题:

角度1:[角度1]
角度2:[角度2]
角度3:[角度3]

请分别给出每个角度的分析。

4. 迭代优化

请先给出一个初步答案,然后根据以下反馈进行优化:

初步答案:[答案]
反馈:[反馈内容]
优化后的答案:[优化答案]

常见问题与解决方案

以下是我在 Prompt 工程实践中遇到的常见问题和解决方案:

Q: 输出不符合预期?

解决方案:

  1. 检查 prompt 是否足够明确
  2. 添加更多约束条件
  3. 使用示例引导
  4. 调整 temperature 参数

Q: 输出太长或太短?

解决方案:

  1. 明确指定长度要求
  2. 使用 "不超过 X 字" 或 "至少 X 字"
  3. 指定段落数量

Q: 输出格式不一致?

解决方案:

  1. 提供格式示例
  2. 使用结构化模板
  3. 明确指定输出格式

Q: 模型理解错误?

解决方案:

  1. 重新表述问题
  2. 添加背景信息
  3. 使用更简单的语言
  4. 分步提问

实践建议

  1. 记录有效 Prompt: 保存好用的 prompt 模板
  2. 迭代优化: 根据结果不断调整
  3. A/B 测试: 尝试不同的 prompt 版本
  4. 学习他人: 参考优秀的 prompt 示例
  5. 工具辅助: 使用 prompt 优化工具

工具推荐

  • PromptPerfect: Prompt 优化工具
  • PromptBase: Prompt 模板库
  • ChatGPT Prompt Engineering Guide: OpenAI 官方指南

相关资源

  • OpenAI Prompt Engineering Guide
  • Anthropic Prompt Library
  • Awesome ChatGPT Prompts
在 GitHub 上编辑此页
Prev
开发笔记
Next
模型微调笔记