初学者入门大模型Agent必学:深度分析不同的开源智能体框架

01 引言

我们都听说过CrewAI和AutoGen,但您知道吗?目前市面上已有数十种开源智能体框架——其中许多都是过去一年内发布的。

我简单测试了几款较热门的框架,初步感受了它们的工作原理和上手难度。接下来就让我们逐一剖析这些框架的特色功能。

img

本文将重点评测LangGraph、Agno、SmolAgents、Mastra、Pydantic AI和Atomic Agents六大框架,并与CrewAI和AutoGen进行横向对比。我们将解析各框架的核心功能、设计理念以及技术路线等。

02 Agentic AI

代理式人工智能(Agentic AI)的核心,是围绕大语言模型(LLM)构建系统,使其具备精准的知识储备、数据访问能力和执行功能。你可以将其理解为:用自然语言来自动化流程和任务

利用自然语言处理(NLP)实现自动化并非新鲜事——多年来我们一直用NLP来提取和处理数据。真正的突破在于,如今我们可以赋予语言模型更高的自由度,让它们动态处理模糊信息并自主决策。

img

但要注意:LLM能理解语言,不等于它们拥有"代理能力"(agency),甚至未必能真正领会你想自动化的任务。正因如此,构建可靠的智能体系统需要大量工程化设计。

03 智能体框架是什么?

智能体框架的核心功能在于辅助提示词工程(prompt engineering),并管理LLM的输入输出数据流——但它们还提供了更高层次的抽象,大幅降低了开发门槛。

假设你要从头构建一个系统,让LLM调用不同的API工具,传统做法是在系统提示词中硬编码这些规则。你需要要求LLM在返回答案时,必须附带它想调用的工具名称,这样系统才能解析并执行对应的API调用。

在这里插入图片描述

本质上,我们讨论的是提示词工程(prompt engineering)——这是所有框架的底层基础。一般来说,框架通常通过两种方式提供帮助:一是合理构建提示(prompt),确保大型语言模型(LLM)以正确的格式回应;二是解析模型的响应,将其路由到正确的工具(API、文档或其他资源)。

在构建知识库时,框架也可以帮助进行文档的分块(chunking)、嵌入(embedding)和存储。这些内容会作为上下文加入到提示中,就像我们构建标准的检索增强生成(RAG)系统一样。此外,框架还能处理错误捕获、结构化输出、结果验证、系统监控、部署管理等任务,并通过代码组织能力支持更复杂的系统构建(例如多智能体协作架构)。

然而,许多人认为使用完整的框架可能有些“杀鸡用牛刀”。

问题在于:如果LLM没有正确使用工具,或者出现故障,这种抽象可能变成负担,因为你很难调试。换模型时也可能出现问题——系统提示(prompt)可能针对某个模型量身定制,转到其他模型时效果不佳。

因此,一些开发者会重写框架的部分内容,例如在 LangGraph 中的 create_react_agent,以获得更好的控制。一些框架较轻便,另一些则功能更丰富,提供额外的特性,但它们都有社区支持,能帮助你入门。一旦掌握了其中一种(包括其底层工作原理),学习其他框架也会变得更容易。

在这里插入图片描述

04开源智能体框架介绍

我们确实需要参考社区的实际案例来评估框架的表现,但最流行的框架未必总是最优选。

大家常听说的有 CrewAI 和 AutoGen。

  • CrewAI 是一个高度抽象的框架,可以通过隐藏底层细节,帮助你快速构建代理系统。
  • AutoGen 则专注于自主、异步的智能体协作,智能体们可以根据自身需要自由合作,这使得它更适合用于测试和研究。

在这里插入图片描述

  • LangGraph 仍然是一个比较知名的系统,但值得被强调为开发者的主要框架之一。它采用基于图的方式,构建节点并通过代理连接它们。相比前两个,LangGraph 提供了更严格的工程控制,不假设智能体会拥有较强的自主性。

    需要指出的是,很多人觉得 LangGraph 在抽象层次上过于复杂,调试起来比较困难。其思想是学习曲线较陡,但一旦掌握了基本原理,使用起来会变得更容易。

