【AI大模型】AI Agents入门教程之不同的开源智能体框架,小白收藏这一篇就够了!!

【AI大模型】AI Agents入门教程之不同的开源智能体框架,小白收藏这一篇就够了!!

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

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

图片

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

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

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

图片

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

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

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

图片

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

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

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

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

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

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

大家常听说的有 CrewAI 和 AutoGen。

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

图片

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

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

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

  • Agent 智能体

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

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

    图片

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

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

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

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

图片

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

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

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

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

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

图片

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

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

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

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

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

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

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

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

图片

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

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

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

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

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

图片

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

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

图片

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

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

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

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

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

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

图片

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

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

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

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

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

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

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

至于这个观点是否成立,就留给大家自行判断了。

感谢你们的阅读和喜欢,作为一位在一线互联网行业奋斗多年的老兵,我深知在这个瞬息万变的技术领域中,持续学习和进步的重要性。

为了帮助更多热爱技术、渴望成长的朋友,我特别整理了一份涵盖大模型领域的宝贵资料集。

这些资料不仅是我多年积累的心血结晶,也是我在行业一线实战经验的总结。

这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。如果你愿意花时间沉下心来学习,相信它们一定能为你提供实质性的帮助。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【】

【AI大模型】AI Agents入门教程之不同的开源智能体框架,小白收藏这一篇就够了!!

为了成为更好的 AI大模型 开发者,这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。

在这里插入图片描述

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下

在这里插入图片描述

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【】

【AI大模型】AI Agents入门教程之不同的开源智能体框架,小白收藏这一篇就够了!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:Ai探索者,转载请注明出处:https://javaforall.net/244869.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月15日 下午8:23
下一篇 2026年3月15日 下午8:24


相关推荐

关注全栈程序员社区公众号