Type something to search...
HuggingFace smolagents:迄今为止最好的多代理框架?

HuggingFace smolagents:迄今为止最好的多代理框架?

比较 Autogen、Langraph、CrewAI、Magentic-One 等

正如你在多个地方所读到的,2025 年是 AI Agents 的年份。马克·扎克伯格甚至公开表示,Meta 将会有中高级工程师担任 AI Agents。

从过去几次发布中可以清楚看出,微软现在拥有 3 个多智能体编排框架(AutoGen、Magentic-One、Tiny-Troupe),OpenAI 发布了 Swarm,AWS 启动了多智能体编排器,此外还有独立的 Langraph 和 CrewAI。现在连 HuggingFace 也加入了这个行列,推出了“smolagents”,这又是一个多智能体框架,但有所不同。

什么是 smolagents?

Smolagents 是 Hugging Face 新推出的代理框架,旨在简化利用大型语言模型(LLMs)创建智能代理的过程。这个轻量级库使开发者能够用最少的代码构建代理,专注于实用性和易用性。

Smolagents 的主要特点

简单性:Smolagents 允许通过简单的编码方法快速原型设计和部署,即使是经验有限的用户也能轻松上手。

以代码为中心的代理:该框架支持直接作为 Python 代码执行操作的代理。这种方法通常比传统的基于工具的代理更具准确性和效率,因为后者可能需要更多的步骤。

LLM 兼容性:Smolagents 设计为 LLM 无关,这意味着它可以与 Hugging Face Hub 上的任何 LLM 无缝集成,以及通过其 LiteLLM 集成与其他流行模型兼容。

代理能力:该框架允许 LLM 通过编写可以通过外部工具执行的操作来控制工作流程。这种灵活性增强了代理处理不符合预定义工作流程的复杂任务的能力。

安全特性:Smolagents 包含在安全的沙盒环境中执行代码的机制,确保在运行潜在风险代码时的安全操作。

更多关于代码中心代理

这就是 smolagents 与其他所有框架的独特之处。但让我们首先了解其他框架中代码代理的工作原理。

其他代理框架中的代码代理:

在大多数其他框架中,代理通过 使用类似 JSON 的格式调用工具 来执行任务。其通常的工作方式如下:

  1. 动作表示: 代理将动作写成结构化的 JSON。每个动作包括:

工具名称:要使用的工具(例如,“搜索”,“翻译”)。

参数:工具所需的参数(例如,“查询”: “当前天气”)。

执行过程

框架读取这个 JSON,确定使用哪个工具,并使用给定的参数运行该工具。

一旦工具返回结果,代理处理结果并决定下一个动作。

Smolagents 的不同之处

Smolagents 允许代理 编写实际的 Python 代码 来执行操作,而不是使用 JSON。以下是这点不同和更好的原因:

代码作为操作:在 Smolagents 中,代理直接生成 Python 代码来执行操作。

直接执行:该框架直接运行这些代码,无需将 JSON 转换为工具调用。这使得执行更快、更简单且更准确。

示例:

假设您将此命令传递给代理框架

生成日落图像并显示

在其他框架中,这将是一个更复杂的流程,因为这两个操作需要分别进行

其他框架(通常)

步骤 1:生成图像

代理发送一个 JSON 请求以生成图像:

{
  "tool": "generate_image",
  "args": { "prompt": "sunset over mountains" }
}

步骤 2:显示图像

图像生成后,代理发送另一个 JSON 动作以显示它:

{
  "tool": "display_image",
  "args": { "image": "generated_image.png" }
}

每个步骤都涉及解析 JSON,确定要调用的工具,并执行它。代理无法轻松地将这些动作串联在一起或重用结果。

使用 smolagents 时,

它将简单地编写代码以一起执行所有内容

image = generate_image("sunset over mountains")
display(image)

因此无需多次调用,复杂性降低

为什么 Smolagents 更优秀

更少的开销:无需将 JSON 转换为工具调用——只需运行代码。

更大的灵活性:Python 代码可以处理复杂任务(循环、条件、自定义函数),而 JSON 不能。

