目前常见的 AI Agent 框架主要有以下几种:
此外,行业里常用于为 LLM 增加工具、记忆、行动、规划等能力的框架是 LangChain,它把 LLM 与 LLM 之间以及 LLM 与工具之间通过代码或 prompt 的形式进行串接。AutoGPT 被描述为使 GPT-4 完全自主的实验性开源尝试,也是一种重要的框架。但需要注意的是,当前大多数代理框架都处于概念验证阶段,还不能可靠、可重现地完成任务。
在构建基于LLM的应用时,我们建议先寻找最简单的解决方案,只在必要时增加复杂度。这可能意味着完全不使用智能系统。智能系统通常会以延迟和成本为代价来换取更好的任务表现,开发者需要考虑这种权衡是否合理。当需要更复杂的解决方案时,工作流适合需要可预测性和一致性的明确任务,而智能体则更适合需要灵活性和模型驱动决策的大规模场景。然而,对于许多应用来说,优化单个LLM调用(配合检索和上下文示例)通常就足够了。[heading3]什么时候以及如何使用框架[content]目前有许多框架可以简化智能系统的实现,包括:LangChain的LangGraph亚马逊Bedrock的AI Agent框架Rivet(一个拖放式GUI的LLM工作流构建器)Vellum(另一个用于构建和测试复杂工作流的GUI工具)这些框架通过简化标准的底层任务(如调用LLM、定义和解析工具、链接调用等)使入门变得容易。但它们往往会创建额外的抽象层,这可能会使底层提示词和响应变得难以调试。它们也可能诱使开发者在简单设置就足够的情况下增加不必要的复杂性。我们建议开发者先直接使用LLM API:许多模式只需要几行代码就能实现。如果确实要使用框架,请确保理解底层代码。对底层机制的错误假设是客户常见的错误来源。详细示例请参考我们的实践指南。https://github.com/anthropics/anthropic-cookbook/tree/main/patterns/agents[heading3]构建模块、工作流和智能体[content]在这一部分,我们将探讨我们在生产环境中观察到的智能系统常用模式。我们将从基础构建模块——增强型LLM开始,逐步增加复杂度,从简单的组合工作流到自主智能体。
agent算是从年前到现在,比较火的一个概念了,也被很多人认为是大模型的未来的一个主要发展方向。首先我们看这个很经典的一张图看起来还是蛮复杂的,然后市面上的很多描述agent的文章写的也比较复杂,说智能体是啥智能的最小单元,相较于copilot,是可以给他设定一个目标后主动完成任务的等等。当然这些说法都没错,但是我觉得还是有些不好理解的。所以我们依然先从原理着手去理解下,agent是个什么东西。首先这张图里,中间的“智能体”,其实就是llm,或者说大模型。四个箭头,分别是我们为llm增加的四个能力。工具、记忆、行动、规划。那么这个是怎么新增的呢?目前行业里主要用到的是一个叫langchain的框架,这个框架可以简单理解为,他把llm和llm之间,以及llm和工具之间,通过代码或prompt的形式,进行了串接。这个其实也像是在rag的基础上再进了一步。因为我们知道rag其实是给了大模型一个浏览器工具来使用嘛,那agent,其实就是给了大模型更多的工具。比如像是长期记忆,其实就是给了大模型一个数据库工具让其往里记录重要信息。规划和行动,其实就是在大模型的prompt层做的些逻辑,比如让其将目标进行每一步的拆解,拆解完成后,每一步去输出不同的固定格式action指令,给到工具作为输入。当然langchain或者说agent还不止这些,也会有很多其他的代码逻辑体现在其中,不过其主要的主干逻辑,其实还是在prompt层和工具层,完成的设计。
此参考架构中缺少的最重要组件是AI代理框架。[AutoGPT](https://github.com/Significant-Gravitas/Auto-GPT)被描述为“使GPT-4完全自主的实验性开源尝试”,是今年春天[历史上增长最快的Github项目](https://twitter.com/OfficialLoganK/status/1647757809654562816),实际上今天的每个AI项目或初创公司都包含某种形式的代理。与我们交谈的大多数开发人员都对代理的潜力感到非常兴奋。我们在这篇文章中描述的上下文学习模式可有效解决幻觉和数据新鲜度问题,以便更好地支持内容生成任务。另一方面,代理为人工智能应用程序提供了一组全新的功能:解决复杂的问题,解决复杂问题,对外界采取行动,以及在部署后从经验中学习。他们通过高级推理/规划、工具使用、记忆/递归/自我反思的组合来实现这一点。因此,代理有可能成为LLM应用程序架构的核心部分(如果您相信递归自我改进,甚至可以接管整个堆栈)。像LangChain这样的现有框架已经包含了一些代理概念。只有一个问题:代理还没有真正起作用。今天的大多数代理框架都处于概念验证阶段——能够进行令人难以置信的演示,但还不能可靠、可重现地完成任务。我们正在密切关注它们在不久的将来会如何发展。[heading2]展望未来[content]预训练的AI模型代表了自互联网以来软件架构的最重要的变化。他们使得个人开发者能够在几天内构建出令人难以置信的AI应用,这些应用超过了大团队花费几个月时间构建的监督机器学习项目。我们在此处列出的工具和模式可能是集成LLM的起点,而不是终点。我们将在发生重大变化时更新此信息(例如,转向模型训练)并在有意义的地方发布新的参考架构。如果您有任何反馈或建议,请联系我们。