用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)

本文将从提示工程的本质、提示工程的原理、提示工程的应用三个方面,带您一文搞懂提示工程 Prompt Engineering 。

文末精选通俗易懂的方式讲解系列,如果你喜欢技术交流,文末可以加入
用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)_第1张图片

文章目录

    • 提示工程的本质
    • 提示工程的原理
    • 提示工程的应用
    • 技术交流&资料
    • 通俗易懂讲解大模型系列

提示工程的本质

Prompt(提示):Prompt(提示)在人工智能,特别是AGI(通用人工智能)时代,扮演着至关重要的角色。它不仅是用户与AI模型如ChatGPT交互的桥梁,更是一种全新的“编程语言”,用于指导AI模型产生特定的输出。

用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)_第2张图片

Prompt(提示)

  • Prompt作为AGI时代的“编程语言”

  • 角色转变:Prompt不再仅仅是简单的输入或查询,它成为了一种与AI模型交互的“编程语言”。用户通过精心设计的Prompt来“编程”AI模型,指导其执行各种任务。

  • 任务多样性:这些任务的范围非常广泛,从简单的问答、文本生成到复杂的逻辑推理、数学计算和创意写作等。

  • 即时性与互动性:与传统的编程语言相比,Prompt通常更加即时和互动。用户可以直接在AI模型的接口中输入Prompt,并立即看到结果,而无需经过编译或长时间的运行过程。

提示工程(Prompt Engineering):提示工程(Prompt Engineering)涉及到如何设计、优化和管理这些Prompt,以确保AI模型能够准确、高效地执行用户的指令。
用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)_第3张图片

  • Prompt工程作为AGI时代的“软件工程”

  • 设计:Prompt设计需要仔细选择词汇、构造清晰的句子结构,并考虑上下文信息。这确保AI模型能够准确理解用户的意图并产生符合预期的输出。

  • 优化:优化Prompt可能涉及调整词汇选择、改变句子结构或添加额外的上下文信息,以提高AI模型的性能和准确性。这可能需要多次尝试和迭代,以达到最佳效果。

  • 管理:随着AGI应用的不断增长和复杂化,管理大量的Prompt变得至关重要。这包括组织、存储和检索Prompt,以便在需要时能够快速找到并使用它们。同时,还需要定期更新和维护这些Prompt,以适应AI模型的改进和变化的需求。

提示工程的原理

Prompt的构成:一个完整的Prompt应该包含清晰的指示、相关的上下文、有助于理解的例子、明确的输入以及期望的输出格式描述。
用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)_第4张图片Prompt的构成

  • 指示(Instructions) - 关键词:任务描述

  • 指示是对任务的明确描述,相当于给模型下达了一个命令或请求。它告诉模型应该做什么,是任务执行的基础。

  • 上下文(Context) - 关键词:背景信息

  • 上下文是与任务相关的背景信息,它有助于模型更好地理解当前任务所处的环境或情境。在多轮交互中,上下文尤其重要,因为它提供了对话的连贯性和历史信息。

  • 例子(Examples) - 关键词:示范学习

  • 例子是给出的一或多个具体示例,用于演示任务的执行方式或所需输出的格式。这种方法在机器学习中被称为示范学习,已被证明对提高输出正确性有帮助。

  • 输入(Input) - 关键词:数据输入

  • 输入是任务的具体数据或信息,它是模型需要处理的内容。在Prompt中,输入应该被清晰地标识出来,以便模型能够准确地识别和处理。

  • 输出(Output) - 关键词:结果格式

  • 输出是模型根据输入和指示生成的结果。在Prompt中,通常会描述输出的格式,以便后续模块能够自动解析模型的输出结果。常见的输出格式包括结构化数据格式如JSON、XML等。

Prompt调优:Prompt调优是人与机器协同的过程,需明确需求、注重细节、灵活应用技巧,以实现最佳交互效果。

用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)_第5张图片

Prompt调优

  • 一、人的视角:明确需求

  • 核心点:确保清晰、具体地传达自己的意图。

  • 策略:简化复杂需求,分解为模型易理解的指令。

  • 二、机器的视角:注重细节

  • 核心点:机器缺乏人类直觉,需详细提供信息和上下文。

  • 策略:精确选择词汇和结构,避免歧义,提供完整线索。

  • 三、模型的视角:灵活应用技巧

  • 核心点:不同模型、情境需不同Prompt表达方式。

  • 策略:通过实践找到最佳词汇、结构和技巧,适应模型特性。

提示工程的应用

提示技术:提示技术是引导AI模型进行深度思考和创新的有效工具,其中Chain-of-Thought Prompting注重逐步推理,Knowledge Generation Prompting强调知识生成,而Tree of Thoughts Prompting则通过树状结构清晰展现思维过程。

  • Chain-of-Thought Prompting(链式思考提示)

  • 一、概念介绍

    Chain-of-Thought Prompting,即链式思考提示,是一种在人工智能模型中引导逐步推理的方法。通过构建一系列有序、相互关联的思考步骤,模型能够更深入地理解问题,并生成结构化、逻辑清晰的回答。

  • 二、核心特点

    有序性:链式思考提示要求将问题分解为一系列有序的步骤,每个步骤都建立在前一个步骤的基础上,形成一条清晰的思考链条。

    关联性:每个思考步骤之间必须存在紧密的逻辑联系,以确保整个思考过程的连贯性和一致性。

    逐步推理:模型在每个步骤中只关注当前的问题和相关信息,通过逐步推理的方式逐步逼近最终答案。

用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)_第6张图片

链式思考提示(COT)

Knowledge Generation Prompting(生成知识提示)

  • 一、概念介绍

    Knowledge Generation Prompting,即生成知识提示,是一种利用人工智能模型生成新知识或信息的方法。通过构建特定的提示语句,引导模型从已有的知识库中提取、整合并生成新的、有用的知识内容。

  • 二、核心特点

    创新性:生成知识提示旨在产生新的、原创性的知识内容,而非简单地复述或重组已有信息。

    引导性:通过精心设计的提示语句,模型被引导去探索、发现并与已有知识进行交互,从而生成新的见解或信息。

    知识整合:该过程涉及对多个来源、多种类型的知识进行融合和整合,以形成更全面、深入的理解。

用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)_第7张图片

生成知识提示

  • Tree of Thoughts Prompting(思维树提示)

  • 一、概念介绍

    Tree of Thoughts Prompting,即思维树提示,是一种将复杂思维过程结构化为树状图的方法。它通过逐级分解主题或问题,形成具有逻辑层次和关联性的思维节点,从而帮助用户更清晰地组织和表达思考过程。

  • 二、核心特点

    层次性:思维树提示将思考过程分解为多个层次,每个层次代表不同的思维深度和广度。

    关联性:各思维节点之间存在紧密的逻辑联系,形成一个相互关联、互为支撑的思维网络。

    可视化:通过将思维过程以树状图的形式展现,思维树提示增强了思考过程的可视化和直观性。

用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)_第8张图片
思维树提示(TOT)

提示应用:提示工程应用于代码生成,利用机器学习,将自然语言提示自动转为符合要求的代码,提升开发效率。

  • Generating Code(代码生成)

  • 将注释转换成代码

    将注释转换成代码意味着您需要理解注释中的描述或说明,并将其实现为可执行的代码。例如:

    用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)_第9张图片

    在这个例子中,注释“计算两个数的和”被转换为了一个名为add_numbers的函数,该函数接受两个参数并返回它们的和。

  • 完成功能或继续下一行

    这通常意味着您需要编写缺失的代码行以完成某个功能。例如,如果您有一个未完成的函数:

    用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)_第10张图片

    这个函数已经完成了基本的问候功能,并且还包含了一个特殊情况的处理:如果名字是"Alice",则打印一条特殊的问候语。

  • MySQL查询语句生成

    生成MySQL查询语句需要根据您的数据库结构和您想要检索的数据来决定。以下是一个简单的查询示例,它从名为employees的表中选择所有员工的信息:图片

    如果您想根据某些条件筛选员工,比如选择所有薪资超过50000的员工,您可以这样写:

    图片

  • 解释代码

    解释代码意味着您需要理解代码的功能和工作原理,并能够用自然语言描述它。例如,对于以下Python代码:

    您可以解释这段代码为:“这是一个计算阶乘的函数。它接受一个参数n,并检查n是否等于0。如果n等于0,函数返回1。否则,它返回n乘以n-1的阶乘的结果。这是一个递归函数,因为它在自己的定义中调用了自己。”

技术交流&资料

技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

成立了大模型技术交流群,本文完整代码、相关资料、技术交流&答疑,均可加我们的交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、微信搜索公众号:机器学习社区,后台回复:加群
方式②、添加微信号:mlc2060,备注:来自CSDN + 技术交流

通俗易懂讲解大模型系列

  • 做大模型也有1年多了,聊聊这段时间的感悟!

  • 用通俗易懂的方式讲解:大模型算法工程师最全面试题汇总

  • 用通俗易懂的方式讲解:不要再苦苦寻觅了!AI 大模型面试指南(含答案)的最全总结来了!

  • 用通俗易懂的方式讲解:我的大模型岗位面试总结:共24家,9个offer

  • 用通俗易懂的方式讲解:大模型 RAG 在 LangChain 中的应用实战

  • 用通俗易懂的方式讲解:一文讲清大模型 RAG 技术全流程

  • 用通俗易懂的方式讲解:如何提升大模型 Agent 的能力?

  • 用通俗易懂的方式讲解:ChatGPT 开放的多模态的DALL-E 3功能,好玩到停不下来!

  • 用通俗易懂的方式讲解:基于扩散模型(Diffusion),文生图 AnyText 的效果太棒了

  • 用通俗易懂的方式讲解:在 CPU 服务器上部署 ChatGLM3-6B 模型

  • 用通俗易懂的方式讲解:使用 LangChain 和大模型生成海报文案

  • 用通俗易懂的方式讲解:ChatGLM3-6B 部署指南

  • 用通俗易懂的方式讲解:使用 LangChain 封装自定义的 LLM,太棒了

  • 用通俗易懂的方式讲解:基于 Langchain 和 ChatChat 部署本地知识库问答系统

  • 用通俗易懂的方式讲解:在 Ubuntu 22 上安装 CUDA、Nvidia 显卡驱动、PyTorch等大模型基础环境

  • 用通俗易懂的方式讲解:Llama2 部署讲解及试用方式

  • 用通俗易懂的方式讲解:基于 LangChain 和 ChatGLM2 打造自有知识库问答系统

  • 用通俗易懂的方式讲解:一份保姆级的 Stable Diffusion 部署教程,开启你的炼丹之路

  • 用通俗易懂的方式讲解:对 embedding 模型进行微调,我的大模型召回效果提升了太多了

  • 用通俗易懂的方式讲解:LlamaIndex 官方发布高清大图,纵览高级 RAG技术

  • 用通俗易懂的方式讲解:为什么大模型 Advanced RAG 方法对于AI的未来至关重要?

  • 用通俗易懂的方式讲解:使用 LlamaIndex 和 Eleasticsearch 进行大模型 RAG 检索增强生成

  • 用通俗易懂的方式讲解:基于 Langchain 框架,利用 MongoDB 矢量搜索实现大模型 RAG 高级检索方法

  • 用通俗易懂的方式讲解:使用Llama-2、PgVector和LlamaIndex,构建大模型 RAG 全流程

你可能感兴趣的:(大模型理论与实战,大模型,prompt,人工智能,深度学习,算法,大模型,LLM)