AI Agents入门教程之不同的开源智能体框架

img

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调用。

img

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

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

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

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

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

04

开源智能体框架介绍

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

大家常听说的有 CrewAI 和 AutoGen。

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

img

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

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

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

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

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

    img

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

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

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

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

img

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

05

共同点介绍

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

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

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

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

img

需要注意的是,并非所有模型都内置了函数调用功能,而这是使用工具所必需的。要确定哪些模型最适合作为基础大语言模型(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的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

CSDN粉丝独家福利

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

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

👉1.大模型入门学习思维导图👈

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

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

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

👉3.大模型实际应用报告合集👈

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

在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)

在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
img

在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)

在这里插入图片描述
👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习

CSDN粉丝独家福利

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

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值