说明:标题提到的ChatGPT在本文写作时(2022年11月13日)尚未正式发布(ChatGPT于11月30日发布),本文基于GPT-3.5 API的使用经验,以及对ChatGPT预览版的了解,总结大语言模型的最佳实践。

GPT-3.5是OpenAI在2022年推出的大语言模型,能力比GPT-3有了大幅提升。ChatGPT则是基于GPT-3.5的对话产品,虽然还没正式发布,但已经引发了广泛关注。

我用了一段时间的GPT-3.5 API,也体验了ChatGPT的预览版,本文总结使用大语言模型的最佳实践,包括提示词工程、应用场景、常见问题、优化技巧等。

一、大语言模型简介

1. 什么是GPT-3.5

GPT-3.5是OpenAI在GPT-3基础上改进的大语言模型。

主要改进:

  • 用了更多的训练数据
  • 用了更好的训练方法(RLHF,基于人类反馈的强化学习)
  • 对话能力更强
  • 指令遵循能力更好
  • 代码能力提升

GPT-3.5的代表模型:

  • text-davinci-003:最强的文本生成模型
  • code-davinci-002:代码生成模型
  • gpt-3.5-turbo:对话模型(ChatGPT背后的模型)

2. 什么是ChatGPT

ChatGPT是OpenAI推出的对话产品,基于GPT-3.5。

特点:

  • 对话式交互,可以多轮对话
  • 能理解上下文
  • 能回答问题、写代码、写文章
  • 能承认错误、拒绝不当请求
  • 免费使用(预览版)

ChatGPT在2022年11月30日正式发布,本文写作时还在预览阶段。

3. 为什么重要

大语言模型的重要性:

  • 能理解和生成自然语言
  • 能处理各种任务(写作、编程、翻译、总结等)
  • 能力接近甚至超过人类在某些领域
  • 可以大幅提升工作效率
  • 可能改变很多行业

2022年,大语言模型迎来了爆发,GPT-3.5、ChatGPT、AI绘画,让人看到了AI的巨大潜力。

二、提示词工程

用好大语言模型,关键是写好提示词(Prompt)。

1. 提示词的基本结构

一个好的提示词,通常包含:

  • 角色:让AI扮演什么角色
  • 任务:让AI做什么
  • 上下文:背景信息
  • 格式:输出的格式
  • 约束:限制条件

示例:

你是一个资深前端工程师。
请帮我写一个React组件,实现一个登录表单。
要求:
- 使用函数组件和Hooks
- 包含用户名和密码输入
- 有表单验证
- 样式简洁美观
请输出完整的JSX代码。

2. 提示词的技巧

明确具体:

  • 不要说"写一篇文章",要说"写一篇1000字的关于React 18新特性的技术文章,面向中级开发者"
  • 越具体,输出越符合预期

给出示例:

  • 如果有特定的格式或风格,给出示例
  • Few-shot learning,给几个例子,AI会模仿
请按照以下格式输出:
问题:...
答案:...

示例:
问题:什么是React?
答案:React是一个用于构建用户界面的JavaScript库。

分步指导:

  • 复杂任务,拆分成步骤
  • 让AI一步一步思考
  • "Let's think step by step"

设置约束:

  • 字数限制
  • 格式要求
  • 不要做什么
  • 语气风格

3. 常见的提示词模板

写作模板:

你是一个[角色]。
请写一篇[类型],主题是[主题]。
要求:
- 字数:[字数]
- 风格:[风格]
- 目标读者:[读者]
- 包含以下要点:[要点]

代码模板:

你是一个[语言]专家。
请帮我实现[功能]。
要求:
- 使用[技术栈]
- 代码规范
- 有注释
- 处理边界情况

总结模板:

请总结以下内容,要求:
- 不超过[字数]字
- 保留关键信息
- 用[语言]
- 分点列出

内容:
[内容]

三、应用场景

大语言模型的应用场景很广,我常用的有这些。

1. 写代码

大语言模型写代码的能力很强。

  • 写函数:描述需求,生成代码
  • 改bug:把错误信息贴进去,让AI分析
  • 代码解释:让AI解释复杂代码
  • 代码重构:让AI优化代码
  • 写测试:自动生成单元测试

示例:

请帮我写一个Python函数,输入一个列表,返回列表中第二大的数。
要求处理空列表和只有一个元素的情况。

注意:AI生成的代码不一定完全正确,要自己检查和测试。

2. 写文章

大语言模型可以辅助写作。

  • 写大纲:先让AI生成大纲,再自己写
  • 写初稿:让AI写初稿,再自己修改
  • 润色:把自己写的内容给AI,让它润色
  • 翻译:翻译成其他语言
  • 总结:总结长文

注意:AI写的内容可能有事实错误,要核实。

3. 学习助手

大语言模型是很好的学习助手。

  • 解释概念:用通俗的语言解释复杂概念
  • 出练习题:学完一个知识点,让AI出题
  • 批改作业:把答案给AI,让它批改
  • 制定学习计划:让AI帮你制定学习计划
  • 问答:有不懂的就问

示例:

请用通俗的语言解释什么是闭包,并举一个JavaScript的例子。

4. 日常办公

大语言模型可以提升办公效率。

  • 写邮件:描述要点,生成邮件
  • 写报告:整理数据,生成报告
  • 做PPT大纲:生成PPT的大纲
  • 会议纪要:整理会议记录
  • 翻译:翻译文档

5. 创意灵感

