In 2019, Microsoft Open-Sourced DAPR is a new runtime for building distributed microservices-based applications. At the time, no one was talking about AI agents yet, but after all, DAPR had some basic building blocks to support AI agents built in from the start. This is because one of the core features of DAPR is the virtual concept actorcan receive and process messages independently of all other actors in the system.
Today, the DAPR team is launching a DAPR agent. This is to help developers build AI agents by providing many building blocks.
“Agents are a very good use case for DAPR,” explained Yaron Schneider, co-creator and maintainer of DAPR. “From a technical standpoint, you can use actors as a very lightweight way to run these agents and actually run them on a large scale with the state. This is all great, but then there’s still a lot of business logic you need to write. The state and orchestration of it is just a small part. And while many people may choose a workflow engine or an actor framework, there’s still a lot of work needed to actually write agent logic on the other side. There’s a lot of agent frameworks, but there’s no similar level of orchestration and governance as DAPR.”
The DAPR agent came from FlokiA popular open source project that extends DAPR for this AI agent use case. Talking to project maintainers, including Microsoft AI researcher Roberto Rodriguez, two teams decided to bring the project to the DAPR umbrella to ensure continuity in the new agent framework.
“In many ways, we see the agent system and the entire term around it as another term for “distributed systems.” “[…] Rather than calling them microservices, they can be called agents, primarily because they can put large language models within everything. ”
Orchestration engines and statistics are needed to coordinate these agents efficiently, the team argues. This is exactly what DAPR offers. This is because the DAPR actors are very efficient and are meant to be able to spin up within milliseconds when a message comes in (and shut down in state preservation when their work is finished).
Currently, DAPR agents can talk out of the box with most popular model providers. These include AWS bedrock, Openai, artificial, mistral, and embracing faces. Local LLMS support arrives soon.
In addition to interacting with these models, DAPR agents extend the existing DAPR framework, so developers also get the ability to define a list of tools that agents can use to meet specific tasks.
Currently, the DAPR agent supports Python, and .NET support is on sale soon. Java, JavaScript, and Go will continue soon.