2025年值得入坑的 AI Agent 五大框架
Agent 目前我见到的最多的翻译是“智能体”,但是直译是“代理”。
那 Agentic 又要翻译成什么呢?我感觉“代理型”这样的词更合适。
所以为了不让读者混淆,我在本文直接用英文表示。
随着 LLM 的发展,AI 的能力已不再局限于简单的任务自动化,它们能够处理复杂且连续的工作流。例如,我们可以使用 LLM 来创建智能助手,自动代替用户在电商平台上订购商品,并安排配送。这些基于LLM的助手被称为 AI Agent.
说的具体一点,AI Agent 是一个由 LLM 驱动的智能助手,能够根据预设的任务和工具,帮助完成特定的工作。在最基础的形式下,AI Agent 具备以下几个关键特性:
- 内存管理:AI Agent 可以存储并管理与用户的交互记录。
- 外部数据源交互:能够与外部系统进行通信,获取数据或完成任务。
- 函数执行:通过调用函数来完成实际工作。
举个例子,AI Agent 可以执行以下任务:
- 餐厅预订:比如,在餐厅系统中的 AI Agent 可以帮助用户在线预订座位、比较不同餐厅,并通过语音互动帮用户直接呼叫餐厅。
- 虚拟协作同事:AI Agent 可以作为你项目中的“小秘”,与用户协作完成特定的任务。
- 自动化日常操作:AI Agent 能够处理多个步骤的操作,甚至完成日常电脑操作。比如,Replit Agent 可以模拟开发人员在开发环境中执行的操作,自动安装依赖和编辑代码;Anthropic 的 Computer Use Agent 可以指导 Claude 以用户常用的方式操作计算机,包括移动鼠标、点击按钮、输入文本等。
虽然我们可以使用 Python、React 等技术栈从零开始构建 AI Agent,但借助像 Phidata、OpenAI Swarm、LangGraph、Microsoft Autogen、CrewAI、Vertex AI 和 Langflow 等 Multi-Agent(多代理)框架,开发过程会变得更加高效。这些框架提供了预先打包的工具和功能,从而帮助我们快速构建 AI 助手。
那么,使用这些框架的优势在哪里呢?
- 选择合适的LLM:你可以根据具体的应用场景,使用 OpenAI、Anthropic、xAI、Mistral 等 LLM,或像 Ollama 和 LM Studio 等工具来构建 AI Agent。
- 添加知识库:这些框架允许你将特定文档(如 json、pdf 文件或网站)添加为知识库,帮助 AI Agent 获取并理解信息。
- 内置记忆功能:无需自己构建复杂的系统来存储和管理聊天记录或个性化对话。框架自带的记忆功能可以帮助 AI Agent 长时间记住并查阅先前的交互内容。
- 自定义工具:Multi-Agent 框架允许我们为 AI Agent 添加自定义工具,并与外部系统进行无缝集成,执行如在线支付、网页搜索、API 调用、数据库查询、视频观看、邮件发送等操作。
- 简化工程挑战:这些框架帮助我们简化复杂的工程任务,比如知识和记忆管理,从而在开发 AI 产品时减少技术难度。
- 加速开发与部署:框架提供了构建 AI 系统所需的工具和基础设施,帮助我们更快速地开发和将 AI 系统部署到云平台(如 AWS)。
通过这些框架,我们可以更轻松地开发出高效、智能的 AI Agent,提升产品开发的速度和质量。
接下来,我们将深入了解构建 AI Agent 的五大平台,帮助你快速上手,打造属于自己的 AI 助手!
Agent 的基本结构
下面的代码片段展示了一个最简单的 AI Agent。 AI Agent 通过使用语言模型来解决问题。AI Agent 的定义可能包括选择的大型或小型语言模型、内存、存储、外部知识源、向量数据库、指令、描述、名称等。