大语言模型可以激发创意。

  • 起名字:产品名、公司名、书名
  • 写文案:广告文案、社交媒体文案
  • 编故事:写小说、剧本
  • 想点子:头脑风暴
  • 写诗:各种风格的诗

四、常见问题

1. 幻觉问题

大语言模型会"幻觉",也就是编造不存在的信息。

表现:

  • 编造不存在的论文、书籍
  • 编造不存在的API
  • 给出错误的事实
  • 自信地说错话

应对方法:

  • 重要信息要核实
  • 让AI给出信息来源
  • 不要完全相信AI的输出
  • 用在不需要绝对准确的场景

2. 上下文限制

大语言模型有上下文长度限制。

  • GPT-3.5:大约4000个token
  • 对话太长,AI会忘记前面的内容
  • 长文档处理不了

应对方法:

  • 分段处理长文档
  • 总结后再继续
  • 只把相关的上下文给AI
  • 用更高级的模型(上下文更长)

3. 指令遵循问题

有时候AI不遵循指令。

表现:

  • 不按要求的格式输出
  • 忽略约束条件
  • 答非所问

应对方法:

  • 提示词更明确
  • 把重要的要求放在开头和结尾
  • 给示例
  • 调整温度(temperature)参数

4. 偏见和安全问题

大语言模型可能有偏见,也可能生成不当内容。

  • 性别、种族偏见
  • 生成有害内容
  • 隐私问题

应对方法:

  • 了解模型的局限性
  • 人工审核输出
  • 设置安全过滤
  • 不要用在敏感场景

五、优化技巧

1. 温度参数

temperature参数控制输出的随机性。

  • temperature=0:确定性输出,每次都一样
  • temperature=0.7:平衡,适合大多数场景
  • temperature=1:随机性高,适合创意写作

根据场景选择:

  • 事实性任务:低温度(0-0.3)
  • 创意任务:高温度(0.7-1)
  • 一般任务:中等温度(0.5-0.7)

2. 系统提示词

用系统提示词设定AI的角色和行为。

系统:你是一个资深的Python开发者,代码简洁高效,有详细注释。
用户:请写一个快速排序的实现。

系统提示词可以让AI更稳定地扮演特定角色。

3. 思维链

让AI一步一步思考,可以提升复杂推理的准确率。

请一步一步地解决这个问题,先分析问题,再给出方案,最后写代码。

问题:...

思维链(Chain of Thought)对数学题、逻辑题、复杂编程题特别有效。

4. 自我检查

让AI自己检查输出。

请检查你上面的回答,有没有错误或可以改进的地方。如果有,请修正。

自我检查可以发现一些明显的错误。

5. 多轮迭代

不要指望一次就得到完美的输出。

  • 先生成初稿
  • 指出问题,让AI修改
  • 多次迭代,直到满意
  • 把好的提示词保存下来,复用

六、API使用最佳实践

如果用API开发应用,这些建议有用。

1. 错误处理

  • API可能超时、限流
  • 要有重试机制
  • 要有降级方案
  • 记录日志,方便排查

2. 成本控制

  • API按token收费,要控制成本
  • 缓存常用的请求和响应
  • 用更便宜的模型处理简单任务
  • 设置token上限,防止超长输出

3. 安全

  • 不要把敏感信息传给API
  • 对用户输入做过滤
  • 对输出做审核
  • 保护API密钥

4. 用户体验

  • 显示加载状态
  • 流式输出(streaming),让用户看到实时生成
  • 提供重试按钮
  • 允许用户编辑和复制输出

七、我的使用经验

1. 提升效率

用了大语言模型之后,我的效率提升了很多。

  • 写代码:以前写一个函数要10分钟,现在2分钟
  • 写文章:以前写初稿要1小时,现在20分钟
  • 学习:以前查资料要半天,现在问AI几分钟
  • 翻译:以前翻译要逐句查,现在一键翻译

但要注意:AI是辅助,不是替代。最终的质量,还是要靠人来保证。

2. 改变工作方式

大语言模型改变了我的工作方式。

  • 以前:自己想、自己写、自己查
  • 现在:先让AI生成初稿,再自己修改优化
  • 把更多时间用在思考和判断上,而不是机械劳动

3. 保持批判性思维

用AI的同时,要保持批判性思维。

  • AI会犯错,要自己判断
  • AI会幻觉,要核实事实
  • AI有偏见,要注意
  • 不要完全依赖AI

AI是工具,人是主体。用好工具,但不要被工具控制。

八、未来展望

大语言模型还在快速发展。

1. 能力会更强

  • 更大的模型,更强的能力
  • 更长的上下文
  • 更好的指令遵循
  • 更少的幻觉

2. 应用会更广

  • 更多行业会用上大语言模型
  • 更多产品会集成AI
  • AI会成为基础设施
  • 人机协作会成为常态

3. 挑战也更多- 就业冲击

  • 隐私和安全
  • 偏见和公平
  • 监管和伦理

九、写在最后

GPT-3.5和ChatGPT,代表了大语言模型的最新进展。

用好这些工具,关键是掌握提示词工程,了解它们的能力和局限,在合适的场景使用。它们可以大幅提升效率,但不能完全替代人。

2022年,AI大爆发,大语言模型、AI绘画,让人看到了AI的巨大潜力。未来,AI会越来越强大,我们要学会和AI共处,用好AI这个工具。

最后,用一句话总结:"大语言模型是强大的工具,提示词是使用工具的钥匙。掌握提示词,用好AI,提升效率,但保持人的判断和创造力。"

愿你在AI时代,用好工具,保持独立思考。