《ChatGPT进阶:提示工程入门》读书笔记(回顾)

《ChatGPT进阶:提示工程入门》读书笔记(回顾)

学会设计提示,其实就是学会和AI高效对话,从而把它变成真正的思维助推器

ChatGPT进阶:提示工程入门

C1 认识ChatGPT

Chat Generative Pre-trained Transformer

  • Generative生成式:通过计算大量数据中的概率分布,从分布中生成新的数据

  • Pre-trained预训练:在训练特定任务的模型之前,先在大量的数据上进行训练,以学习一些基础的、通用的特征或模式

  • Transformer变换器:一种深度学习模型,它使用自注意力机制来处理序列数据

语言模型可以理解为一种预测下一个token的统计模型

大语言模型的“涌现”能力:由低层次的简单交互产生的高层次的复杂行为,“量变引起质变”

  • 例如蚁群作为整体,彼此相互作用时产生的复杂行为

“幻觉”现象:一本正经地胡说八道

C2 人机共舞的艺术:提示工程简介

两个概念

  • 提示prompt:用户向人工智能提供的输入信息,这些信息通常包含关键词、问题或指令,旨在引导人工智能生成与用户期望相符的回应。

  • 提示工程Prompt Engineering:通过精心设计、优化输入信息(提示),来引导人工智能生成高质量、准确、有针对性的回应。

Let’s think step by step

  • 仅仅在GPT-3发送的指令前加这句话,便将GPT-3在一个数学题库上的正确率从17.7%提升到了78.7%

与人工智能合作

  • 建立合作关系

  • 对齐:确保智能体的目标、行为和决策与人类价值观、意图和期望保持一致

拆解、标准化、流程化地用AI改造工作

  • 复杂问题简单化

  • 简单问题标准化

  • 标准问题流程化

C3 使用ChatGPT的基础技巧

使用文本分隔符分割指令和上下文

  • 上下文可能是非常长的信息,使用分隔符###或“”可以让ChatGPT抓住重点

使用标记语言标记输入格式

  • 使用“**”加粗文本

  • 这种方法有效是因为我们使用的其实是标记语言:Markdown语法,是一种“指示标签”

列项

  • 有序列表使用 “1 2 3”

  • 无序列表使用 “-”

量化要求

  • 将任务和要求转化为可度量和可比较的指标,最好是明确的数字

不要说“不要做什么”,要说“要做什么”

利用ChatGPT“接龙”的特性引导下一步动作

多轮对话

  • 保持与ChatGPT的对话主题的连贯性

  • 在不同的ChatGPT对话中讨论不同的事情

使用ChatGPT插件

  • 安装插件就像是给这个机器人提供了一个工具箱,这个工具箱里面有各种工具,可以用来获取实时信息,执行具体操作,等等

C4 使用ChatGPT完成自然语言处理任务

什么是自然语言处理任务

  • 研究如何让计算机理解、生成和处理人类语言

  • 了解自然语言处理任务就等于阅读了这套语言系统的功能说明书

文本摘要

  • 从较长的文本中提取关键信息,生成简短的摘要

  • 用于会议记录,新闻,学术论文,电子邮件

  • 读论文,做会议记录,分析会议的关键要素,总结会议要素,

文本纠错

  • 自动检测和纠正文本中的拼写错误

情感分析

  • 分析文本中的情感倾向

  • 应用于金融市场分析,人力资源管理,品牌声誉管理,客户服务改进

命名实体识别

  • 从文本中识别出特定类别的实体

  • 使用实体识别,我们可以快速、大量地提取出真正关键的信息,免去阅读大量文本的困扰。

机器翻译

  • 中译英

关键词提取,从文本中识别主题

  • 用于学术研究,内容创作,市场分析,社交媒体分析

问题回答

  • 用ChatGPT学习知识

  • 如何减少ChatGPT的“幻觉”

    • 希望ChatGPT提供理论依据时

      • 提示结尾加一句:“提到的理论需要有权威来源,是学术界的共识”
    • 希望ChatGPT引用论文时

      • 添加“引用的论文可以在GoogleScholar上找到”

生成式任务

  • 让计算机根据给定的上下文生成具有一定意义和连贯性的文本

  • 使用背景、ChatGPT的角色、目标和关键结果这四个要素来设计提示

  • 用于写深度评论文章,选题,深入挖掘选题论点,选择适合的写作风格,写出文章内容

C5 使用BROKE框架设计ChatGPT提示

ChatGPT与使用者的关系就像领导与员工一样

【目标明确,沟通顺畅,反馈与调整,培训与提升】

  • 使用者需要对ChatGPT进行引导和管理,以获得更高效、更准确的工作成果

BROKE框架

【B for Background, R for Role, O for Objectives, K for KeyResults, E for Evolve】

  • B 阐述背景:说明背景,为ChatGPT提供充足的信息

    • 要弄清楚问题背景到底是什么,也很费精力,如果不想太费精力,这部分也可以交给ChatGPT

    • 给ChatGPT尽可能多的原始信息

    • 用符合直觉与经验的方式设计问题背景

      • (1) 任务的宏观背景

      • (2) 任务的微观场景

      • (3) 相关知识或信息

      • (4) 提问者的角色和立场

  • R 定义角色:给ChatGPT定义角色

    • 有助于建立一个稳定且具象化的形象,并告诉ChatGPT角色的职责所在,让ChatGPT与用户之间的互动更加顺畅

    • 设计角色的框架

      • 明确角色定位

      • 界定角色功能

      • 设定互动规则

  • O 定义目标:希望ChatGPT能够实现什么目标

    • 清晰明确,目标导向,适度的范围和难度,保持目标简洁
  • K 定义关键结果:我们想要什么结果

    • 同上
  • E 试验并调整,改进:改进提示,改进答案或重新生成

    • 改进背景、角色、目标与增加/修改关键结果

    • Regenerate

