Dapr Agents is a developer framework for building durable and resilient AI agent systems powered by Large Language Models (LLMs). Built on the battle-tested Dapr project, it enables developers to create autonomous systems that reason through problems, make dynamic decisions, and collaborate seamlessly. It includes built-in observability and stateful workflow execution to ensure agentic workflows complete successfully, regardless of complexity. Whether you’re developing single-agent applications or complex multi-agent workflows, Dapr Agents provides the infrastructure for intelligent, adaptive systems that scale across environments.
Dapr Agents provides specialized modules designed for creating intelligent, autonomous systems. Each module is designed to work independently, allowing you to use any combination that fits your application needs.
Feature | Description |
---|---|
LLM Integration | Uses Dapr Conversation API to abstract LLM inference APIs for chat completion, or provides native clients for other LLM integrations such as embeddings, audio, etc. |
Structured Outputs | Leverage capabilities like OpenAI’s Function Calling to generate predictable, reliable results following JSON Schema and OpenAPI standards for tool integration. |
Tool Selection | Dynamic tool selection based on requirements, best action, and execution through Function Calling capabilities. |
MCP Support | Built-in support for Model Context Protocol enabling agents to dynamically discover and invoke external tools through standardized interfaces. |
Memory Management | Retain context across interactions with options from simple in-memory lists to vector databases, integrating with Dapr state stores for scalable, persistent memory. |
Durable Agents | Workflow-backed agents that provide fault-tolerant execution with persistent state management and automatic retry mechanisms for long-running processes. |
Headless Agents | Expose agents over REST for long-running tasks, enabling programmatic access and integration without requiring user interfaces or human intervention. |
Event-Driven Communication | Enable agent collaboration through Pub/Sub messaging for event-driven communication, task distribution, and real-time coordination in distributed systems. |
Agent Orchestration | Deterministic agent orchestration using Dapr Workflows with higher-level tasks that interact with LLMs for complex multi-step processes. |
Dapr Agents enables a comprehensive set of patterns that represent different approaches to building intelligent systems.
These patterns exist along a spectrum of autonomy, from predictable workflow-based approaches to fully autonomous agents that can dynamically plan and execute their own strategies. Each pattern addresses specific use cases and offers different trade-offs between deterministic outcomes and autonomy:
Pattern | Description |
---|---|
Augmented LLM | Enhances a language model with external capabilities like memory and tools, providing a foundation for AI-driven applications. |
Durable Agent | Extends the Augmented LLM by adding durability and persistence to agent interactions using Dapr’s state stores. |
Prompt Chaining | Decomposes complex tasks into a sequence of steps where each LLM call processes the output of the previous one. |
Evaluator-Optimizer | Implements a dual-LLM process where one model generates responses while another provides evaluation and feedback in an iterative loop. |
Parallelization | Processes multiple dimensions of a problem simultaneously with outputs aggregated programmatically for improved efficiency. |
Routing | Classifies inputs and directs them to specialized follow-up tasks, enabling separation of concerns and expert specialization. |
Orchestrator-Workers | Features a central orchestrator LLM that dynamically breaks down tasks, delegates them to worker LLMs, and synthesizes results. |
Dapr Agents is a Python framework built on top of the Python Dapr SDK, providing a comprehensive development experience for building agentic systems.
Get started with Dapr Agents by following the instructions on the Getting Started page.
Dapr Agents integrates with popular Python frameworks and tools. For detailed integration guides and examples, see the integrations page.
Dapr Agents inherits Dapr’s enterprise-grade operational capabilities, providing comprehensive support for durable and reliable deployments of agentic systems.
These capabilities enable teams to monitor agent performance, secure multi-agent communications, and ensure reliable execution of complex agentic workflows.
Whether you’re interested in enhancing the framework, adding new integrations, or improving documentation, we welcome contributions from the community.
For development setup and guidelines, see our Contributor Guide.