Skip to content

Prompt 工程:与大模型高效交互

Prompt工程是设计和优化与大语言模型交互的提示词的艺术,本章节介绍如何创建有效的提示词以获得期望的输出。

1. Prompt 基本结构

1.1 核心组成部分

一个有效的Prompt通常包含以下要素:

  • 角色设定:为模型指定角色,如"你是一名资深程序员"、"你是专业英语教师"
  • 任务描述:明确要求模型完成的任务,如"请解释这个概念"、"分析这篇文章"
  • 上下文信息:提供相关背景信息或输入数据
  • 输出格式:指定期望的输出形式,如"用JSON格式输出"、"分三点回答"
  • 约束条件:设定限制条件,如"回答不超过300字"、"使用通俗易懂的语言"

1.2 基础Prompt示例

角色:数据分析师
任务:分析以下销售数据并给出三个改进建议
数据:今年第一季度销售额同比下降15%,其中线上销售下降20%,线下销售下降5%
输出格式:每个建议用bullet point列出,包含具体可行的措施
约束:建议要具体,不超过200字

2. 提示词设计技巧

2.1 清晰明确的指令

  • 使用明确的动词(解释、总结、分析、生成等)
  • 避免模糊表述
  • 设定清晰的输出边界

示例对比

不好的Prompt:

讲一下人工智能

好的Prompt:

用不超过300字,向小学生解释什么是人工智能,使用两个生活中的例子

2.2 提供示例

通过包含输入-输出示例,引导模型生成更准确的结果,这种方法称为"few-shot learning"。

任务:将产品描述转换为产品标签
示例1:
描述:这是一款超薄笔记本电脑,续航10小时,适合商务办公
标签:轻薄本、商务、长续航

示例2:
描述:这是一款游戏笔记本,配备RTX4080显卡,165Hz屏幕
标签:游戏本、高性能、高刷新率

现在,请将以下描述转换为标签:
描述:这款平板电脑适合阅读和记笔记,配备触控笔,电池续航长达12小时

2.3 逐步推理

对于复杂问题,引导模型逐步思考,提高答案准确性。

请解决这个数学问题:一个商店以300元的价格卖出一件商品,利润率为20%,求这件商品的成本价。

步骤:
1. 明确已知条件
2. 设定变量
3. 列出方程
4. 解方程
5. 得出答案

3. 高级Prompt技术

3.1 Chain-of-Thought (CoT)

引导模型生成思考过程,适合复杂推理任务。

问题:一个仓库有850个箱子,运走了150个后,又运来了300个,现在仓库有多少个箱子?
请先思考,再给出答案。
思考过程:

3.2 自我纠正

要求模型检查自己的输出并改进。

请写一篇关于气候变化的200字短文。写完后,请检查是否有科学错误或不准确的地方,并修正。

3.3 思维框架

为复杂任务提供结构化的思考框架。

使用SWOT分析框架,评估在小县城开一家精品咖啡店的商业前景:

Strengths:
Weaknesses:
Opportunities:
Threats:

4. 常见任务的Prompt模板

4.1 文本摘要

请总结以下文章,要点包括:1)主要论点;2)关键数据;3)核心结论。摘要不超过原文长度的三分之一,语言简明扼要。

[文章内容]

4.2 代码生成

请用Python编写一个函数,实现以下功能:
1. 输入:一个字符串列表
2. 输出:每个字符串出现的次数(字典格式)
3. 要求:考虑性能,使用高效算法
4. 包含详细注释

4.3 翻译

请将以下英文文章翻译成中文,要求:
1. 保持原文意思准确
2. 使用流畅的中文表达
3. 保留专业术语的准确翻译
4. 保持段落结构不变

[英文文章]

5. 不同模型的Prompt差异

5.1 OpenAI模型

  • 支持复杂指令和少样本学习
  • 对格式要求相对宽松
  • 支持system prompt设置系统级行为

5.2 开源模型

  • 某些模型可能需要更具体的指令
  • 可能需要更多示例来引导
  • 性能可能随模型大小和训练数据变化

6. Prompt评估与优化

6.1 评估指标

  • 准确性:回答是否符合事实
  • 相关性:输出是否切题
  • 完整性:是否覆盖所有要求
  • 一致性:多次调用结果是否一致

6.2 A/B测试

尝试不同版本的Prompt,比较结果质量。

版本A:
请解释量子计算

版本B:
请用通俗易懂的语言,通过类比解释量子计算的基本原理,适合对物理学了解不多的读者

7. 最佳实践

  1. 简洁明了:避免冗余,保持指令清晰
  2. 迭代优化:不断测试和改进Prompt
  3. 结构化输入:使用明确的分隔符和格式
  4. 设置期望:明确告诉模型你想要什么
  5. 使用限定词:精确描述要求(如"准确"、"详细"、"简洁")

8. 工具与资源

  • Prompt共享平台

    • PromptBase
    • FlowGPT
    • Awesome ChatGPT Prompts
  • 开发工具

    • LangChain
    • Promptflow
    • LangSmith

Prompt工程是一项需要实践和经验的技能,随着模型的发展,最佳实践也在不断演变。持续学习和实验是掌握这一技能的关键。