多智能体优秀开发框架

原文链接:https://i68.ltd/notes/posts/20250402-multi-agent/

motia-面向软件工程师的智能体框架

Motia 成为理想选择的原因
  • 零基础设施难题 -无需 Kubernetes 专业知识。使用单个命令部署代理。
  • 真正的代码优先开发 -用熟悉的语言编写代理逻辑,而不是专有的 DSL。
  • 独特的多语言支持 -在同一代理中混合 Python 用于 ML,TypeScript 用于类型安全,Ruby 用于 API。
  • 带验证的可组合步骤 -从模块化、可重用的组件中构建代理,并自动进行输入/输出验证。
  • 内置可观察性 -通过可视化执行图和实时日志记录来观察代理行为。
  • 即时 API Webhooks-通过 HTTP 端点公开代理功能,无需额外代码。
  • 完全控制 AI 逻辑 -使用任何LLM,矢量存储或推理模式,没有限制。
  • 灵活的控制 -在同一个流程中,在代理和确定性控制之间轻松切换。
Motia 使用四个关键构建块
  • 步骤(Steps):可重用的逻辑单元,可以处理数据、与外部系统交互、执行计算、管理状态并触发事件。
  • 流程(Flows):分组相关步骤的容器,提供上下文和范围,便于组织和可视化工作流。
  • 事件(Events):携带数据的轻量级消息,用于触发步骤执行,支持异步和松散耦合的交互。
多语言支持
  • 支持JavaScript、Python、Ruby 等多种编程语言。
可视化工作台
  • Motia Workbench 提供创建、测试和优化工作流的工具,包括流程可视化、实时日志、自定义 UI 和热重载,支持本地开发无需登录。
部署与监控

= MotiaHub 提供零配置部署、实时监控和团队协作功能,适合生产环境。

港大开源AutoAgent

主要特点
  • GAIA 基准测试中的顶级表现者
    • AutoAgent 在开源方法中获得了最高排名,提供了与 OpenAI 的 Deep Research 相当的性能。
  • 使用本地自管理矢量数据库的自动 RAG
    • AutoAgent 配备了一个本地的自我管理矢量数据库,优于行业领先的解决方案,如 LangChain。
  • 轻松创建代理和工作流
    • AutoAgent 利用自然语言轻松构建即用型工具 、 代理和工作流 -无需编码。
  • 通用LLM支持
    • AutoAgent 支持多种LLMs(例如,OpenAI,Anthropic,Deepseek,vLLM,Grok,Huggingface.)
  • 灵活的互动
    • 受益于对函数调用和 ReAct 交互模式的支持。
  • 动态、可扩展、轻量级
    • AutoAgent 是您的个人 AI 助手 ,设计为动态,可扩展,自定义和轻量级。
AutoAgent架构
  • AutoAgent框架基于其四个关键组件:
    • 智能体系统工具(Agentic System Utilities)
      • 提供了基础的多智能体架构,其中包含专门的网络、代码和文件智能体,它们可以无缝协作以处理各种现实世界任务。
      • LLM驱动的可操作引擎(LLM-powered Actionable Engine)
        • 作为系统的“大脑”,支持通过直接和转换后的工具使用范式灵活集成任何LLM提供商,从而实现强大的行动生成能力。
      • 自管理文件系统(Self-Managing File System)
        • 通过将各种数据格式自动转换为可查询的向量数据库,增强了系统的整体能力,使得所有操作都能高效地访问信息。
      • 自我执行智能体定制模块(SelfPlay Agent Customization)。
        • 不仅将自然语言需求转化为可执行智能体,还通过结构化的XML模式自动生成优化的工作流,消除了手动智能体编程或工作流设计的需求。
  • 具体的执行流程如下:
    • 智能体创建
      • 用户通过自然语言描述他们的需求,AutoAgent的智能体剖析代理(Agent Profiling Agent)会根据这些需求生成结构化的XML表单,定义智能体的名称、描述、指令、工具和输入输出格式。
      • 然后,工具编辑代理(Tool Editor Agent)根据表单内容创建所需的工具,智能体编辑代理(Agent Editor Agent)则根据工具和表单定义创建智能体。
    • 工作流生成
      • 对于需要多个智能体协作完成的任务,AutoAgent会根据用户需求生成工作流。
      • 工作流剖析代理(Workflow Profiling Agent):首先,分析用户需求并生成工作流表单,定义工作流的名称、输入输出格式、智能体和事件逻辑。
      • 随后,工作流编辑代理(Workflow Editor Agent)根据表单内容创建智能体和工作流,并执行任务。
    • 任务执行
      • 创建完成后,智能体和工作流可以通过自然语言接口接收用户任务,并自动执行。
      • 在执行过程中,智能体之间可以通过事件监听和触发机制进行协作,实现复杂任务的自动化解决。

