Em 2019, a Microsoft abriu o código do Dapr, um novo runtime que torna mais simples a criação de aplicações distribuídas baseadas em microserviços. Naquela época, ninguém falava sobre agentes de IA, mas, como se descobriu, o Dapr já trazia alguns dos blocos fundamentais para suportá-los desde o início. Isso ocorre porque uma das funcionalidades centrais do Dapr é o conceito de atores virtuais, capazes de receber e processar mensagens de forma independente dos demais atores do sistema.
Hoje, a equipe do Dapr lança o Dapr Agents, sua solução para ajudar desenvolvedores a construir agentes de IA, fornecendo muitos dos componentes necessários para essa tarefa.
“Agentes são um excelente caso de uso para o Dapr”, explicou Yaron Schneider, co-criador e mantenedor do Dapr. “De uma perspectiva técnica, você pode usar atores como uma maneira extremamente leve de executar esses agentes, permitindo rodá-los em escala com estado – e de forma eficiente em termos de recursos. Tudo isso é ótimo, mas ainda há muita lógica de negócios que precisa ser escrita. A manutenção do estado e sua orquestração são apenas uma parte. Muitas pessoas podem optar por um mecanismo de fluxo de trabalho ou por um framework de atores, mas ainda há muito trabalho para desenvolver a lógica do agente na outra ponta. Existem diversos frameworks de agentes por aí, mas eles não possuem o mesmo nível de orquestração e manutenção de estado que o Dapr oferece.”
Os Dapr Agents têm origem no Floki, um projeto open-source popular que estendia o Dapr para esse caso de uso dos agentes de IA. Em conversas com os mantenedores do projeto, incluindo o pesquisador de IA da Microsoft, Roberto Rodriguez, as equipes decidiram incorporar o projeto à estrutura do Dapr para garantir a continuidade do novo framework de agentes.
“De muitas maneiras, enxergamos os sistemas agentivos e toda a terminologia associada como outro termo para ‘sistemas distribuídos’”, afirmou Mark Fussell, co-criador e mantenedor do Dapr. “[…] Em vez de chamá-los de microserviços, agora você pode chamá-los de agentes, especialmente porque é possível integrar grandes modelos de linguagem entre eles.”
Para coordenar esses agentes de forma eficiente, é necessário um mecanismo de orquestração e manutenção de estado – exatamente o que o Dapr oferece. Isso se deve, em parte, ao fato de que os atores do Dapr foram projetados para serem extremamente eficientes, sendo capazes de iniciar em poucos milissegundos quando uma mensagem chega e de encerrar, com o estado preservado, ao término da tarefa.
No momento, os Dapr Agents podem se comunicar automaticamente com a maioria dos provedores de modelos populares, incluindo AWS Bedrock, OpenAI, Anthropic, Mistral e Hugging Face. Em breve, o suporte para LLMs locais estará disponível.
Além de interagir com esses modelos, por estenderem a estrutura existente do Dapr, os Dapr Agents permitem que os desenvolvedores definam uma lista de ferramentas que o agente pode utilizar para executar uma tarefa específica.
Atualmente, os Dapr Agents suportam Python, com o suporte para .NET sendo lançado em breve. Java, JavaScript e Go também devem seguir essa evolução.