继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

自主AI框架:开源方案深度评测

达令说
关注TA
已关注
手记 350
粉丝 22
获赞 126
0、大型语言模型

如果您不是平台会员但仍希望阅读本文,请查阅 此处的好友链接

大家想必都已听说过 CrewAIAutoGen,但您是否知道,目前已有数十种开源智能体框架,其中许多是在过去一年内发布的?

我挑选了一些较为流行的框架进行了初步测试,以了解它们的工作原理及上手难度。接下来,我将带您逐一探索这些工具的特色。

我们将重点关注 LangGraphAgnoSmolAgentsMastraPydantic AIAtomic Agents,并将它们与 CrewAIAutoGen 进行对比。

image如何比较不同的框架

1、智能体

智能体 AI 的核心在于构建以大型语言模型(LLM)为基础的系统,使其能够获取准确知识、访问数据并执行操作。简而言之,就是利用自然语言实现流程与任务的自动化。

利用自然语言处理实现自动化并非全新概念——多年来我们一直使用 NLP 技术进行数据提取与处理。其新颖之处在于,我们现在可以赋予语言模型更高的自主性,使其能够处理模糊信息并动态做出判断。

image使用自然语言进行动态路由——LLM 能够解析模糊指令

然而,大型语言模型虽然能够理解语言,却并不具备自主决策能力——甚至可能并不理解您希望自动化的任务内容。正因如此,构建可靠的智能体系统需要大量的工程设计与调试。

如果您希望获得一份面向初学者的概述,我在 这篇文章 中对智能体 AI 进行了更详尽的介绍。

2、框架的作用是什么?

从根本上说,智能体框架能够帮助您高效地进行工程化设计,并实现数据在大型语言模型(LLM)与外部系统之间的流转。更重要的是,它们提供了更高层次的抽象,让您能够更轻松地构建和部署智能体系统。

假设您需要从头搭建一个系统,让 LLM 能够调用不同的 API(即工具),您首先需要在系统提示中明确定义这些 API。然后,您需要请求 LLM 在生成回复的同时,指出它希望调用哪一个工具,以便系统能够解析并执行相应的 API 调用。

image发送给 LLM 的提示内容(实际内容远比图中复杂)

简而言之,这本质上属于提示工程(prompt engineering)的范畴——它构成了所有智能体框架的基础。

框架通常从两个方面提供支持:一是正确构建提示,确保 LLM 以标准格式返回响应;二是将响应准确路由至对应的工具、API 或文档等资源。

在构建知识系统时,框架通常支持将相关知识库作为上下文持续注入提示中,这与我们构建标准 RAG(检索增强生成)系统的方式类似。

此外,框架还能协助处理错误处理、结构化输出、数据验证、系统可观测性、部署运维等问题,并帮助您更好地组织代码结构,从而支持构建更复杂的系统,例如多智能体协作场景。

不过,也有不少开发者认为使用完整的框架可能过于“重量级”。

关键在于,如果 LLM 无法正确使用工具,或系统出现异常,框架的抽象层可能会增加调试难度。此外,当您切换至不同模型时,原本为特定模型优化的系统提示可能无法顺利迁移,这也可能带来挑战。

正因如此,部分开发者会选择重写框架的某些核心组件(例如 LangGraph 中的 create_react_agent)以获取更精细的控制权。

市面上的框架各有侧重:有的轻量灵活,有的功能丰富且提供额外扩展。无论选择哪种,它们通常都拥有活跃的社区,能帮助您快速上手。一旦掌握了一个框架(包括其底层原理),学习其他框架也会变得事半功倍。

三、主流开源框架概览

我们确实希望借助社区经验来评估各框架的实际表现。然而,流行度最高的框架未必总是最佳选择。

目前广为人知的两个代表是 CrewAIAutoGen

CrewAI 作为高度封装的框架,通过隐藏底层实现细节,助力开发者快速搭建智能体系统。AutoGen专注于实现自主、异步的智能体协作机制,允许智能体按自身逻辑自由交互——这一特性使其更适用于实验性研究场景。

image
热门主流框架对比

LangGraph 仍是业界公认的核心框架之一。其采用图结构设计,支持通过节点构建与智能体连接。相较于前两者,该框架赋予开发者更严格的流程控制权,且不预设智能体的自主决策权限。