例如,像 Planche à voile 这样的现代 AI Agent 可以帮助任何人快速生成、运行、编辑、构建和部署全栈 Web 应用程序。它支持多种 Web 技术和数据库的代码生成与应用构建,如 Astro、Vite、Next.js、Superbase 等。
企业中 Multi-Agent 的应用案例
Agentic AI 系统在企业环境中有着广泛的应用,尤其是在执行自动化和重复任务方面。以下是 AI Agent 在企业领域中有用的关键应用场景:
- 呼叫与其他分析:分析参与者的视频通话,获得人们的情感、意图和满意度等洞察。Multi-Agent 系统擅长分析和报告用户的意图、人口统计和互动。它们的分析/报告能力帮助企业锁定目标客户或市场。
- 呼叫分类:根据参与者的网络带宽和强度自动对呼叫进行分类,以便高效处理。
- 市场倾听:监控和分析市场应用中的客户情感。
- 调查与评论分析:利用客户反馈和调查数据获取洞察并改善客户体验。
- 差旅与费用管理:自动化费用报告、跟踪和审批。
- 对话式银行:通过 AI 驱动的聊天或语音助手帮助客户进行银行业务。
- 通用AI支持聊天机器人:客户支持 Agent 可以处理客户投诉、排除故障,并将复杂任务委派给其他 Agent。
- financière:金融 Agent 可以用于预测经济、股票和市场趋势,并提供切实可行的投资建议。
- 营销:企业的营销团队可以利用 AI Agent 为不同目标受众创作个性化内容和广告文案,从而提高转化率。
- 销售:AI Agent 可以帮助分析系统中的客户互动模式,帮助销售团队聚焦于潜在客户的转化。
- 技术:在技术行业,AI 编码 Agent 可以帮助开发人员和工程师通过加速代码完成、生成、自动化、测试和修复错误来提高工作效率。
2024 五大 Agent 框架
你可以使用多个 Python 框架来创建并将 Agent 添加到应用程序和服务中。这些框架包括无代码(可视化 AI Agent 构建器)、低代码和中代码工具。现在我将向你介绍 2024 年五个顶尖的的基于 Python 的 Agent 构建器,你可以根据自己的业务需求进行自由选择。
1 Phidata
Phidata 是一个基于 Python 的框架,可将 LLM 转化为 AI 产品中的 Agent。它支持主流大厂的闭源和开源 LLM,如 OpenAI、Anthropic、Cohere、Ollama 和 Together AI 等。通过其对数据库和向量存储的支持,我们可以轻松地将 AI 系统连接到 Postgres、PgVector、Pinecone、LanceDb 等。使用 Phidata,我们可以构建基础 Agent,也可以通过函数调用、结构化输出和微调来创建高级 Agent。
Phidata 的主要功能
- 内置 Agent UI:Phidata 提供了一个现成的用户界面,用于本地或云端运行 Agent 项目,并在后台管理会话。
- déploiements:你可以将 Agent 发布到 GitHub 或任何云服务,也可以连接 AWS 账户将其部署到生产环境。
- 监控关键指标:提供会话快照、API 调用、token 使用情况,并支持设置调整和 Agent 改进。
- Soutien aux modèles:通过预配置的代码库模板,加速 AI 代理的开发和生产过程。
- 支持 AWS:Phidata 与 AWS 无缝集成,可以在 AWS 账户上运行完整的应用程序。
- 模型独立性:支持使用来自 OpenAI、Anthropic、Groq 和 Mistral 等先进的模型和 API 密钥。
- 构建 Multi-Agent:使用 Phidata 可以创建一个 Agent 团队,让它们相互传递任务并协作完成复杂任务。Phidata 会在后台无缝处理 Agent 的协调工作。
现在我将向你展示如何使用 Phidata 框架和 OpenAI 的 LLM 在 Python 中构建一个查询 Yahoo Finance 的金融数据的基本 AI Agent。该 Agent 旨在通过 Yahoo Finance 汇总各公司分析师的推荐意见。
安装依赖项:

新建一个 financial_agent.py:
import openai from phi.agent import Agent from phi.model.openai import OpenAIChat from phi.tools.yfinance import YFinanceTools from dotenv import load_dotenv import os # 从 .env 文件加载环境变量 load_dotenv() # 从环境中获取 API 密钥 openai.api_key = os.getenv("OPENAI_API_KEY") # 初始化 Agent finance_agent = Agent( name="Finance AI Agent", model=OpenAIChat(id="gpt-4o"), tools=[ YFinanceTools( stock_price=True, analyst_recommendations=True, company_info=True, company_news=True, ) ], instructions=["Use tables to display data"], show_tool_calls=True, markdown=True, ) # 输出分析师对 NVDA 的推荐摘要 finance_agent.print_response("Summarize analyst recommendations for NVDA", stream=True)
上述代码:
- 导入模块和加载 API 密钥
首先,导入所需的模块和包,并通过 .env 文件加载 OpenAI 的 API 密钥。这种加载 API 密钥的方式同样适用于其他模型提供商,如 Anthropic、Mistral 和 Groq。 - Création d'un proxy
使用 Phidata 的 Agent 类创建一个新的 Agent,并指定其独特的功能和特性,包括模型、工具、指令等。 - 打印响应
调用 print_response 方法输出代理对问题的响应,并指定是否以流式方式显示(stream=True)。