与 LLM 训练的更好对齐:由于 LLM 在 Python 代码上进行了大量训练,因此在生成代码中的动作时,它们的表现优于 JSON。

简化的执行:代理可以一次性直接处理任务,无需额外步骤来解释 JSON。

兼容任何本地 LLM 和 API

smolagents 的缺点

尽管这个框架很棒,但在使用之前有一些风险需要了解

代码执行有缺陷:即使 Smolagents 包含安全本地解释器和 E2B 远程执行等保护措施,仍然可能出现框架运行诸如“删除所有内容”的代码片段,使您的电脑出现故障的情况。

看起来没有 LangGraph 灵活。

您的 LLM 应该擅长编码!!我尝试了一些非编码 LLM,结果并不理想。

为所有事情编写代码真的必要吗?一点也不。Smolagents 可能会引入不必要的复杂性。

那么,它是最好的框架吗?我不这样认为,但如果您刚开始接触代理框架,它是一个相当不错的选择。而且它很简单!!

如何使用 smolagents?

直接从仓库中举个例子

  1. 安装包
pip install smolagents

2. 创建你的 CodeAgent 并为其传递一些工具

from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel

agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=HfApiModel())

agent.run("一只豹子以全速穿过艺术桥需要多少秒?")

如你所见,CodeAgent 是一个独立的代理,可以使用任何类型的工具(在这种情况下是互联网搜索)。对于给定的提示,CodeAgent 将编写代码以:

在互联网上搜索以找出回答问题所需的不同信息

以这样的方式编写代码,使最终输出为所需的“秒”,因此为你的任何问题定制的代码!!

结论,

这个框架看起来很有趣,绝对值得一试。下面是访问它的 git 仓库。

Related Posts

使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
10 个强大的 Perplexity AI 提示,让您的营销任务自动化

10 个强大的 Perplexity AI 提示,让您的营销任务自动化

在当今快速变化的数字世界中,营销人员总是在寻找更智能的方法来简化他们的工作。想象一下,有一个个人助理可以为您创建受众档案,建议营销策略,甚至为您撰写广告文案。这听起来像是一个梦想? 多亏了像 Perplexity 这样的 AI 工具,这个梦想现在成为现实。通过正确的提示,您可以将 AI 转变为您的 个人营销助理。在本文中,我将分享 10 个强大的提示,帮助您自动

阅读更多
10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

人工智能技术,如机器学习、自然语言处理和数据分析,正在重新定义传统设计方法。从自动化重复任务到实现个性化用户体验,人工智能使设计师能够更加专注于战略思维和创造力。随着这一趋势的不断增长,UI/UX 设计师越来越多地采用 AI 驱动的工具来促进他们的工作。利用人工智能不仅能提供基于数据的洞察,还为满足多样化用户需求的创新设计解决方案开辟了机会。 1. 用户角色开发 目的

阅读更多
在几分钟内完成数月工作的 100 种人工智能工具

在几分钟内完成数月工作的 100 种人工智能工具

人工智能(AI)的快速发展改变了企业的运作方式,使人们能够在短短几分钟内完成曾经需要几周或几个月的任务。从内容创作到网站设计,AI工具帮助专业人士节省时间,提高生产力,专注于创造力。以下是按功能分类的100个AI工具的全面列表,以及它们在现实世界中的使用实例。 1. 研究工具 研究可能耗时,但人工智能工具使查找、分析和组织数据变得更加容易。**ChatGPT, Cop

阅读更多
你从未知道的 17 个令人惊叹的 GitHub 仓库

你从未知道的 17 个令人惊叹的 GitHub 仓库

Github 隐藏的宝石!! 立即收藏的代码库 学习编程相对简单,但掌握编写更好代码的艺术要困难得多。GitHub 是开发者的宝藏,那里“金子”是其他人分享的精心编写的代码。通过探索 GitHub,您可以发现如何编写更清晰的代码,理解高质量代码的样子,并学习成为更熟练开发者的基本步骤。 1. notwaldorf/emoji-translate *谁需

阅读更多