Framework Kotlin ganha espaço no GitHub ao levar agentes à JVM
Projeto combina modelos de linguagem, código e objetos de domínio para criar fluxos de agentes com planejamento dinâmico.
Projeto combina modelos de linguagem, código e objetos de domínio para criar fluxos de agentes com planejamento dinâmico.
O Embabel Agent Framework é um framework para criar fluxos agênticos na JVM, mantido pela organização embabel. Escrito em Kotlin e com uso previsto também em Java, o projeto entrou na lista semanal do GitHub Trending e acumulava 4.044 estrelas na consulta de 9 de agosto de 2026. A proposta é resolver um problema comum em aplicações com inteligência artificial: coordenar modelos de linguagem, código tradicional e regras de negócio sem limitar o sistema a uma sequência fixa de etapas.
embabel/embabel-agentAplicações baseadas em agentes precisam decidir quais ações executar para alcançar um objetivo. Em uma implementação convencional, esse comportamento pode ser descrito como uma máquina de estados finitos ou como uma sequência fixa de chamadas, estrutura que tende a exigir alterações manuais quando surgem novas regras, dados ou etapas.
O Embabel organiza esse cenário em torno de ações, objetivos, condições e um modelo de domínio. A combinação permite que o sistema escolha caminhos com base no estado atual da aplicação, em vez de depender apenas de um roteiro previamente definido pelo programador.
A documentação do projeto também descreve a possibilidade de misturar interações orientadas por prompts com código e modelos de domínio. Isso aproxima os recursos de IA das estruturas tipadas usadas em aplicações na JVM.
O fluxo começa com um objetivo que o agente deve alcançar. A partir dele, o sistema considera ações disponíveis, condições de execução e objetos do domínio para formular um plano. Depois de cada ação, as condições são reavaliadas e o plano pode ser reorganizado conforme as novas informações e os efeitos observados.
Em termos simples, a operação pode ser representada assim:
Objetivo
→ avaliação de ações, condições e dados do domínio
→ plano de execução
→ execução de uma ação
→ reavaliação do estado
→ novo plano ou conclusão do objetivo
Esse comportamento é descrito no README como um ciclo OODA, sigla em inglês para observar, orientar, decidir e agir. O planejamento é realizado por um algoritmo de IA não baseado em LLM, segundo o projeto, e pode combinar etapas em ordens diferentes, avaliar paralelização e adaptar o comportamento durante a execução.
O README não informa um comando específico de instalação. A documentação indicada pelo projeto está disponível em docs.embabel.com, e a homepage oferece uma interface para consultar informações sobre o framework em linguagem natural.
Esses casos representam capacidades descritas no repositório, não uma lista de integrações ou aplicações prontas. Provedores de modelos, requisitos de infraestrutura e exemplos completos de produção não são informados no repositório analisado.
A principal diferença apresentada pelo Embabel está no planejamento dinâmico. Em vez de depender somente de uma máquina de estados ou de uma execução sequencial com aninhamentos, o sistema pode formular planos e reorganizá-los após cada ação.
O projeto também destaca a reutilização de componentes. A inclusão de novos objetos de domínio, ações, objetivos e condições pode ampliar o comportamento do sistema sem exigir a edição de definições de máquinas de estados ou do código existente.
Outro ponto é a tipagem forte. O framework foi escrito em Kotlin, mas oferece um modelo de uso natural em Java, segundo o README. A proposta é conectar prompts e código manual sem depender de mapas genéricos, descritos pelo projeto como “magic maps”.
O repositório foi criado em 10 de abril de 2025, teve o último commit em 9 de agosto de 2026 e chegou à versão v1.0.0 em 20 de julho de 2026. Esses dados indicam um projeto relativamente recente, embora a versão 1.0.0 marque uma etapa formal de lançamento.
A licença Apache-2.0 permite o uso conforme seus termos, mas não substitui a análise jurídica de cada aplicação. O README referencia Kotlin, Java, Spring, Spring Boot, Apache Tomcat, Maven, JUnit, Docker e outras ferramentas, mas a lista completa de dependências, requisitos de hardware e procedimentos detalhados de instalação não é informada no repositório fornecido.
Também não são informados detalhes sobre autenticação, isolamento de ferramentas, proteção contra prompts maliciosos, tratamento de dados sensíveis, retenção de registros ou limites de uso de modelos. Esses pontos devem ser verificados antes de colocar agentes em ambientes que processem informações confidenciais.