此外,我还想介绍一些较新的框架。

  • 下一个是 Agno(之前叫 Phi-Data),它专注于提供极佳的开发者体验,也有我见过最清晰的文档之一。它非常即插即用,配备丰富的内置功能,组织成合理、清晰的抽象结构,便于快速上手。

  • SmolAgents 是一个非常简洁的框架,它引入了一个代理—— CodingAgent——通过代码(而非JSON)路由数据。它还可以直接访问整个 Hugging Face 模型库。

    在这里插入图片描述

关于一些不常提及的开源框架:

  • PydanticAI: 基于 Pydantic,抽象层极少,提供一个高度透明的基础框架。非常适合需要严格类型安全、可预测验证输出的场景,便于细粒度控制和调试
  • Atomic Agents 由一位个体开发者构建,采用基于架构的构建块,像乐高一样连接,强调结构和控制。它诞生的背景是市场上缺乏能够有效实践的解决方案。

PydanticAI 和 Atomic Agents 的共同目标是摆脱“黑箱”式的独立行为AI,实现更可控、更透明的系统。

最后,Gatsby 团队打造的 Mastra,是一款面向前端开发者的 JavaScript 框架,旨在让开发者可以在自己生态系统中轻松构建代理。

img

我们接下来会详细介绍每个框架提供的内容以及它们之间的区别。

05 共同点介绍

大多数框架都包含相同的核心构建模块:支持不同模型、工具、记忆体和RAG(检索增强生成)。

大多数开源框架或多或少都具备模型无关性。这意味着它们被设计为支持多种供应商的模型。然而,如前所述,每个框架都有自己独特的系统提示结构——这种结构可能更适合某些模型而非其他模型。

这也正是为什么理想情况下,大家需要能够访问系统提示并根据需要对其进行调整。

所有智能体框架都支持工具集成,因为工具对于构建能够执行行动的系统至关重要。它们还通过简单的抽象使自定义工具的定义变得容易。如今,大多数框架都正式或通过社区解决方案支持MCP。

在这里插入图片描述

需要注意的是,并非所有模型都内置了函数调用功能,而这是使用工具所必需的。要确定哪些模型最适合作为基础大语言模型(LLM),大家可以参考Hugging Face的智能体排行榜。

网址:https://huggingface.co/blog/pratikbhavsar/agent-leaderboard

为了使智能体能够在LLM调用之间保留短期记忆,所有框架都利用了状态(state)机制。状态帮助LLM记住早期步骤或对话部分的内容。

大多数框架还提供了简单的选项,用于设置与不同数据库的RAG,以便为智能体提供知识支持。

最后,几乎所有框架都支持异步调用、结构化输出、流式处理等。

06 不同框架的缺失部分

在某些方面,不同的框架会有差异,比如支持多模态输入、长期记忆和多智能体系统的支持。有些框架内置了这些功能,而另一些则需要开发者自行实现。

首先,一些框架内置了多模态处理方案——也就是说,支持文本、图像和语音等多种输入。只要模型支持,这些功能都可以通过自行实现来完成。

正如前面所说,短期记忆(状态)是框架的标准配置——没有它,就无法构建使用工具的系统。然而,长期记忆的实现更为复杂,这也是不同框架之间的差异所在。有的框架提供了内置解决方案,而有些则需要开发者自行集成其他解决方案。多智能体能力在不同框架中的实现方式也有所不同。多智能体系统允许大家构建协作式或分层式架构,让多个智能体通过监督者(supervisor)相互连接。

img

大多数框架建议保持智能体的专注性——即限定其工具集和任务范围。这意味着在复杂工作流中,你可能需要构建多个智能体团队。虽然所有框架都支持单层团队,但在扩展到多层、多层级系统时,部分框架会变得复杂。

  • LangGraph在这方面表现突出——你可以构建节点,将它们连接到不同的监督者,并可视化不同团队的交互方式。在构建大规模多智能体系统时,它显然是最灵活的
  • Agno最近增加了对协作式和分层式团队的支持,但目前缺乏更复杂的多层架构示例。
  • SmolAgents允许将智能体连接到监督者,但随着系统规模扩大,复杂度会上升。它的团队结构与 CrewAI 类似。Mastra 在这方面也类似。
  • PydanticAI和 Atomic Agents 则需要开发者手动编排智能体团队,因此协调工作完全由开发者负责。

