
O desenvolvimento de agentes de IA autónomos (autonomous AI agents) tem sido dificultado há muito tempo por um desafio persistente: o problema do erro composto (compounding error problem). À medida que os grandes modelos de linguagem (large language models - LLMs) executam fluxos de trabalho complexos e de várias etapas, uma única alucinação (hallucination) ou um erro lógico pode descarrilar um processo inteiro, tornando os agentes de longa execução pouco confiáveis para tarefas empresariais críticas. Num grande avanço anunciado esta semana, investigadores do Laboratório de Ciência da Computação e Inteligência Artificial do MIT (CSAIL) e da startup Asari AI revelaram o EnCompass, um novo framework concebido para resolver esta crise de fiabilidade ao reimaginar fundamentalmente a forma como os agentes executam código.
Apresentado na conferência NeurIPS 2025 e agora detalhado num artigo amplamente discutido, o EnCompass introduz o conceito de "pesquisa em tempo de inferência (inference-time search)" na programação de agentes. Ao dissociar a lógica central do agente das estratégias utilizadas para procurar resultados corretos, o framework permite que os desenvolvedores implementem mecanismos sofisticados de recuperação de erros — tais como retrocesso (backtracking) e exploração paralela — sem reescrever todo o seu código-base.
Para compreender a importância do EnCompass, é necessário primeiro entender a arquitetura dos agentes de IA modernos. Muitos agentes de nível empresarial operam num modelo de "programa no controlo" (program-in-control), onde um desenvolvedor define um fluxo de trabalho específico (ex: "traduzir este código", "analisar este relatório financeiro", "gerar uma hipótese") e o LLM é chamado para realizar sub-tarefas específicas.
Embora poderosos, estes sistemas são frágeis. Os LLMs são não-determinísticos; podem fornecer uma resposta brilhante num momento e uma alucinação no momento seguinte. Num fluxo de trabalho que envolve dezenas de etapas, a probabilidade de um erro fatal aproxima-se da certeza. Tradicionalmente, os desenvolvedores tentaram mitigar isto escrevendo extenso "código de ligação" (glue code) — loops manuais, lógica de repetição e verificações condicionais para capturar erros. Esta abordagem, no entanto, resulta frequentemente em códigos-base inchados e ingovernáveis, onde a lógica de tratamento de erros eclipsa a lógica da tarefa real.
O EnCompass aborda isto tratando a execução de um agente não como um caminho linear, mas como um problema de pesquisa. Em vez de esperar que o modelo acerte em todos os passos, o framework reconhece que o caminho "correto" está escondido dentro de uma árvore de possibilidades e fornece as ferramentas para navegar nessa árvore de forma eficiente.
No coração do EnCompass reside uma inovação teórica chamada Nondeterminismo Angélico Probabilístico (Probabilistic Angelic Nondeterminism) (PAN). Este modelo de programação permite aos desenvolvedores escrever o "quê" — a sequência de etapas que o agente deve realizar — separadamente do "como" — a estratégia utilizada para navegar nessas etapas.
Na prática, isto é alcançado através de um decorador Python, @encompass.compile. Quando um desenvolvedor envolve a função do seu agente com este decorador, o EnCompass compila o fluxo de trabalho num espaço de pesquisa. Os pontos no código onde o LLM é consultado são tratados como "pontos de ramificação" (branchpoints) — bifurcações na estrada onde a execução pode divergir.
Esta separação oferece benefícios profundos:
O framework EnCompass capacita os agentes com capacidades que mimetizam a resolução de problemas humana. Quando um especialista humano atinge um beco sem saída, ele retrocede a uma suposição anterior e tenta uma abordagem diferente. O EnCompass permite que os agentes de IA façam o mesmo programaticamente.
O framework suporta múltiplas estratégias de pesquisa nativamente, permitindo que os desenvolvedores otimizem a velocidade, o custo ou a precisão, dependendo do caso de uso.
Tabela: Estratégias de Pesquisa Suportadas pelo EnCompass
| Estratégia | Descrição | Melhor Caso de Uso |
|---|---|---|
| Beam Search | Explora múltiplos caminhos promissores em paralelo, mantendo apenas os k melhores candidatos em cada etapa. | Tarefas de alto risco que exigem um equilíbrio entre amplitude e velocidade. |
| Monte Carlo Tree Search (MCTS) | Utiliza simulações para estimar o valor a longo prazo das escolhas atuais, focando os recursos nos ramos mais promissores. | Tarefas de raciocínio complexas de várias etapas onde as decisões iniciais têm consequências tardias. |
| Best-of-N Sampling | Gera múltiplas soluções independentes e seleciona a melhor com base numa pontuação de verificador. | Tarefas com resultados facilmente verificáveis, como geração de código ou problemas matemáticos. |
| Backtracking (DFS) | Explora um caminho profundamente e retorna a um estado anterior se uma condição de falha for encontrada. | Ambientes com restrição de recursos onde encontrar uma solução válida é suficiente. |
Ao padronizar estas estratégias, o EnCompass permite que um agente que tenta traduzir um código-base Java para Python explore múltiplas opções de tradução para uma função complexa simultaneamente. Se um caminho levar a um código que não compila, o agente pode descartá-lo e prosseguir com uma alternativa viável, tudo gerido automaticamente pelo motor de execução.
Os investigadores validaram o EnCompass através de benchmarking rigoroso, nomeadamente um caso de estudo envolvendo a tradução automatizada de repositórios Java para Python — uma tarefa notória por exigir elevada precisão e consciência do contexto.
Os resultados, conforme detalhados no anúncio do MIT CSAIL, foram impressionantes. Os agentes melhorados com o EnCompass mostraram uma melhoria de 15% a 40% na precisão da tradução em comparação com agentes padrão que não utilizaram pesquisa. Talvez ainda mais impressionante para a comunidade de desenvolvedores tenha sido a redução na complexidade do código. A implementação da lógica de pesquisa através do EnCompass exigiu aproximadamente 80% menos linhas de código do que a implementação manual da mesma funcionalidade.
Este ganho de eficiência sugere que o EnCompass poderia democratizar a criação de agentes de IA robustos. Equipas mais pequenas, anteriormente incapazes de suportar a sobrecarga de engenharia de construir algoritmos de pesquisa personalizados, podem agora implementar agentes que rivalizam com a fiabilidade daqueles construídos por gigantes tecnológicos.
Para o setor empresarial, a chegada do EnCompass sinaliza uma maturação da engenharia de IA. Estamos a passar da era da "engenharia de prompts" (prompt engineering) — ajustar texto para convencer um modelo a funcionar — para a "engenharia de fluxo" (flow engineering) e "engenharia de pesquisa" (search engineering), onde a arquitetura sistémica garante a fiabilidade.
Zhening Li, o autor principal e investigador tanto no MIT CSAIL como na Asari AI, enfatizou que o EnCompass não é um substituto para frameworks como o LangChain, mas sim uma camada complementar. Enquanto o LangChain orquestra as ferramentas e os prompts, o EnCompass gere a trajetória de tomada de decisão.
Principais Implicações para a IA Empresarial:
O lançamento do EnCompass alinha-se com uma tendência mais ampla na indústria da IA: a mudança para o "computação em tempo de inferência" (inference-time compute). Tal como os recentes modelos de raciocínio da OpenAI dedicam mais tempo a "pensar" antes de responder, frameworks como o EnCompass permitem que os desenvolvedores troquem recursos computacionais por uma maior fiabilidade na camada da aplicação.
A Asari AI e a equipa do MIT vislumbram um futuro onde o EnCompass permite que os agentes atuem como verdadeiros colaboradores na descoberta. Imagine um agente encarregado de projetar um novo composto químico. Usando MCTS via EnCompass, o agente poderia explorar milhares de potenciais estruturas moleculares, retroceder quando um caminho de síntese se revela impossível e apresentar ao cientista humano apenas os candidatos mais viáveis.
Ao resolver eficazmente o problema da acumulação de erros, o EnCompass pode muito bem ser a infraestrutura que faltava para levar os agentes de IA de brinquedos experimentais a sistemas de produção críticos.