dapr/dapr-agents

Build autonomous, resilient and observable AI agents with built-in workflow orchestration, security, statefulness and telemetry.

Dapr Agents – 构建生产级AI代理系统的框架

是什么 – Dapr Agents 是一个开源的 Python SDK(及配套运行时),可让您编写使用大语言模型(LLMs)进行推理、行动和协作的 代理型 应用程序,同时依赖 Dapr 的成熟组件来实现可扩展性、弹性与可观测性。

为何重要 – 构建可靠、分布式的 AI 代理非常困难:您需要状态持久化、重试机制、服务发现、安全通信,以及与多种数据源的集成。Dapr Agents 隐藏了这些复杂性。每个代理都以 Dapr 的 actor(轻量级、有状态的计算单元)形式运行,并通过 Dapr 的持久执行引擎编排多步骤工作流,即使发生崩溃或网络故障,代理也能从断点处继续执行。


核心功能(如 README 所述)

功能 您将获得
可扩展性与效率 数千个代理可共享单个 CPU 核心;Dapr 会自动在集群中分配工作。
工作流弹性 代理任务的每一步都具备自动重试和状态恢复能力。
Kubernetes 原生 将代理部署为常规 Dapr 支持的服务;Sidecar 负责网络、密钥和扩展。
数据驱动 内置绑定和状态存储可即时访问超过 50 个企业级数据源(如 PDF、数据库、消息队列)。
多代理协作 安全、可观测的服务间调用和 Pub/Sub 使代理能够相互通信或与外部服务交互。
供应商中立 适用于任何云或本地环境;支持多个 LLM 提供商。
AI 专用辅助功能 结构化输出、工具选择、上下文记忆、灵活提示、零配置 MCPServer 工具自动发现。
安全与可靠性 mTLS 加密、Dapr 弹性策略(超时、重试、熔断器)、细粒度访问控制。

典型代理示例(来自 README 的 Python 代码)

from dapr_agents import DurableAgent

agent = DurableAgent(
    name="my-agent",
    role="多工具助手",
    runtime=workflow_runtime,
)  # MCPServer 工具自动发现 – 无需额外配置

代理启动时,Dapr Agents 会查询本地 Dapr Sidecar 中加载的 MCPServer 资源,获取其工具定义并注册为工作流步骤。开发者只需编写业务逻辑,框架负责发现、状态和重试。


快速入门(快速启动检查清单)

  1. 安装前置条件 – Dapr CLI、Python ≥ 3.11,以及 uv 包管理器。
  2. 初始化 Daprdapr init 在本地设置 Sidecar。
  3. 添加 SDKuv add dapr-agents(或 pip install dapr-agents)。
  4. 运行快速入门示例 – 仓库包含逐步教程,展示如何创建简单代理、连接数据源并实现扩展。
  5. 探索示例 – 更完整的演示(包括 MCPServer 自动发现)位于 examples/ 目录下。

适合谁使用

  • 平台团队:需要在 Kubernetes 或本地集群上以标准方式大规模运行 AI 代理的团队。
  • 开发者:构建多代理工作流、检索增强生成流水线,或需要在多次调用中保持上下文的自主助手的开发者。
  • 企业:希望避免供应商锁定,并将 AI 逻辑保留在自有安全与可观测性栈之后的组织。

社区与贡献

  • CNCF 项目:在云原生计算基金会(CNCF)框架下治理。
  • Discord 与 YouTube:活跃的帮助与公告频道。
  • 贡献指南:遵循仓库的《行为准则》,开发使用 uv,运行测试套件(uv run pytest)。
  • 路线图:Python 支持计划于 2025 年 Q4 稳定版发布;其他语言绑定正在规划中。

TL;DR

Dapr Agents 提供一个生产就绪的平台,让您编写能够 扩展、抵御故障、与数据库和其他代理通信、保持安全 的 AI 代理,同时让您专注于 LLM 驱动的逻辑,而非分布式系统的底层 plumbing。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • 项目