需注意的是,不少开发者认为 LangGraph 的抽象层级较高,调试复杂度较大。虽然学习曲线较为陡峭,但掌握核心概念后使用效率将显著提升。

此外,我们还需关注一批新兴框架的崛起。

Agno(原名 Phi-Data)致力于打造极致的开发者体验,其文档体系以清晰简洁著称。该框架具备开箱即用的特性,内置大量功能模块,并通过逻辑分明的抽象层帮助用户快速入门。

SmolAgents 以轻量化见长,创新性地推出通过代码(而非 JSON)进行数据路由的 CodingAgent。该框架还支持直接调用整个 Hugging Face 模型库,极大降低了使用门槛。

image
CodingAgent 采用代码路由数据(突破传统 JSON 模式)

在相对小众的开源框架中,以下项目值得关注:

PydanticAI 基于 Pydantic 构建,采用极简抽象设计,提供高度透明的轻量级框架。特别适合需要严格类型安全、可预测输出验证的场景,助力实现精细化控制与便捷调试。

Atomic Agent 由独立智能体开发者创建,采用模块化构建模式,像乐高积木般灵活组合组件,强调架构规范与控制力。其开发初衷是填补现有框架在实践中的功能空白。

PydanticAI 与 Atomic Agent 的共同目标是打破智能体作为黑箱运行的局限。

Mastra 由 Gatsby 核心团队打造,是专为前端开发者设计的 JavaScript 框架,可便捷地在其生态系统中构建智能体应用。

image
小众框架及其发布时间轴

接下来我们将深入解析各框架的特性与差异化优势。

4、不同框架的共性

多数框架都具备相似的核心构建模块:支持多样化模型、工具调用、记忆机制与检索增强生成(RAG)能力。

绝大多数开源框架在设计上都力求模型无关性,这意味着它们致力于兼容不同供应商的模型服务。然而如前所述,每个框架都拥有独特的系统提示词结构——这种结构可能对某些模型的适配效果优于其他模型。

因此,理想情况下您需要能够访问并灵活调整系统提示词,以满足特定场景的需求。

所有智能体框架均支持工具集成,因为工具是实现可操作系统的关键要素。它们还通过简洁的抽象接口,让开发者能够轻松定义自定义工具。目前,多数框架已支持模型上下文协议(MCP),无论是通过官方集成还是社区解决方案实现。

image
生动呈现智能体框架常见功能组件的示意图

需要特别注意的是,并非所有模型都原生支持函数调用功能——而这是使用工具的前提条件。若要筛选适合作为基础大语言模型(LLM)的候选模型,可参考 Hugging Face 发布的智能体性能排行榜

为实现智能体在多次 LLM 调用间的短期记忆保持,所有框架均采用状态管理机制。状态帮助 LLM 记忆先前步骤或对话片段中的关键信息。

多数框架还提供便捷的 RAG 配置方案,支持连接各类数据库为智能体注入领域知识。

最后,几乎所有框架都具备异步调用、结构化输出、流式响应以及可观测性集成等现代化特性。

5、各框架的独特特性

不同框架在特定功能上存在差异,例如对多模态输入、长期记忆以及多智能体系统的支持。部分框架内置了这些能力,而另一些则需要开发者自行集成。

首先,部分框架原生支持多模态数据处理(如文本、图像及语音)。当然,只要底层模型具备相应能力,开发者也可自行实现相关功能。

如前所述,短期记忆(即状态管理)是所有框架的基础功能——缺乏这一机制,便无法构建有效的工具调用系统。然而,长期记忆的实现则更具挑战性,这也成为各框架差异化的关键点。有些框架提供了内置解决方案,而其他框架则需要用户自行集成外部记忆模块。

image请参阅此处的 GitHub 仓库介绍部分及完整功能列表

各框架在多智能体功能的支持程度上也有所不同。 多智能体系统支持构建协作型或层级式架构,通过主管节点连接多个智能体形成团队。

多数框架建议保持单个智能体的专注度——即在有限范围内使用少量工具。这意味着处理复杂工作流时,可能需要组建智能体团队。虽然所有框架都支持组建团队,但部分框架在扩展至多层级的复杂系统时会显得力不从心。

