机器学习算法与Python实战 | AI Agent入门:Agent角色指令设计

本文来源公众号“机器学习算法与Python实战”,仅用于学术分享,侵权删,干货满满。

原文链接:AI Agent入门:Agent角色指令设计

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示例代码

5、Agent角色指令的概念

5.1 角色指令的定义
  • 决定AI智能体的行为

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

  • 匹配场景使用

5.2 角色指令的万能公式

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

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

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

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

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

6、角色指令的优化策略

6.1 角色设定策略

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

6.2 工具选择

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

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

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

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

6.3 场景工具策略
  • 尽可能一一对应

  • 做出描述

  • 简洁、直接

6.4 限制
  • 尽可能一一对应

  • 描述越具体越好



图片

6.5 输出样式策略
  • 清晰明了

  • 提出具体的要求

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



6.6 给出示例
  • 主要用于需要有特定回复的时候

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

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

  • 27
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值