Dapr Agents-分布式多智能体系统

  • 基于 Dapr 构建的框架,结合了有状态的工作流协调和先进的 Agentic AI 功能
  • 项目仓库:https://github.com/dapr/dapr-agents 271
  • 项目文档:https://dapr.github.io/dapr-agents
  • Dapr Agents 是一个开发者框架,旨在构建可大规模运行的生产级弹性 AI 代理系统。建立在久经考验的 Dapr 项目之上,使软件开发人员能够创建使用大型语言模型(LLMs)进行推理,行动和协作的 AI 代理,同时利用内置的可观察性和有状态的工作流执行来保证代理工作流成功完成,无论在多么复杂的环境中
  • Dapr Agents 是构建适合企业级应用的分布式多代理系统的最佳方式
  • Dapr Agents 发布:支持规模化 AI 工作流、多智能体协作
关键特征
  • 可扩展性和效率 :在单个核心上高效运行数千个代理。Dapr 在机群中透明地分发单个和多代理应用程序,并处理它们的生命周期
  • 工作流弹性 :自动重试代理工作流并确保任务完成
  • Kubernetes-Native:在 Kubernetes 环境中轻松部署和管理代理
  • 数据驱动代理 :通过连接到数十个不同的数据源,直接与数据库、文档和非结构化数据集成
  • 多代理系统 :默认情况下安全且可观察,支持代理之间的协作
  • 供应商中立的开源 :避免供应商锁定,并获得跨云和本地部署的灵活性
  • 平台就绪 :内置的 RBAC、访问范围和声明性资源使平台团队能够将 Dapr 代理集成到他们的系统中
优势
  • 作为一等公民的可扩展工作流
    • Dapr Agents 使用可持续执行的工作流引擎 ,确保每个代理任务在网络中断,节点崩溃和其他类型的破坏性故障面前执行完成。开发人员不需要了解工作流引擎的基本概念-只需编写一个执行任意数量任务的代理,这些任务将自动分布在集群中。如果任何任务失败,它将被重试,并从停止的地方恢复其状态
  • 经济高效的 AI 采用
    • Dapr Agents 构建在 Dapr 的工作流 API 之上,它在引擎盖下将每个代理表示为一个参与者,一个线程安全且原生分布式的计算和状态单元,很好地将其自身用于代理 Scale-To-Zero 架构。这最大限度地降低了基础设施成本,使每个人都可以采用 AI。底层虚拟角色模型允许数千个代理在单核机器上按需运行,从零扩展时具有两位数的毫秒延迟。当未使用时,系统会回收代理,但会保留其状态,直到下次需要它们时。通过这种设计,在性能和资源效率之间没有折衷
  • 以数据为中心的 AI 代理
    • 通过与 50 多个企业数据源的内置连接,Dapr Agents 可以有效地处理结构化和非结构化数据。从基本的 PDF 提取到大规模的数据库交互,它能够以最少的代码更改实现无缝的数据驱动的 AI 工作流。Dapr 的绑定和状态存储提供了对大量数据源的访问,这些数据源可用于将数据摄取到代理。
  • 加速发展
    • Dapr Agents 提供了一组 AI 功能,为开发人员提供了一个完整的 API 界面来解决常见问题。其中包括:
      • 多智能体通信
      • 结构化输出
      • 多个LLM提供商
      • 背景关联记忆
      • 灵活提示
      • 智能工具选择
  • 集成的安全性和可靠性
    • 通过在 Dapr 之上构建,平台和基础设施团队可以将 Dapr 的弹性策略应用于 Dapr 代理使用的数据库和/或消息代理。这些策略包括超时、重试/回退和断路器。在安全性方面,Dapr 提供了一个选项,可以将对给定数据库或消息代理的访问范围扩展到一个或多个代理应用程序部署。此外,Dapr Agents 使用 mTLS 来加密其底层组件的通信层
  • 内置消息传递和状态基础架构
    • 服务到服务调用(Service-to-Service Invocation):通过内置的服务发现、错误处理和分布式跟踪,促进代理之间的直接通信。代理可以利用这一点在多代理工作流中进行同步消息传递
    • 发布和订阅 :通过共享消息总线支持代理之间的松散耦合协作。这就实现了对任务分配和协调至关重要的实时、事件驱动的交互
    • 持久工作流 :定义长期运行的持久工作流,将联合收割机确定性流程与基于LLM的决策相结合。Dapr Agents 使用它来无缝地编排复杂的多步骤代理工作流程
    • 状态管理 :为代理提供灵活的键值存储,以在交互中保留上下文,确保工作流程的连续性和适应性
    • Actor :实现虚拟Actor模式,允许代理作为独立的、有状态的单元操作,顺序处理消息。这消除了并发问题,并增强了代理系统的可伸缩性
  • 供应商中立和开源
    • 作为 CNCF 的一部分,Dapr Agents 是供应商中立的,消除了对锁定,知识产权风险或专有限制的担忧。组织可以使用他们可以审计和贡献的开源软件来获得对其 AI 应用程序的完全灵活性和控制
