AI Agent入门:Agent角色指令设计

共 4003字,需浏览 9分钟

 ·

2024-07-11 11:00




向AI转型的程序员都关注公众号 机器学习AI算法工程






0、概要


Agent是干什么的?Agent的核心思想是使用语言模型(LLM)作为推理的大脑,以制定解决问题的计划、借助工具实施动作。在agents中几个关键组件如下:



LLM:制定计划和思考下一步需要采取的行动。


Tools:解决问题的工具


Toolkits:用于完成特定目标所需的工具组。一个toolkit通常包含3-5个工具。


AgentExecutor:AgentExecutor是agent的运行时环境。这是实际调用agent并执行其选择的动作的部分。




1、Agent整体架构


代理(Agents)涉及LLM做出决策以确定要采取哪些行动,执行该行动,查看观察结果并重复执行步骤直到完成。



在LLM驱动的自主代理系统中,LLM充当代理的大脑,并辅以几个关键功能:


规划


子目标拆解解:agent将大型任务拆解为小型的、可管理的子目标,从而能够高效处理复杂任务。


反思和改进:agent可以从过去的行为中进行自我批评和自我反省。这种从错误中吸取教训,并对未来的步骤进行改进的思维可以有效提高最终结果。真种思维方式来自ReAct,其大致格式为:Thought: ...Action: ...Observation: ... (Repeated many times)。即为ReAct模式。





记忆


短期记忆:上下文学习是利用模型的短期记忆来学习的。


长期记忆:通过利用外部向量存储和快速检索,agen可以实现长时间保留和回忆(无限)信息的能力。





工具使用


代理学习调用外部 API 以获取模型权重中缺少的额外信息(通常在预训练后很难更改),包括当前时讯、代码执行能力、对私有信息源的访问等。自然可以自定义工具使用,如本地向量数据库查找。


自定义工具方法类:





2、Agent业务实现逻辑


Agent的业务流程如下图所示:


1. 用户提出问题


2. Agent基于预设的Prompt,将问题包装之后送给LLM


3. LLM返回给Agent结果和需要使用的工具


4. Agent使用工具获取必要信息


5. 工具返回给Agent获取到的信息


6. 打包上下文发再次送给LLM


7. LLM返回给Agent结果


8. Agent给用户返回最终结果





3、LangChain中Agent实现


 LangChain为代理提供了标准接口,一系列可供选择的代理类型





langchain中agent有两种主要类型:


动作代理人(Action agents):在每个时间步上,使用所有先前动作的输出决定下一个动作。



  1. 接收用户输入


  2. 决定是否使用任何工具以及工具输入


  3. 调用工具并记录输出(也称为“观察结果”)


  4. 使用工具历史记录、工具输入和观察结果决定下一步


  5. 重复步骤 3-4,直到确定可以直接回应用户



计划执行代理人(Plan-and-execute agents):预先决定所有动作的完整顺序,然后按照计划执行,而不更新计划。



  1. 接收用户输入


  2. 规划要执行的全部步骤序列


  3. 按顺序执行步骤,将过去步骤的输出作为未来步骤的输入


  4. 动作代理人适用于小任务,遵循ReAct模式。而计划执行代理人适用于复杂或长时间运行的任务,这些任务需要保持长期目标和重点。





4. Agent示例代码







Agent角色指令的概念


1、角色指令的定义



  • 决定AI智能体的行为


  • 决定AI智能体的输出效果


  • 匹配场景使用






2、角色指令的万能公式


角色设定万能公式 = 角色设定 + 使用场景 + 工具 + 限制 + 输出样式(附加:+例子)



  • 角色设定:设定您想让Agent扮演的角色,可以给出一些您期望它具备的能力。


  • 使用场景+工具:描述您的应用背景,并给出相应背景下使用的工具,让大模型可以在更为精确的场景下用匹配的工具行动。


  • 限制:明确当用户输入什么信息下生成什么样的结果,使得答案更为精准。


  • 输出样式:输出风格和格式要求,使大模型更为匹配您的需求。可以附带一些例子,使其理解更为透彻。






角色指令的优化策略


1、角色设定策略


给出角色设定请尽可能清晰简短,尽量直接表述角色名称,同样也可以附加一些你所期望的能力作为补充。





2、工具选择


代码解释器:代码解释器支持应用运行代码,具备分析数据、url信息提炼、处理上传文件、数学运算等功能。


文生图:大模型将结合文心一格生成对应图像。


知识问答-百度搜索:大模型将结合百度搜索结果回答问题。


知识问答-知识库检索:大模型将基于您上传的知识文档回答问题,可选择直接上传文件,或选择已有知识集合。知识集合相关内容可查看文档我的知识。





3、场景工具策略



  • 尽可能一一对应


  • 做出描述


  • 简洁、直接






4、限制



  • 尽可能一一对应


  • 描述越具体越好








5、输出样式策略



  • 清晰明了


  • 提出具体的要求


  • 例如:字数、回答样式等








6、给出示例



  • 主要用于需要有特定回复的时候


  • 请给出特定的问题和相应答复








机器学习算法AI大数据技术


 搜索公众号添加: datanlp



长按图片,识别二维码








阅读过本文的人还看了以下文章:




整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主




《大语言模型》PDF下载




动手学深度学习-(李沐)PyTorch版本




YOLOv9电动车头盔佩戴检测,详细讲解模型训练




TensorFlow 2.0深度学习案例实战




基于40万表格数据集TableBank,用MaskRCNN做表格检测




《基于深度学习的自然语言处理》中/英PDF




Deep Learning 中文版初版-周志华团队




【全套视频课】最全的目标检测算法系列讲解,通俗易懂!




《美团机器学习实践》_美团算法团队.pdf




《深度学习入门:基于Python的理论与实现》高清中文PDF+源码




《深度学习:基于Keras的Python实践》PDF和代码




特征提取与图像处理(第二版).pdf




python就业班学习视频,从入门到实战项目




2019最新《PyTorch自然语言处理》英、中文版PDF+源码




《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码




《深度学习之pytorch》pdf+附书源码




PyTorch深度学习快速实战入门《pytorch-handbook》




【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》




《Python数据分析与挖掘实战》PDF+完整源码




汽车行业完整知识图谱项目实战视频(全23课)




李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材




笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!




《神经网络与深度学习》最新2018版中英PDF+源码




将机器学习模型部署为REST API




FashionAI服装属性标签图像识别Top1-5方案分享




重要开源!CNN-RNN-CTC 实现手写汉字识别




yolo3 检测出图像中的不规则汉字




同样是机器学习算法工程师,你的面试为什么过不了?




前海征信大数据算法:风险概率预测




【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类




VGG16迁移学习,实现医学图像识别分类工程项目




特征工程(一)




特征工程(二) :文本数据的展开、过滤和分块




特征工程(三):特征缩放,从词袋到 TF-IDF




特征工程(四): 类别特征




特征工程(五): PCA 降维




特征工程(六): 非线性特征提取和模型堆叠




特征工程(七):图像特征提取和深度学习




如何利用全新的决策树集成级联结构gcForest做特征工程并打分?




Machine Learning Yearning 中文翻译稿




蚂蚁金服2018秋招-算法工程师(共四面)通过




全球AI挑战-场景分类的比赛源码(多模型融合)




斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)




python+flask搭建CNN在线识别手写中文网站




中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程






不断更新资源


深度学习、机器学习、数据分析、python


 搜索公众号添加: datayx  











浏览 183
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报