C6 使用ChatGPT的进阶技巧

分而治之 Divide and Conquer

  • 分解 Divide:将原问题分解为若干个较小的、相互独立的子问题

  • 解决 Conquer:如果子问题比较难,可以将子问题分解为更简单的问题,直到可以轻松解决

  • 合并 Combine:将子问题的解组合成原问题的解

上下文学习 In-Context Learning

  • 参数量较大的大语言模型可以在不改变模型参数的情况下,只靠输入的内容就可以学到新的规律

链式思维 Chain-of-Thought

  • 模型将一个复杂的问题分解成一条思考路径,然后依次解决每个步骤,最终得出问题的答案

  • 咒语1:让我们一步一步思考 Let’s think step by step

  • 咒语2:让我们逐步来解决这个问题,以确保我们得到正确的答案 Let’s work this out in a step by step way to be sure we have the right answer

自一致性 Self-Consistency

    1. 使用链式思维提示来引导大语言模型生成推理过程
    1. 多次重复生成答案,让ChatGPT从不同的思考路径得出结论
    1. 通过“投票”选择最可靠的答案

知识生成提示

  • 在问ChatGPT问题之前,可以先要求它生成一些问题相关的知识,从而获得更好的回答表现→论文《Generated knowledge prompting for commonsense reasoning》

    • 生成知识

    • 整合知识和问题

C7 如何用ChatGPT进行创新

心理学家评价创造力

  • 发散思维:对某一问题产生不寻常想法的能力

  • 聚合思维:整合不同来源的信息,从而解决问题的能力

组合式创新

  • GPT-4模型与搜索引擎

  • ChatGPT和编程助手

  • ChatGPT调用机器人

ChatGPT+领域知识

  • +心理学,设计更容易被填写的问卷

  • +逻辑学,用谓词逻辑提取文字中的命题

  • +管理学+心理学+社会学,用多领域理论优化管理策略

    • 管理学、社会学与心理学是研究组织行为和个体行为的三大重要学科,非常适合在管理中发挥作用

    • 借助ChatGPT使用管理学、社会学与心理学理论和知识来优化管理策略,并解决实际的管理问题

      • 分析管理会议维度,得出团队管理方向

      • 分析小组员工流失的原因

ChatGPT+工具

  • +Mermaid,用ChatGPT画时序图

ChatGPT+其他AI工具

  • +MusicLM生成音乐

  • +runawayGEN生成视频

  • +Midjourney生成图像

    • 第一步:了解作图流程

      • 要获得可控且高质量的作图结果,我们需要一套固定流程。即便我们不是设计专业,没有绘图经验,但我们可以问问ChatGPT
    • 第二步:解决“文学作品的复杂性”问题,确定作图流程

      • Midjourney官方提供了质量非常高的教程,包括:“Cla-rinet’s Troubleshooting Midjourney TextPrompts”

        • (1) 理解文本内容,把握主题、氛围和故事情节

        • (2) 根据文本内容,选择合适的艺术风格和技术

        • (3) 设计构图和视觉元素:规划插图的构图和视觉元素

        • (4) 根据分析,填写模板中的前三个元素

        • (5) 写出Midjourney prompt

    • 第三步:解决“有截止日期的知识”问题,帮助ChatGPT理解Midjourney prompt

      • 贴教程或“上下文学习法”
    • 第四步:根据分析,组装各个部分并写出提示

用ChatGPT做数据分析

C8 基于ChatGPT进行开发

ChatGPT API:利用ChatGPT制作自己的应用

LangChain:大语言模型开发框架

C9 ChatGPT的替代品们

Claude:ChatGPT的孪生姐妹

  • 微软投资的OpenAI

  • 谷歌投资的Anthropic

PaLM2:来自谷歌的实力对手

  • PaLM2可以整合谷歌全家桶办公软件

HuggingChat:“抱抱脸”聊天机器人

ChatGLM:来自清华大学的语言模型

  • 由清华大学推出,是一个具有问答、多轮对话和代码生成功能的中英双语模型,并针对中文进行了优化

Alpaca&Vicuna:语言模型之羊驼家族

  • 其基础是Meta的模型,目前主要是为了学术研究而开发的,但不允许商用

其他大语言模型

  • 文心一言:百度的聊天机器人

  • 讯飞星火:科大讯飞的聊天机器人

  • 通义千问:阿里巴巴的聊天机器人

总结

这篇读书笔记系统地介绍了ChatGPT的基本原理、提示工程的核心理念及其实践方法,从入门技巧到进阶策略, 涵盖了如何通过结构化提示(如BROKE框架)、链式思维和自一致性等方式提升模型输出的质量与可靠性。 同时,书中还探讨了ChatGPT在自然语言处理、创新应用、数据分析和跨学科结合等领域的潜力,并对各类替代品和开发工具进行了比较。 整体来看,这本书既是对提示工程的实用指南,也是对人机协作未来可能性的启发,强调了通过合理设计提示,可以极大拓展ChatGPT的价值与应用场景。

Back to all posts