### 主流智能体框架概述 在当前的人工智能领域,智能体(Agents)开发框架的选择对于项目的成功至关重要。随着技术的进步,市场上出现了许多优秀的智能体开发框架,每种框架都有其独特的功能和适用场景。 #### 1. AutoGen AutoGen 是由微软推出的一个开源框架,专注于开发和部署多个智能体以实现自主目标。该框架支持智能体之间的协同工作,适用于复杂任务的分解与执行[^2]。通过 AutoGen,开发者能够轻松创建具有高度交互性和适应性的智能体系统。 #### 2. LangChain 和 LlamaIndex (Workflows) LangChain 提供了一套强大的工具链来连接大语言模型和其他数据源,而 LlamaIndex 则进一步扩展了这种能力,允许用户构建复杂的多步推理流程。LlamaIndex 的 Workflows 功能特别适合于需要动态调整逻辑的应用程序开发[^1]。这两种框架都强调灵活性和易用性,在处理自然语言理解和生成方面表现优异。 #### 3. MetaGPT 作为模仿传统软件公司结构的一种尝试,MetaGPT 将不同角色的功能赋予给各个独立运行的小型智能体,比如产品经理、设计师以及程序员等。它们共同合作完成整个项目周期内的各项职责,从而实现了端到端解决方案的设计与实施过程自动化[^4]。此方法非常适合那些希望减少人为干预程度较高的重复劳动的企业客户群体需求分析环节。 #### 4. AgentVerse / ChatDev AgentVerse 或者说ChatDev系列也是比较受欢迎的一类产品之一;这类产品的特点是利用预训练好的对话模型为基础组件搭建起来的整体架构体系——即所谓的“聊天机器人工厂”。在这里面每一个具体的实例都可以看作是由若干个特定技能导向型子模块组合而成的结果集; 这些子模块之间相互配合形成最终对外展示的服务界面形式. #### 5. Hugging Face Transformers & Inference API 虽然严格意义上不属于专门针对智能代理设计的产品类别,但是由于HuggingFace所提供的大量高质量预训练权重文件资源再加上简单直观易于集成使用的接口服务(HF Endpoint),使得很多开发者倾向于将其当作底层支撑层的一部分纳入自己的整体方案当中去考虑.[^3] --- ### 示例代码:基于 Python 使用 AutoGen 创建简单的智能体通信机制 ```python from autogen import AssistantAgent, UserProxyAgent # 初始化两个智能体 assistant = AssistantAgent(name="assistant", llm_config={"model": "gpt-4"}) user_proxy = UserProxyAgent( name="user_proxy", human_input_mode="TERMINATE", ) # 设置对话主题 conversation_topic = "Discuss the impact of AI on society" # 开始交流 user_proxy.initiate_chat(assistant, message=conversation_topic) ``` --- ### 总结 以上列举了几种目前较为流行且各具特色的智能体开发框架。具体选择哪一种取决于实际业务需求、团队技术水平以及预算限制等因素综合考量后的决定。无论是追求极致效率还是探索前沿科技方向,总有一款能满足您的期望!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值