分享好友 最新动态首页 最新动态分类 切换频道
2024年 AI Agents 技术栈全面解析
2024-12-26 22:39

Letta 是一家专注于 AI agents 的公司,提供开源工具和云服务,帮助开发者构建、部署和管理具有记忆能力和工具调用能力的 AI agents。

原文:https://www.letta.com/blog/ai-agents-stack
(由ChatGPT翻译

理解AI Agents 的生态版图

尽管市面上已经有许多关于代理技术堆栈和代理市场的地图,但我们往往对其分类方式持不同意见,并发现它们很少真实反映开发者实际使用的工具和技术。在过去的几个月中,随着记忆机制、工具使用、安全执行以及部署等方面的进展,代理软件生态系统取得了显著发展。因此,我们决定基于我们一年多的开源AI开发经验和七年以上的AI研究积累,分享我们自己的“代理技术堆栈”。

2024 年底的 AI agents 技术栈,分为三个关键层次

agent 托管/服务、agent 框架以及 LLM 模型与存储。

在 2022 年和 2023 年,我们见证了 LLM 框架和 SDK 的兴起,例如 LangChain(于 2022 年 10 月发布)和 LlamaIndex(于 2022 年 11 月发布)。同时,也出现了一些“标准”平台,用于通过 API 消费 LLMs,以及自部署的 LLM 推理工具(如 vLLM 和 Ollama)。

到了 2024 年,市场对 AI “agents” 以及更广泛意义上的复合系统的兴趣发生了显著转变。尽管“agents”作为 AI 领域的一个术语已存在数十年(尤其是在强化学习中,但在 ChatGPT 之后的时代,“agents” 成为了一个定义较为宽泛的概念,通常指被赋予任务以输出动作(工具调用)并在自主环境中运行的 LLMs。

从 LLM 转变为 agent 所需的工具使用、自主执行以及记忆机制的结合,推动了新的 agents 技术堆栈的开发。

与基础的 LLM 聊天机器人相比,agents 面临着更大的工程挑战。这是因为它们需要进行状态管理(保留消息/事件历史、存储长期记忆、在 agents 循环中执行多次 LLM 调用)以及工具执行(安全地执行 LLM 输出的动作并返回结果)。

因此,AI agents 的技术堆栈与传统的 LLM 技术堆栈有很大的不同。接下来,我们将从最底层的模型服务层开始,逐步剖析当今的 AI agents 技术堆栈

模型服务

在 AI agents 的核心是 LLM。为了使用 LLM,模型需要通过推理引擎提供服务,这通常运行在收费的 API 服务背后。

在基于封闭 API 的模型推理提供商中,OpenAI 和 Anthropic 凭借私有的前沿模型处于领先地位。Together.AI、Fireworks 和 Groq 是一些流行的选项,它们通过收费 API 提供开放权重模型(如 Llama 3)的服务。在本地模型推理提供商中,vLLM 是生产级 GPU 服务负载的领先者,而 SGLang 则是一个面向类似开发者群体的新兴项目。

对于爱好者(“AI 爱好者”,Ollama 和 LM Studio 是两种运行本地模型的热门选择,特别适合在个人电脑(例如 M 系列的苹果 MacBook)上运行模型。

存储

存储是构建具备状态的 agents 的基础模块之一。agents 的定义依赖于持久化的状态,例如其对话历史、记忆,以及用于 RAG(检索增强生成)的外部数据源。

向量数据库在存储 agents 的“外部记忆”方面非常流行,例如 Chroma、Weaviate、Pinecone、Qdrant 和 Milvus。它们允许 agents 利用无法放入上下文窗口的大量数据源和对话历史。此外,自上世纪 80 年代起便存在的传统数据库 Postgres,现在也通过 pgvector 扩展支持向量搜索。

一些基于 Postgres 的公司也在为 agents 提供嵌入式搜索与存储功能,例如 Neon(无服务器 Postgres)和 Supabase,它们同样是这一领域的重要玩家。

工具&库

标准 AI 聊天机器人与 AI agents 之间的主要区别之一在于 agents 能够调用“工具”(或称“函数”)。在大多数情况下,这种调用机制是由 LLM 生成结构化输出(例如 JSON 对象,指定要调用的函数及其参数来实现的。

关于 agent 工具执行的一个常见误解是,工具的实际执行并非由 LLM 提供商完成。LLM 的职责仅限于选择调用哪个工具以及提供哪些参数。支持任意工具或参数的 agent 服务必须使用沙盒环境(如 Modal、E2B)来确保安全执行。

所有 agents 都通过 OpenAI 定义的 JSON 架构调用工具,这意味着不同框架下的 agents 和工具可以实现兼容。例如,Letta agents 能够调用 LangChain、CrewAI 和 Composio 的工具,因为它们遵循相同的架构。正因如此,一个为常用工具服务的生态系统正在快速成长。

Composio 是一个流行的通用工具库,同时负责授权管理;Browserbase 是用于网页浏览的专用工具;而 Exa 则提供了专注于网络搜索的工具。随着更多 agents 的开发,我们预计工具生态系统将进一步扩大,并引入新功能,例如针对 agents 的认证与访问控制服务。


Agent 框架:编排 LLM 调用与管理 agent 状态

Agent 框架负责协调 LLM 调用并管理 agent 的状态。不同的框架在以下几个方面设计有所不同

1. Agent 状态管理

大多数框架引入了某种“状态序列化”的概念,允许将 agent 的状态(如对话历史、记忆和执行阶段)序列化为文件(如 JSON 或字节,以便稍后重新加载至同一脚本中。而在 Letta 中,所有状态均由数据库支持(如消息表、agent 状态表、记忆块表,因此不存在“序列化”概念,因为状态始终持久化存储。这种方式便于查询 agent 状态,例如按日期查找过去的消息。

状态的表示与管理方式不仅决定了 agent 应用程序能否随着对话历史延长或 agent 数量增加而扩展,还影响了状态访问和修改的灵活性。

2. Agent 上下文窗口的结构

每次调用 LLM 时,框架都会将 agent 的状态“编译”到上下文窗口中。不同框架对上下文窗口中数据(如指令、消息缓冲区等)的组织方式各异,从而影响性能。我们建议选择能使上下文窗口透明的框架,因为这直接影响您对 agent 行为的控制能力。

3. Agent 间的通信(多 agent 系统

Llama Index 通过消息队列实现 agents 间通信,而 CrewAI 和 AutoGen 提供了明确的抽象器来支持多 agent 系统。Letta 和 LangGraph 则允许 agents 直接相互调用,从而支持集中式(通过监督 agent)或分布式通信。大多数框架目前都同时支持单 agent 和多 agent 系统,因为设计良好的单 agent 系统应易于扩展为多 agent 协作。

4. 记忆管理的方法

由于 LLM 存在上下文窗口的限制,必须通过技术手段管理记忆。部分框架内置记忆管理功能,而另一些则要求开发者自行管理。CrewAI 和 AutoGen 仅依赖于基于 RAG(检索增强生成)的记忆,而 phidata 和 Letta 采用了额外技术,如自编辑记忆(来自 MemGPT)和递归总结。Letta agents 自带一套记忆管理工具,允许 agents 按文本或日期搜索历史消息、撰写记忆并编辑自身的上下文窗口。

5. 对开放模型的支持

模型提供商通常会在幕后执行许多操作,使 LLM 以正确格式生成文本(如工具调用)。例如,当 LLM 没有生成正确的工具参数时,重新采样其输出,或在提示中添加线索(如“请以 JSON 格式输出”)。支持开放模型要求框架能够处理这些挑战,因此有些框架仅支持主流模型提供商。

如何选择合适的框架

在构建 agent 时,选择框架需根据具体应用而定,例如您是构建对话型 agent 还是工作流型 agent,是否希望在 notebook 中运行 agent 或作为服务运行,以及对开放权重模型支持的要求。

我们预计,各框架在部署工作流上的设计差异将成为主要竞争点,尤其是在状态/记忆管理和工具执行的设计选择上,这些将对实际应用产生更大的影响。

大多数 agent 框架的现状与未来趋势

目前,大多数 agent 框架设计的 agents 仅限于存在于编写它们的 Python 脚本或 Jupyter notebook 中。然而,我们认为 agents 的未来应是作为服务存在,部署在本地或云基础设施中,并通过 REST API 提供访问。正如 OpenAI 的 ChatCompletion API 已成为与 LLM 服务交互的行业标准,我们预期未来也会出现一个统一的 Agents API 标准,但这一“赢家”尚未出现。

将 agents 部署为服务比将 LLM 部署为服务复杂得多,这主要归因于状态管理和安全工具执行的问题。工具及其所需的依赖和环境必须显式存储在数据库中,因为服务需要重新创建运行工具的环境(而当工具与 agents 在同一脚本中运行时,这并不是问题)。

此外,应用可能需要运行数百万个 agents,每个 agent 的对话历史不断增长。从原型开发到生产阶段,不可避免地需要对 agent 状态进行数据规范化处理,同时通过 REST API 定义 agent 的交互方式。目前,这一过程通常由开发者自行编写 FastAPI 和数据库代码来完成,但我们预计,随着 agents 的成熟,这些功能将更深地集成到框架中。


Agent 技术栈仍处于非常早期的发展阶段,但我们对其生态系统未来的扩展和演变充满期待。

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以,免费领取【】

最新文章
谷歌paypal官网版
谷歌paypal官网版是一款相较于同类型软件功能更为强大的海外软件应用商店下载平台,这款软件不仅提供详尽的软件介绍,让你轻松了解软件细节,还内置了强大的清理功能,能彻底清理手机垃圾,让手机运行更流畅。无论是寻找实用工具还是优化手
花莲未来一周天气预报30天,莲花县未来30天天气预报
成都正月气温——成都属亚热带湿润季风气候区,气候温和,四季分明,无霜期长,雨量充沛,日照少。年平均气温16.2℃,年最高气温37.3℃,年极端最低气温-5.9℃,最热。…未来一周成都天气情况-未来一周成都天气情况:2月28日(今天)白天:多云
经典文献阅读之--A Fast Dynamic Point Detection...(用于驾驶场景中的动态点云剔除方法)
现有的基于3D点的动态点检测和移除方法存在显著的时间开销,使其难以适应激光雷达-惯性测程系统。《A Fast Dynamic Point Detection Method for LiDAR-Inertial Odometry in Driving Scenarios》提出了一种基于标签一致性的动态点检
漫画台 v3.2.5 解锁会员版
应用名字:漫画台app应用包名:com.comic.manhuatai应用版本:3.2.5应用大小:101.36MB测试手机:雷电模拟器 Android 7.1.2漫画台APP是一款汇聚海量正版漫画杂志的追漫神器,提供丰富的漫画资源,你想看的这里都有。1,超多漫画享不停:超
巅峰玩家
本书比较慢热,新手村章节套路较老,最好能耐心看到出新手村。作品相关里的序卷设定内容可以不看,不影响阅读。———————————————————————————————丁飒,1米80的个头,稍微显瘦的身材,一撮竖一撮弯可以让鸟
惊喜哥排列三排列五第2024332期惊喜码分享:防早产号721中出组选
排列三排列五第2024331期开奖结果【上期回顾】 排列三/排列五第2024331期开奖号712,大小比1:2,奇偶比2:1,和值10,跨度6,凹组合,奖号类型组六,连号12,路数112路断0路;同期排列五开奖号71227,大小比2:3,奇偶比3:2,和值19,跨度6
百度将于12月全面切换凤巢系统 关闭竞价排名
网易科技讯 10月27日消息,百度CEO李彦宏今日透露,百度客户将于2009年12月1日全面向凤巢系统切换。这也意味着,百度沿用了8年之久的竞价排名系统将正式关闭。有分析认为,要同时维护搜索推广专业版和经典版两个平台,在一定程度上将增加企
《班级优化大师手机版》软件优势:
班级优化大师手机版是一款给用户提供了大量管理课堂工具的软件,操作方式上非常的容易和简单,能够进行家校的直接沟通,同时也能够提高老师的管理效率,所有的数据都会自动的记录,非常的准确,同时也可以进行直接的归档,方便家长更好地查
百度蜘蛛池排名第几,探索搜索引擎优化中的关键策略,百度蜘蛛池排名第几位
百度蜘蛛池排名在搜索引擎优化中是一个重要的指标,它反映了网站被百度搜索引擎爬虫抓取和收录的频率和深度。通过优化网站结构、内容质量和外部链接等关键策略,可以提高百度蜘蛛池的排名,从而增加网站的曝光率和流量。具体的排名位置会受
绝地SEO攻略,破解竞争,独树一帜的市场制胜之道
绝地SEO在竞争激烈的市场中脱颖而出,关键在于深入理解用户需求,结合精准关键词优化,创新内容策略,强化社交媒体互动,持续优化用户体验,同时利用数据分析调整策略,以实现网站流量和率的持续增长。随着互联网的快速发展,越来越多的企
相关文章
推荐文章
发表评论
0评