AI Agents:你的虚拟员工

APPLICATION Nov 28, 2024

人工智能代理(AI Agent)的兴起正在重塑我们构建和思考软件的方式。我们现在不只是编写代码并指导计算机做什么,而是教它们如何思考。

人工智能代理是构建智能系统的一种新方式。它们利用 LLM,将自动化和认知融入到工具中,这些工具不仅遵循命令,它们还会推理、做出决策、采取行动,甚至随着时间的推移进行学习。

我一直在尝试使用框架来了解代理的工作原理和可能性(强烈推荐 LangChain 学院!)。在本文中,我将分享使用代理的主要经验和想法,以及它们为何代表了与技术互动方式的根本转变。

1、什么是代理?

与遵循一组固定指令的传统程序不同,代理是一种新型软件,它使用 LLM 和智能来找出需要做什么、如何做,然后自行完成。

如果这听起来有点抽象,那么以下是该领域的一些领导者对此的解释:

LangChain:“……一个使用 LLM 来决定应用程序控制流的系统。”(LangChain 的 Harrison Chase 写了一篇很棒的文章“代理是什么意思?”)
NVIDIA:“……一个可以使用 LLM 推理问题、制定解决问题的计划并在一系列工具的帮助下执行计划的系统。”
AWS:“……一个可以与其环境交互、收集数据并使用数据执行自主任务以实现预定目标的软件程序。”
Andrew Ng:参见此处

无论是帮助用户规划行程、自动化工作流程还是回答问题,代理都是使软件更强大、更有用的一大飞跃。

2、我们是如何获得代理的?

LLM 已经从仅仅生成文本和推理发展到可以做更多事情。它们现在可以与其他 LLM 协同工作(例如编排),采取现实世界的操作(例如调用工具 API),并长时间跟踪上下文(例如更大的上下文窗口)。

因此,LLM 现在正从被动响应者转变为智能系统,可以承担传统上为人类保留的角色,从客户服务和招聘到法律和建筑等复杂的职业。

3、AI代理的解剖

要了解代理的工作原理以及它们如此强大的原因,让我们探索它们的核心组件:

基于 https://arxiv.org/abs/2309.07864
感知

代理需要从用户或环境中获取输入。输入可以是聊天文本、语音呼叫、图像或 API 调用,任何用于与代理交互的内容。这些数据对于代理理解其周围环境和上下文至关重要。

示例:航空旅行代理通过聊天界面处理用户请求。从“预订 10 月 5 日至 10 日往返纽约的航班”中提取关键细节,例如日期、目的地和偏好,以有效地指导搜索……

大脑

AI 代理(LLM)的“大脑”负责推理、规划和适应。

  • 推理涉及分析输入、分解复杂任务和生成潜在解决方案。
  • 规划允许代理随时间对操作进行排序,确保高效完成任务。
  • 适应性使代理能够响应动态环境(例如对话)或不断变化的信息。

示例:……在获取航班请求后,代理会识别诸如查找出站和回程航班之类的任务,并定义需要哪些步骤和操作来帮助客户根据他们的偏好预订航班等……

记忆

AI 代理中的记忆有两种形式:短期记忆是基于会话的,依靠 LLM 的上下文窗口来跟踪最近的交互并确保连贯的响应。另一方面,长期记忆通常存储在外部数据库中,允许代理访问和交叉引用过去的对话或用户随时间变化的偏好。

示例:...旅行社在会话期间跟踪日期和舱位的当前选择,同时使用长期记忆来回忆过去的偏好,例如首选航空公司或常旅客详细信息...

知识

除了记忆之外,代理还可以利用公司特定的知识库,例如常见问题解答、文档或标准操作程序。这些知识通常存储在文档和向量数据库中,并对其进行检索以改进推理和决策。

示例:...客户向旅行社询问行李政策和升级选项,代理检索公司特定的政策以确保它正确解决这些用户查询...

行动

工具是使代理真正强大的东西。LLM 可以决定何时以及如何使用 API 等工具来查询其他数据、更新系统或执行实际操作。这种在正确的时间动态选择正确工具的能力使代理能够灵活、高效地运作

高效、无缝地与现有系统集成以交付成果。

示例:...代理可以调用​​航空公司 API 来实时获取航班选项、价格和座位可用性。一旦用户批准,它就会调用 API 购买并通过电子邮件发送详细行程来完成预订。

4、设计AI代理

设计有效的 AI 代理就像雇用和入职新员工一样:我们需要认为我们基本上是在创造工人。

通过定义代理的角色、职责、工具、交互和学习途径,我们确保它高效运行并与组织目标保持一致。

以下是设计代理的每个步骤与招聘的相似之处:

