stamatios
← Voltar ao feed
Caixa de ferramentas de vidro com todas as peças visíveis, transparência total do harness open source Exo para agentes
Open Source · Agentes

Exo: harness de agentes de IA com código e logs totalmente visíveis

resumo de ~3 min

O que é o Exo

Exo é um projeto de código aberto sob licença MIT publicado no GitHub. A documentação o descreve como um harness completo de agentes de IA - com suporte a ferramentas, tarefas e integrações, em linhas gerais semelhante a OpenClaw, Pi ou Hermes - cuja diferença central é a visibilidade total do próprio código e dos logs de execução. Segundo o projeto, isso permite ao agente melhorar cada aspecto de si mesmo de forma incremental, criar clones e gerenciar uma linhagem de clones.

Autoaperfeiçoamento recursivo

Enquanto a maioria dos agentes faz algum autoperfeiçoamento limitado, como atualizar memória ou criar habilidades, o Exo é apresentado como totalmente recursivo: pode clonar ou operar sobre qualquer parte de si mesmo, de prompts e memória a ferramentas e até a política básica do harness, numa evolução projetada para ser incremental e majoritariamente segura. A única exceção é um log de eventos que guarda a história canônica do que o agente já tentou, criado justamente para impedir que ela fique presa em loops recursivos.

O objetivo declarado é oferecer o framework mínimo possível para dar ao agente capacidade plena de autoperfeiçoamento, maximamente alinhado à Bitter Lesson: modelos futuros mais inteligentes poderiam evoluir todo o sistema em tempo de execução, com segurança e histórico completo. Como evidência de uso, o texto cita agentes que aprenderam a jogar jogos, se auto-otimizaram em custo e construíram sistemas complexos, casos que teriam exigido modificações profundas além da memória.

Instalação e operação

O Exo exige uma chave de API da OpenAI ou do OpenRouter, além de git e Docker - que o script de configuração instala se faltarem - e configura toolchains fixados de node, pnpm e rust via mise. A interface diária é o script ./exo.sh, com comandos como list, stop-all, fresh e setup-profile. O template padrão cria um sandbox Docker com o repositório montado em /workspace/exo e acesso remoto pelo ExoChat; há variantes dev, com IRC e Discord, e minimal, um REPL puro. Os agentes são projetados para execução longa: sair do terminal não encerra o agente, que continua acessível pelo exo-chat, chat web hospedado em exoharness.ai, e por canais como IRC, Discord, WhatsApp, Signal e Slack.

Arquitetura interna

O loop básico roda no host, fora do sandbox: recebe mensagens e eventos, monta o contexto do modelo, expõe as ferramentas ativas, executa as chamadas e registra os resultados. O sandbox é um ambiente Ubuntu simples, onde o agente instala pacotes e experimenta, com possibilidade de criar instantâneos e reverter mudanças. Ferramentas são funções que o modelo chama, como a de shell; adaptadores são processos hospedeiros de longa duração para canais externos. O estado canônico - histórico de conversas, atividade de ferramentas, eventos, artefatos e registros do sandbox - fica fora do sistema de arquivos do sandbox e não é revertido quando este é. Por fim, o código-fonte fica montado no sandbox em /workspace/exo, e o agente pode ler e modificar esse código, reconstruir e reiniciar a si mesmo e os demais componentes.

Depuração, limites e próximos passos

Para acompanhar o agente, o comando pnpm events:tail segue o fluxo durável de eventos; o scheduler e os adaptadores têm logs separados em .exo/. Eles sobrevivem a reinicializações, mas o comando fresh apaga o estado de agentes e conversas. A limitação mais evidente admitida é a ausência, por enquanto, de uso generalizado de computador em sistemas com janelas, recurso em desenvolvimento; enquanto isso, o projeto sugere pedir ao próprio agente que construa essa capacidade. Os prompts ficam em arquivos editáveis, como exo/prompts/me.md e o exo/harness.ts, que monta o prompt enviado a cada turno.

Extensões feitas por humanos mostram o alcance: o ExoWorker é um trabalhador autônomo de longa duração com planejamento de tarefas em árvore e memória durável, e o Gameboy Agent adiciona um emulador para jogar jogos de Game Boy. As frentes em andamento incluem manutenção autônoma periódica do contexto e das ferramentas, execução recuperável e portátil entre máquinas e orquestração multiagente, com políticas para decidir quando clonar, dividir trabalho e encerrar linhagens sem custo ilimitado. O repositório somava 1,2 mil estrelas e 93 forks.