07 差异点分析

不同开源框架在抽象程度、赋予代理的控制权以及实现功能所需的编码量方面各不相同。

首先,有些框架会尽可能多地内置各种功能,使得快速上手变得非常容易。

我认为,Mastra、CrewAI,以及在一定程度上,Agno都是设计为即插即用的。LangGraph也有相当程度的抽象,但它采用基于图的系统,需要手动连接各个节点。这提供了更大的控制权,但也意味着你必须自己设置和管理每个连接,学习难度相对较高。

img

接下来是低层次抽象的框架,比如PydanticAI、SmolAgents和Atomic Agents。这些框架强调透明性,但通常需要你自己构建调度与协调的流程。这为你提供了完全的控制,也方便调试,但同时也会延长开发时间。

另一个差异点在于框架假设智能体应该拥有的自主性。有些框架的理念是让大型语言模型(LLMs)足够聪明,能够自主完成任务。其他一些则倾向于严格控制—只赋予智能体一个明确的任务,并一步步指导其操作。

img

AutoGen和SmolAgents属于前者,而其他大多偏向于控制型。这一点值得考虑:当开发者构建偏向严格控制的框架时,往往是因为还没有找到让智能体自主工作的可靠方法。

这个领域也逐渐像工程开发一样,需求借助编码技能。

如果你打算构建这类系统,理解编码基础是必要的。关键在于这些框架在技术要求上差异有多大。如果你经验较少,选择CrewAI、Agno或Mastra可能是个不错的主意。

对于简单的用例,SmolAgents也相对直接。

而使用PydanticAI、Atomic Agents或LangGraph,你可能需要自己编写更多逻辑代码。当然,构建智能体来帮你梳理和结构化代码也是可行的。

如果你是编程新手,可以考虑Flowise或Dify。

img

最后,值得关注的是这些框架的开发者体验。据我所知,大多数开发者觉得CrewAI和AutoGen在调试方面比较困难。SmolAgents的CodeAgent提出了一种新颖的方法——由智能体输出代码来路由数据,这点很酷,但并不总是能按预期工作。

尤其是LangGraph(配合LangChain使用)学习曲线陡峭,抽象概念有时令人困惑,可能需要反复拆解重建。

PydanticAI和Atomic Agents普遍受到开发者的好评,但它们都需要你自己实现调度流程。

Agno和Mastra虽然是不错的选择,但在调试遇到循环调用等问题时可能比较困难。

08 总结

入门的最好方式就是直接尝试一下。不过,我希望这份介绍能为你提供一个关于现有开源框架的基本概览 — 以及哪些可能适合你。

不过,这只是对每个框架的粗略介绍,因为我没有涉及企业级的可扩展性或操作的鲁棒性等方面。如果你正打算为这些目标构建系统,可能需要另外进行专门的研究。

一些开发者认为,AI智能体框架是最差的抽象形式之一——它们常常让事情变得比直接使用官方大型语言模型(LLM)提供商的SDK更加复杂。

普通人如何抓住AI大模型的风口?

领取方式在文末

为什么要学习大模型?

目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
在这里插入图片描述

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:

在这里插入图片描述

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

最后

如果你真的想学习大模型,请不要去网上找那些零零碎碎的教程,真的很难学懂!你可以根据我这个学习路线和系统资料,制定一套学习计划,只要你肯花时间沉下心去学习,它们一定能帮到你!

大模型全套学习资料领取

这里我整理了一份AI大模型入门到进阶全套学习包,包含学习路线+实战案例+视频+书籍PDF+面试题+DeepSeek部署包和技巧,需要的小伙伴文在下方免费领取哦,真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

整个学习分为7个阶段
在这里插入图片描述
在这里插入图片描述

二、AI大模型实战案例

涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、视频和书籍PDF合集

从入门到进阶这里都有,跟着老师学习事半功倍。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

四、LLM面试题

在这里插入图片描述
在这里插入图片描述

五、AI产品经理面试题

在这里插入图片描述

六、deepseek部署包+技巧大全

在这里插入图片描述

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值