定义代理的角色和目标

代理必须具有角色和目标 — 它正在解决什么问题以及它存在的原因。这是它的“工作描述”。它是客户服务代理还是数据研究人员?代理正在解决什么问题?它的用户是谁?成功是什么样子的?

提示:将角色与可衡量的结果联系起来,并定期重新审视以确保其随着业务需求而发展。

概述任务和计划

接下来,定义代理的任务和工作流程。代理需要做什么以及如何做:剧本或例程。定义分步流程是大多数迭代将发生的地方,定义关键任务是什么?可能出现哪些极端情况?它必须遵循哪些规则?

提示:在复杂性和一致性之间找到平衡:流程越复杂或代理必须执行的任务越多,它就越容易失败。

以下是 Google 代理中目标和说明的定义方式:

使用剧本构建代理 - Google
定义记忆

记忆让代理保持一致并学习。短期记忆跟踪最近的交互,而长期记忆将历史细节存储在外部数据库中:在会话期间应该保留哪些信息?哪些数据必须随时间而保留?

提示:首先定义最有价值的数据(例如经常访问的客户详细信息),然后逐步构建内存系统,确保可扩展性而不会让代理不堪重负。

启动长期记忆支持 - LangGraph
配备知识

与需要访问手册或公司文档的员工类似,代理需要常见问题解答或产品目录等知识来提供准确的响应。代理需要哪些知识来源?如何保持这些知识的最新状态?什么格式可以确保轻松检索?

提示:使用矢量数据库或 RAG 技术等工具并安排更新以确保知识保持相关性。

配备工具

工具对于代理来说就像软件和系统对于员工一样 - 它们可以采取行动。代理调用 API 来查询数据、更新记录或预订会议。需要哪些 API?它们可用还是需要开发?哪些权限可以确保安全使用?

提示:定义特定用途的工具并实施基于角色的权限,就像为员工提供正确的软件和访问级别以高效安全地完成工作一样。

请记住,LLM 决定何时以及如何调用这些 API,因此迭代并将这些工具纳入任务定义非常重要。以下是 OpenAI 定义 LLM 如何调用工具的方式:

函数调用 — OpenAI

5、设计代理团队

复杂问题很少由一个人单独解决,代理也是如此。与使用一个大型的通用代理相比,一个由专门的代理组成的团队可以更有效地处理任务。

例如,一个代理可能收集数据,另一个代理可能分析数据,第三个代理可能生成解决方案,第四个代理可能改进这些解决方案。这些代理协同工作,根据需要将任务交给彼此,就像团队中的同事一样。

随着复杂性的增加,管理和扩展代理变得更具挑战性。常见问题包括代理拥有太多工具,并且对使用哪种工具做出错误的决定,难以管理过于复杂的环境,或者需要规划者、研究人员或数学专家等专门角色来处理特定任务。

这种模块化的“多思维”方法降低了复杂性并确保了可靠性。代理还可以委派他们无法处理的任务,通过让单个代理专注于较小的范围来提高整体性能。

通过创建一个合作代理网络,你实际上是在构建一个 AI 劳动力队伍,能够作为一个协调系统解决复杂问题——就像一个由熟练的员工组成的团队一起解决一个具有挑战性的项目一样。

多代理系统——LangChain

6、超越 POC:部署代理

构建有效的代理本质上是迭代的。第一个版本永远不会是最终版本。现实世界的条件揭示了边缘情况、隐藏的假设和开发过程中不明显的新可能性。

员工通过反馈、评论和在职经验成长——代理也不例外。通过收集反馈,如用户通过分析或错误日志并整合更新,代理可以随着时间的推移改进其行为和性能。

AI 代理正在通过超越严格的规则转向动态的推理驱动系统来彻底改变自动化。它们的自主性很强大,但也带来了信任、安全和运营监督方面的挑战。

7、更多考虑因素:安全、运营等

AI 代理正在改变自动化,但部署它们也带来了挑战。扩展团队或初创公司的相同挑战,例如:

安全必须是基础——与员工一样,代理需要 SSO、基于角色的权限和凭证管理等保护措施,以确保他们只访问必要的内容。护栏、日志记录、审计和凭证轮换对于保持合规性、保护敏感数据和建立信任至关重要。

运营同样重要。正如 COO 跟踪和优化工作流程一样,代理需要审计和绩效跟踪工具,以确保它们随着时间的推移保持有效、可靠和适应性。

我们正处于技术构建方式转变的早期阶段。 AI 代理不仅仅是自动化工具,它们还是数字协作者。


原文链接:AI Agents: How to build Digital Workers

汇智网翻译整理,转载请标明出处

Tags