- EnCompass é um framework desenvolvido no MIT CSAIL e pela Asari AI que permite backtracking e clonagem de runtime de programas de agentes para buscar a melhor saída de chamadas a modelos de linguagem grande (LLMs).
- O sistema usa pontos de ramificação (branchpoints) para marcar operações sujeitas a variação, permitindo buscar diferentes caminhos de execução, inclusive em paralelo.
- É possível escolher estratégias de busca, como Monte Carlo tree search e beam search, além de permitir estratégias personalizadas pelos usuários.
- Em testes, EnCompass reduziu em até 80% o esforço de codificação necessário para adicionar busca a agentes, com ganhos de precisão de 15% a 40% em diferentes repositórios.
- Os pesquisadores destacam que a ferramenta facilita experimentar diferentes estratégias de busca para melhorar desempenho de agentes que traduzem código, descobrem regras de transformação e lidam com grandes bibliotecas de código, com aplicações potenciais em tarefas complexas no mundo real.
EnCompass é uma estrutura desenvolvida pela MIT CSAIL em parceria com a Asari AI para executar programas de agentes de IA por meio de backtracking e múltiplas tentativas. O objetivo é encontrar o conjunto de saídas geradas por modelos de linguagem grande (LLMs) mais preciso, otimizando tarefas de codificação e automação.
A equipe afirma que a ferramenta permite que usuários annotem pontos de ramificação e de clonagem do tempo de execução, além de registrar informações sobre a estratégia de busca. Com isso, programadores podem testar diferentes estratégias sem reescrever o código principal.
EnCompass: o que é e como funciona
O sistema faz backtracks automáticos quando o LLM erra e pode criar clones do tempo de execução para explorar várias possibilidades em paralelo. Ele busca o caminho que oferece a melhor solução entre as várias saídas dos LLMs.
Programadores podem escolher entre estratégias de busca fornecidas pela ferramenta ou criar as próprias. Exemplos citados incluem busca em árvore de Monte Carlo e busca em feixe (beam search), usadas para equilibrar exploração e exploração.
Resultados e aplicações
Em testes com agentes que traduzem repositórios de código de Java para Python, EnCompass reduziu em cerca de 82% a quantidade de código necessária para implementar a busca, com 348 linhas a menos. Além disso, melhorou a precisão entre 15% e 40% em cinco repositórios.
Os pesquisadores destacam que a ferramenta facilita a experimentação com diferentes estratégias, identificando a melhor para maximizar a performance de cada tarefa. A pesquisa foi apresentada no NeurIPS, em dezembro, com planos de ampliar o uso para tarefas em larga escala.
Entre na conversa da comunidade