2 Swarm
Essaim 是 OpenAI 最近发布的一种开源实验性 Agent 框架,是一种轻量级的 Multi-Agent 编排框架。
prendre note:Swarm 仍处于实验阶段。可用于开发和教育目的,但不建议用于生产环境。最新的信息可以去参考官方仓库:
https://github.com/openai/swarm
Swarm 使用 Agents répondre en chantant Handoffs(交接) 作为抽象概念,用于 Agent 的编排和协调。它是一种轻量级框架,便于测试和管理。Swarm 的 Agent 可以配置工具、指令和其他参数,以执行特定任务。
除了其轻量和简单的架构,Swarm 还具备以下关键特性:
- 对话交接:Swarm 支持构建 Multi-Agent 系统,一个 Agent 可以在任意时间将对话交接给其他 Agent。
- 可扩展性:凭借其简化的交接架构,Swarm 易于构建能够支持数百万用户的 Agent 系统。
- 可扩展性:Swarm 设计上具有很高的可定制性,可用于创建完全定制化的 Agent 体验。
- 内置检索系统和内存处理:Swarm 内置了存储和处理对话内容的功能。
- Vie privée:Swarm 主要在客户端运行,并且不会在调用之间保留状态,极大地提高了数据隐私性。
- 教育资源:Swarm 提供了一系列基础到高级的 Multi-Agent 应用示例,可供开发者测试和学习。
接下来,我给你演示一下如何使用 Swarm:
from swarm import Swarm, Agent # 初始化 Swarm 客户端 client = Swarm() mini_model = "gpt-4o-mini" # 定义协调函数,用于将任务交接给 Agent B def transfer_to_agent_b(): return agent_b # 定义 Agent A agent_a = Agent( name="Agent A", instructions="You are a helpful assistant.", functions=[transfer_to_agent_b], ) # 定义 Agent B agent_b = Agent( name="Agent B", model=mini_model, instructions="You speak only in Finnish.", ) # 运行 Agent 系统并获取响应 response = client.run( agent=agent_a, messages=[{"role": "user", "content": "I want to talk to Agent B."}], debug=False, ) # 打印 Agent B 的响应 print(response.messages[-1]["content"])
上述代码
- 初始化
- Swarm 用于创建一个客户端实例。
- Agent 定义了 Agent 的名称、功能和语言模型(如 gpt-4o-mini)。
- 交接逻辑
- 初始化
transfer_to_agent_b 是一个协调器函数,将任务从 agent_a 转移到 agent_b。
- Fonctionnement du système d'agents
client.run() 执行代理系统,传入 messages 和 debug 参数,用于跟踪任务执行过程。

如果将 agent_b 的指令中语言更改为其他语言(如英语、瑞典语、芬兰语),将会得到相应语言的响应结果。
3 CrewAI
CrewAI 是最受欢迎的基于 Agent 的 AI 框架之一,可快速构建 AI Agent 并将其集成到最新的 LLM 和代码库中。像 Oracle、Deloitte、Accenture 等大公司都在使用并信任 CrewAI。
与其他基于 Agent 的框架相比,CrewAI 功能更加丰富,特性更加多样。
- 可扩展性支持集成 700 多种应用程序,包括 Notion、Zoom、Stripe、Mailchimp、Airtable 等。
- 工具
- 开发者可以使用 CrewAI 框架从零开始构建 Multi-Agent 自动化系统。
- 设计师可以通过其 UI Studio 和模板工具,在无代码环境中创建功能齐全的 Agent。
- déploiements你可以使用自己喜欢的部署方式,将开发的 Agent 快速迁移到生产环境。
- Agent 监控像 Phidata 一样,CrewAI 提供直观的仪表盘,用于监控 Agent 的进度和性能。
- 内置训练工具使用 CrewAI 的内置训练和测试工具,提高 Agent 的性能和效率,并确保其响应质量。
首先我们需要安装 CrewAI:

上述命令会安装 CrewAI 及其工具,并验证安装是否成功。
安装完成后,可运行以下命令创建一个新的 CrewAI 项目:

运行该命令后,系统会提示我们从以下模型提供商列表中选择一个,例如 OpenAI、Anthropic、xAI、Mistral 等。选择提供商后,还可以从列表中选择具体模型,例如 gpt-4o-mini。
以下命令可用于创建 Multi-Agent 系统:

完整的 CrewAI 应用已上传到 GitHub 仓库,可通过以下命令下载并运行:

https://github.com/GetStream/stream-tutorial-projects/tree/main/AI/Multi-Agent-AI
运行后,你将看到类似以下的响应结果:

4 Autogène
Autogène 是一个开源框架,用于构建 Agent 系统。借助该框架,可以创建 Multi-Agent 协作和 LLM 工作流。
Autogen 具备以下关键功能:
- 跨语言支持使用 Python 和 .NET 等编程语言构建 Agent。
- 本地 Agent可在本地运行和实验 Agent,以确保更高的隐私性。
- 异步消息通信使用异步消息进行 Agent 之间的通信。
- 可扩展性支持开发者构建分布式 Agent 网络,适用于不同组织之间的协作。
- 可定制性通过其可插拔组件,自定义构建完全个性化的 Agent 系统体验。
下面的代码块构建了一个简单的 AI 天气 Agent 系统:
import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.task import Console, TextMentionTermination from autogen_agentchat.teams import RoundRobinGroupChat from autogen_ext.models import OpenAIChatCompletionClient import os from dotenv import load_dotenv load_dotenv() # 定义工具 async def get_weather(city: str) -> str: return f"The weather in {city} is 73 degrees and Sunny." async def main() -> None: # 定义 Agent weather_agent = AssistantAgent( name="weather_agent", model_client=OpenAIChatCompletionClient( model="gpt-4o-mini", api_key=os.getenv("OPENAI_API_KEY"), ), tools=[get_weather], ) # 定义终止条件 termination = TextMentionTermination("TERMINATE") # 定义 Agent 团队 agent_team = RoundRobinGroupChat([weather_agent], termination_condition=termination) # 运行团队并将消息流至控制台 stream = agent_team.run_stream(task="What is the weather in New York?") await Console(stream) asyncio.run(main())
上述代码
- 工具定义:get_weather 是一个示例工具函数,返回城市天气信息。
- 代理定义:使用 AssistantAgent 定义 Agent,并设置模型客户端为 OpenAI 的 GPT-4o-mini。API 密钥从 .env 文件中加载。
- 终止条件:通过 TextMentionTermination 定义终止条件,当提及 "TERMINATE" 时终止任务。
- Agent 团队:使用 RoundRobinGroupChat 创建一个 Agent 团队,以轮询方式分配任务。
运行此代码后,控制台将显示类似于以下的输出结果:

5 LangGraph
LangGraph 是基于节点的 AI 框架,专为构建处理复杂任务的 Multi-Agent 系统而设计。作为 LangChain 生态系统的一部分,LangGraph 是一种图结构的 Agent 框架。用户可以通过节点和边来构建线性、层次化和顺序化的工作流。其中,节点(node)表示 Agent 的动作,边(edge)表示动作之间的转换,状态(state)则是 LangGraph Agent 的另一重要组成部分。
LangGraph 的优势和主要功能
- 免费开源LangGraph 是一个免费的库,遵循 MIT 开源许可证。
- 流式支持提供逐字流式支持,展示 Agent 的中间步骤和思考过程。
- 部署选项支持多种大规模部署方式,可通过 LangSmith 监控 Agent 性能。企业版选项允许完全在用户自有基础设施上部署 LangGraph。
- 企业适配Replit 使用 LangGraph 为其 AI 编码 Agent 提供支持,证明了 LangGraph 的企业适用性。
- 高性能在处理复杂的 Agent 工作流时,不会增加代码负担。
- 循环与可控性可以轻松定义包含循环的 Multi-Agent 工作流,并对 Agent 的状态进行完全控制。
- 持久化LangGraph 会在图中每一步操作后自动保存 Agent 状态,还支持在任意点暂停和恢复图的执行。
前往下面的地址下载示例代码:
https://langchain-ai.github.io/langgraph/
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...