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 资源,获取其工具定义并注册为工作流步骤。开发者只需编写业务逻辑,框架负责发现、状态和重试。
快速入门(快速启动检查清单)
- 安装前置条件 – Dapr CLI、Python ≥ 3.11,以及
uv包管理器。 - 初始化 Dapr –
dapr init在本地设置 Sidecar。 - 添加 SDK –
uv add dapr-agents(或pip install dapr-agents)。 - 运行快速入门示例 – 仓库包含逐步教程,展示如何创建简单代理、连接数据源并实现扩展。
- 探索示例 – 更完整的演示(包括 MCPServer 自动发现)位于
examples/目录下。
适合谁使用
- 平台团队:需要在 Kubernetes 或本地集群上以标准方式大规模运行 AI 代理的团队。
- 开发者:构建多代理工作流、检索增强生成流水线,或需要在多次调用中保持上下文的自主助手的开发者。
- 企业:希望避免供应商锁定,并将 AI 逻辑保留在自有安全与可观测性栈之后的组织。
社区与贡献
- CNCF 项目:在云原生计算基金会(CNCF)框架下治理。
- Discord 与 YouTube:活跃的帮助与公告频道。
- 贡献指南:遵循仓库的《行为准则》,开发使用
uv,运行测试套件(uv run pytest)。 - 路线图:Python 支持计划于 2025 年 Q4 稳定版发布;其他语言绑定正在规划中。
TL;DR
Dapr Agents 提供一个生产就绪的平台,让您编写能够 扩展、抵御故障、与数据库和其他代理通信、保持安全 的 AI 代理,同时让您专注于 LLM 驱动的逻辑,而非分布式系统的底层 plumbing。
相关
- 项目
- Dispatch
- 项目
- 项目
- 项目