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
- 專案
- 專案
- 專案