这正是 LangGraph 的突出优势所在——它允许用户构建节点、将其连接至不同主管,并能可视化呈现团队间的交互方式。在构建大规模多智能体系统时,它无疑是灵活性最高的选择。

Agno 近期新增了对团队协作(包括协作团队与分层团队)的支持,但目前针对更复杂的多层架构示例尚不丰富。

SmolAgents 支持将智能体连接至主管节点,但随着系统规模扩大,复杂度会显著上升。 其团队构建方式令人联想到 CrewAI。Mastra 在此方面的设计思路也较为相似。

若使用 PydanticAI 或 Atomic Agents,则需要手动链接智能体团队,因此整体编排工作完全由开发者承担。

我已将大量研究数据整理至这份 Google 表格,如需获得更清晰的概览,也可查阅 此资源库中的功能对比表格

6、不同框架的差异点

框架之间的主要区别体现在抽象层级、赋予Agent的自主控制权,以及实现功能所需的代码量。

首先,部分框架内置了大量功能,旨在帮助用户快速上手。

例如,Mastra、CrewAI 以及在一定程度上 Agno 都属于开箱即用型框架。

image各框架的高抽象与低抽象对比

LangGraph 也提供了较高的抽象层级,但其基于图的架构需要手动连接各个节点。这种方式赋予开发者更多控制权,但也意味着必须自行配置和管理每个连接,从而带来更高的学习门槛。

另一类是低抽象层框架,如 PydanticAI、SmolAgents 和 Atomic Agents。

这类框架强调透明性和可控性,但通常需要开发者自行构建任务编排逻辑。 虽然能实现完全的控制并便于调试,但也会显著增加开发时间。

此外,不同框架对Agent自主性的预设也存在差异。一些框架认为大语言模型(LLM)具备足够智能,能自主寻找解决方案;而另一些则倾向于严格管控,为Agent设定明确步骤和任务范围。

AutoGen 和 SmolAgents 属于前一类,其他多数框架则更偏向后者。

image不同框架的高自主性与低自主性对比

值得思考的是,开发者设计强控制型框架,往往是因为目前尚未找到让Agent完全自主可靠运行的方法。

这一领域正日益工程化。

构建此类系统确实需要扎实的编程基础。关键在于,不同框架对技术能力的要求究竟有多大差别。

image构建各框架所需的经验水平

若您经验尚浅,CrewAI、Agno 或 Mastra 可能是较稳妥的选择。

对于简单应用场景,SmolAgents 也较为易用。

而使用 PydanticAI、Atomic Agents 或 LangGraph 时,则需要编写更多底层逻辑。不过,借助Agent辅助编写代码也是可行的路径。

若您完全不具备编程基础,可考虑使用 Flowise 或 Dify 等低代码平台。

最后,有必要谈谈各框架的开发者体验。

据观察,多数开发者反映 CrewAI 和 AutoGen 在调试方面较为困难。SmolAgents 的 CodeAgent 采用了一种新颖思路——通过输出代码来路由数据,概念虽酷但实际效果未必稳定。

LangGraph,尤其是与 LangChain 结合使用时,学习曲线陡峭,抽象层设计有时令人困惑,可能需拆解重构才能理清。

PydanticAI 和 Atomic Agents 普遍受到开发者好评,但二者均需自行构建任务流编排。

Agno 和 Mastra 是不错的选项,但可能会遇到如循环调用等难以排查的问题。

7、补充说明

最有效的入门方式莫过于亲手实践。但希望本文能帮助你建立对当前开源框架的整体认知,并初步判断哪些框架更契合你的需求。

需要说明的是,本文对各维度的探讨相对宏观,尚未深入涉及企业级可扩展性、运维稳定性等高级议题。若你的目标在于此,建议针对这些方面展开专项研究。

部分开发者认为,AI Agent 框架堪称最糟糕的抽象形式之一——它们往往比直接调用官方 LLM 服务商的 SDK 更为复杂。

这个问题,留待你自行评判。

请点击此处 查看各框架的完整功能对比表格,亦可 在此处 获取包含全部 Agent 框架列表的资源库。

原文链接:Agentic AI: Comparing New Open-Source Frameworks

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP