十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

小白学大模型:提示词工程(Prompt)与Agent,简单易懂,轻松拿捏!!

小白学大模型:提示词工程(Prompt)与Agent,简单易懂,轻松拿捏!! 前言Prompt是大模型的输入用来指导生成式人工智能的输出。本文提出了33个词汇术语的全面词汇表58种纯文本提示技术的分类法以及其他模态的40种技术。The Prompt Report: A Systematic Survey of Prompting Techniqueshttps://arxiv.org/pdf/2406.06608大模型通常依赖用户提供的输入“提示”prompt来生成输出。提示可能是文本形式的——“写一首关于树的诗。” 或者采取其他形式图像、音频、视频或它们的组合。自然语言提示的能力使得这些模型易于交互并能在广泛的用例中灵活使用。有效地构建、评估和执行与提示相关的其他任务对于使用这些模型至关重要。实证研究表明更好的提示可以在广泛的任务中带来改进的结果。unsetunset什么是提示Promptunsetunset提示是输入给生成式人工智能Generative AI模型的指令用于指导模型的输出。提示可以由文本、图像、声音或其他媒体组成。一些提示的例子包括“为会计公司的营销活动写一个三段式的电子邮件”一张桌子上放着东西的照片附带文本“描述桌子上的所有东西”或者一段在线会议的录音附带指示“总结这个会议”。提示模板Prompt Template提示通常是通过提示模板构建的。提示模板是一个包含一个或多个变量的函数这些变量将被某些媒体通常是文本替换以创建一个提示。然后这个提示可以被认为是模板的一个实例。考虑将提示应用于推文的二元分类任务。这里有一个初始的提示模板可以用来对输入进行分类。将推文分类为积极或消极{TWEET}数据集中的每个推文都将被插入到模板的一个单独实例中然后将产生的提示交给大型语言模型LLM进行推断。写一首关于树的诗。 写一首关于以下主题的诗{USER_INPUT}提示的组成部分提示中包含多种常见的组成部分。我们总结了最常用的组成部分并讨论了它们如何适应提示。指令Directive许多提示以指令或问题的形式发出指令。这是提示的核心意图有时简称为“意图”。示例Examples示例也称为范例或射击作为演示指导GenAI完成任务。上述提示是一个一次性提示即一个示例。输出格式化Output Formatting通常希望GenAI以某些格式输出信息例如CSV或Markdown格式。风格指令Style Instructions风格指令是一种输出格式化用于修改输出的风格而不是结构。角色Role角色也称为人物是一个经常讨论的组成部分可以改进写作和风格文本。额外信息Additional Information通常需要在提示中包含额外的信息。例如如果指令是写一封电子邮件你可能会包括你的姓名和职位等信息提示术语提示领域的术语正在快速发展。目前许多定义理解不足例如提示、提示工程和相互冲突的定义例如角色提示与人物提示。缺乏一致的词汇妨碍了社区清晰描述各种提示技术的能力。提示Prompting提示是向GenAI提供提示的过程然后GenAI生成响应。例如发送一段文本或上传图像的行为构成了提示。提示链Prompt Chain由两个或更多的提示模板连续使用组成。第一个提示模板生成的提示的输出用于参数化第二个模板直到所有模板都耗尽为止。提示技术Prompting Technique提示技术是一个蓝图描述了如何构建一个提示、提示或多个提示的动态序列。提示技术可能包含条件或分支逻辑、并行性或跨越多个提示的其他架构考虑。提示工程Prompt Engineering提示工程是通过修改或更改所使用的提示技术来开发提示的迭代过程。提示工程技术Prompt Engineering Technique迭代改进提示的策略。通常是自动化技术但在消费者设置中用户通常手动执行提示工程。范例Exemplar在提示中向模型展示的任务完成示例。unsetunset常见的「提示词」技术unsetunset上下文学习In-Context Learning, ICLICL指的是大模型通过在提示中提供范例和/或相关指令来学习技能和任务的能力无需权重更新/重新训练。这些技能可以从范例和/或指令中学习。与此相比相比少样本提示Few-Shot Prompting仅用几个例子范例学习完成任务。为提示选择范例是一项困难的任务——性能在很大程度上取决于范例的各种因素而且只有有限数量的范例适合典型的LLM的上下文窗口。这些决策对输出质量有重要影响范例的顺序影响模型行为提示中范例标签的分布影响行为范例的格式也影响性能选择与测试样本相似的范例思维推理思维链Chain-of-Thought, CoT思维链Chain-of-Thought, CoT提示利用少样本提示鼓励LLM在给出最终答案之前表达其思维过程。最直接版本的CoT不包含范例。它涉及在提示中添加一个诱发思考的短语退一步提示Step-Back Prompting是CoT的修改版其中LLM首先被问到一个关于相关概念或事实的通用、高层次的问题然后再进行推理。类比提示Analogical Prompting与SG-ICL类似自动生成包含思维链的范例。它在数学推理和代码生成任务中显示出改进。思路线索Thread-of-Thought, ThoT提示由一个改进的思维引导短语组成用于CoT推理。它不是使用“Let’s think step by step”而是使用“Walk me through this context in manageable parts step by step, summarizing and analyzing as we go.”少样本思维链Few-Shot CoT对比思维链提示Contrastive CoT Prompting在思维链提示中添加了带有正确和错误解释的范例以向LLM展示如何不进行推理。这种方法在算术推理和事实问答等领域显示出显著改进。不确定性导向的思维链提示Uncertainty-Routed CoT Prompting采样多个思维链推理路径然后如果多数超过某个阈值根据验证数据计算则选择多数。基于复杂度的提示Complexity-based Prompting涉及对思维链的两个主要修改。首先它根据问题长度或所需的推理步骤等因素选择复杂的范例进行注释和包含在提示中。主动提示Active Prompting从一些训练问题/范例开始要求LLM解决它们然后计算不确定性这种情况下的不一致性并要求人工注释者重写最不确定的范例。记忆思维链提示Memory-of-Thought Prompting利用未标记的训练范例在测试时构建少样本思维链提示。在测试之前它对未标记的训练范例进行思维链推理。自动思维链Auto-CoT提示使用零样本提示自动生成思维链。然后这些被用来为测试样本构建少样本思维链提示。思维分解将复杂问题分解为更简单的子问题上。这是人类以及大模型的有效问题解决策略。由少到多提示Least-to-Most Prompting首先提示LLM将给定问题分解为子问题而不解决它们。然后它依次解决这些子问题每次将模型响应附加到提示中直到得出最终结果。分解提示DECOMP通过少样本提示LLM展示如何使用某些功能。这些可能包括字符串分割或互联网搜索这些通常实现为单独的LLM调用。计划和解决提示Plan-and-Solve Prompting由改进的零样本CoT提示组成“让我们首先理解问题并制定解决计划。思维树Tree-of-Thought, ToT也称为思维树通过从初始问题开始然后以思维如CoT的形式生成多个可能的步骤来创建类似树的搜索问题。思维递归Recursion-of-Thought与常规CoT类似。然而每当它在推理链中遇到一个复杂问题时它会将这个问题发送到另一个提示/LLM调用中。完成后答案被插入原始提示中。思维程序Program-of-Thoughts使用像Codex这样的LLM生成编程代码作为推理步骤。代码解释器执行这些步骤以获得最终答案。它在数学和编程相关任务中表现出色但在语义推理任务中效果较差。批评与反思在创建大模型系统时让LLM批评自己的输出可能是有用的。这可以是一个简单的判断例如这个输出正确吗或者LLM可以被提示提供反馈然后这些反馈被用来改进答案。已经开发了许多生成和整合自我批评的方法。自我校准Self-Calibration首先提示LLM回答一个问题。然后它构建一个新的提示包括问题、LLM的答案以及一个额外的指示询问答案是否正确。这在应用LLM时衡量信心水平很有用可以帮助决定何时接受或修改原始答案。自我改进Self-Refine是一个迭代框架给定LLM的初始答案它提示同一个LLM对答案提供反馈然后提示LLM根据反馈改进答案。这个迭代过程一直持续到满足停止条件例如达到最大步数。自我改进在一系列推理、编码和生成任务中显示出改进。逆向思维链Reversing Chain-of-Thought, RCoT首先提示LLM根据生成的答案重建问题。然后它生成原始问题和重建问题之间的细粒度比较作为检查任何不一致性的方法。这些不一致性然后被转换为LLM修订生成答案的反馈。自我验证Self-Verification使用思维链Chain-of-Thought, CoT生成多个候选解决方案。然后它通过掩盖原始问题的某些部分并要求LLM根据问题的其余部分和生成的解决方案来预测它们来对每个解决方案进行评分。这种方法在八个推理数据集上显示出改进。思维链验证Chain-of-Verification, COVE首先使用LLM为给定问题生成答案。然后它创建一个相关的问题列表这些问题将有助于验证答案的正确性。每个问题都由LLM回答然后将所有信息提供给LLM以产生最终修订的答案。这种方法在各种问答和文本生成任务中显示出改进。累积推理Cumulative Reasoning首先生成多个潜在的步骤来回答这个问题。然后它有一个LLM评估它们决定接受或拒绝这些步骤。最后它检查是否已经得出最终答案。如果是这样它终止该过程否则它重复该过程。这种方法在逻辑推理任务和数学问题上显示出改进。自动提示工程除了调查提示技术外我们还回顾了用于自动优化提示的提示工程技术。我们讨论了一些使用梯度更新的技术因为提示工程技术的集合比提示技术的集合要小得多。元提示Meta Prompting是提示LLM生成或改进提示或提示模板的过程。AutoPrompt使用一个冻结的LLM以及一个包含一些“触发令牌”的提示模板这些令牌的值在训练时通过反向传播更新。这是软提示的一个版本。自动提示工程师Automatic Prompt Engineer, APE使用一组范例来生成零样本指令提示。它生成多个可能的提示对它们进行评分然后创建最佳提示的变体例如通过提示改写。它迭代这个过程直到达到某些期望。无梯度指令提示搜索Gradient-free Instructional Prompt Search, GrIPS与APE类似但使用更复杂的操作集包括删除、添加、交换和改写以创建起始提示的变体。unsetunsetAgent与外部工具unsetunsetAgents随着LLMs的能力迅速提高公司和研究人员探索了如何让它们利用外部系统。这主要是因为LLMs在数学计算、推理和事实性方面的不足。这推动了提示技术的显著创新这些系统通常由提示和提示链驱动这些提示和提示链经过精心设计以允许类似代理的行为。在GenAI的背景下我们定义代理为通过与GenAI本身之外的系统交互来实现用户目标的GenAI系统。这个GenAI通常是LLM。作为一个简单的例子考虑一个被赋予解决以下数学问题的任务的LLM如果Annie有4,939颗葡萄并且把其中39%精确地给了Amy她还剩下多少如果得到适当的提示LLM可以输出字符串CALC(4,939*.39)。这个输出可以被提取并放入计算器中以获得最终答案。这是一个代理的例子LLM输出文本然后使用下游工具。工具使用代理Tool Use Agents工具使用是GenAI代理的一个关键组成部分。符号工具例如计算器、代码解释器和神经工具例如单独的LLM通常被使用。工具有时被称为专家或模块。代码生成代理Code-Generation Agents程序辅助语言模型Program-aided Language Model, PAL直接将问题翻译成代码这些代码被发送到Python解释器以生成答案。工具集成推理代理Tool-Integrated Reasoning Agent, ToRA与PAL类似但它不是单一的代码生成步骤而是在解决问题所需的时间内交错代码和推理步骤。TaskWeaver与PAL类似将用户请求转换为代码但也可以利用用户定义的插件。基于观察的代理Observation-Based Agents一些代理被设计为通过与玩具环境交互来解决问题。这些基于观察的代理在其提示中接收插入的观察结果。推理和行动Reasoning and Acting, ReAct在给定问题时生成一个想法采取行动并接收观察结果并重复此过程。所有这些信息都插入到提示中因此它具有过去的想法、行动和观察的记忆。Reflexion在ReAct的基础上增加了一层自省。它获得一系列行动和观察结果然后给出成功/失败的评估。然后它生成对其行为和出错原因的反思。这种反思被添加到其提示中作为工作记忆然后重复该过程。终身学习代理Lifelong Learning AgentsLLM集成的Minecraft代理的工作产生了令人印象深刻的结果代理能够在这个世界开放的视频游戏中导航时获得新技能。我们不仅将这些代理视为将代理技术应用于Minecraft而是将它们视为可以在需要终身学习的真实世界任务中探索的新型代理框架。Voyager由三部分组成。首先它为自己提出任务以更多地了解世界。其次它生成代码来执行这些行动。最后它将这些行动保存起来以便在有用时检索作为长期记忆系统的一部分。这个系统可以应用于需要代理探索和与工具或网站交互的真实世界任务例如渗透测试、可用性测试。Ghost in the MinecraftGITM从任意目标开始递归地将其分解为子目标然后通过产生结构化文本例如equip(sword)而不是编写代码来迭代规划和执行行动。GITM使用Minecraft项目的外部知识库来协助分解并拥有过去经验的记忆。检索增强生成Retrieval Augmented Generation, RAGRAG是一种从外部源检索信息并将其插入提示中的范式。这可以增强知识密集型任务的性能。当检索本身被用作外部工具时RAG系统被视为代理。验证和编辑Verify-and-Edit通过生成多个思维链然后选择一些进行编辑来改进自一致性。他们通过检索相关外部信息来做到这一点。unsetunset提示词方法评测unsetunset我们使用相同的通用提示模板对六种不同的提示技术进行基准测试。这个模板显示了提示的不同组件的位置。每个提示中只有基础指令和问题。基础指令是一个短语如“解决问题并返回ABC或D。零样本作为基线我们直接通过模型运行问题不使用任何提示技术。对于这个基线我们使用了两种格式以及三种措辞变化的基础指令。因此在这个基准测试中有六种方式通过2800个问题。这没有包括任何范例或思维引导器。最后的最后感谢你们的阅读和喜欢作为一位在一线互联网行业奋斗多年的老兵我深知在这个瞬息万变的技术领域中持续学习和进步的重要性。为了帮助更多热爱技术、渴望成长的朋友我特别整理了一份涵盖大模型领域的宝贵资料集。这些资料不仅是我多年积累的心血结晶也是我在行业一线实战经验的总结。这些学习资料不仅深入浅出而且非常实用让大家系统而高效地掌握AI大模型的各个知识点。如果你愿意花时间沉下心来学习相信它们一定能为你提供实质性的帮助。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】大模型知识脑图为了成为更好的 AI大模型 开发者这里为大家提供了总的路线图。它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。经典书籍阅读阅读AI大模型经典书籍可以帮助读者提高技术水平开拓视野掌握核心技术提高解决问题的能力同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说阅读经典书籍是非常有必要的。实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。面试资料我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表