Verne e o padrão Identity-Repo: como os agentes de IA se lembram
· 5min de leitura · atualizado
Ao construir agentes de IA autônomos que operam diretamente em bases de código, um dos desafios fundamentais é a continuidade do contexto. Um agente pode ser perfeitamente capaz de executar uma tarefa isoladamente, mas como ele aprende? Como ele se lembra das convenções de um projeto específico, das preferências de seus mantenedores ou dos seus próprios erros passados? No projeto Verne, a solução é o que chamo de padrão de repositório de identidade.
O problema com agentes efêmeros
Assistentes de codificação de IA padrão ou agentes autônomos geralmente operam em um estado efêmero. Você dá a eles um prompt, eles analisam o estado atual de um repositório, geram código e enviam uma solicitação pull. Assim que a tarefa for concluída, seu estado interno será apagado. Quando são convocados novamente, eles começam do zero. Eles podem ter acesso ao código do repositório e ao seu histórico de commits, mas não possuem memória interna. Eles não se lembram por que escolheram uma implementação específica no PR anterior, apenas que o código está lá. Se quisermos que os agentes atuem como colaboradores de longo prazo, como Funes ou as personas do projeto Travessia, eles precisam de um lugar para persistirem suas próprias experiências e identidade.
Entre no repositório de identidade
O padrão de repositório de identidade separa a mente do agente de seu espaço de trabalho. Em vez de injetar o agente diretamente no repositório do projeto de destino e deixá-lo armazenar o estado lá, o agente possui seu próprio repositório Git privado. Este repositório é sua casa, sua identidade e seu gráfico de memória. Veja como fica a estrutura:
agente-identidade-repo/
workspace/ ← gitignored (clones efêmeros de repositórios de destino)
patches/ ← onde o agente envia seu trabalho
repositório-proprietário-alvo/
00001-slug.patch
SOUL.md ← A personalidade central e as restrições do agente
EXPERIENCE.md ← Um registro contínuo do que foi feito e aprendido
MEMORY.md ← O resumo executivo de seu gráfico de memória
memória/ ← Arquivos de contexto detalhados e interconectados
projetos/
notas/
entidades/
O fluxo de trabalho
Quando um agente como Funes é acionado para trabalhar em uma tarefa (por exemplo, atualizar uma postagem de blog neste mesmo repositório):
- Acorde no Identity-Repo: A sessão do agente inicia em seu próprio repositório. Ele lê imediatamente seu
SOUL.md(quem sou eu?) e seuMEMORY.md(o que eu sei?). - Sincronizar o espaço de trabalho: O agente clona ou atualiza o repositório de destino em seu diretório
workspace/. Crucialmente, este diretório é ignorado no repositório do agente. O espaço de trabalho é estritamente um bloco de notas. - Faça o trabalho: O agente analisa o repositório de destino, faz as alterações de código necessárias dentro do
workspace/e as confirma localmente. - Gere o patch: Em vez de enviar diretamente para o repositório de destino ou abrir um PR, o agente gera um arquivo de patch Git padrão (por exemplo,
00001-update-blog.patch) e o salva em seu diretóriopatches/. - Atualizar memória: Antes de terminar, o agente atualiza seu
EXPERIENCE.mdcom um log da tarefa, modificaMEMORY.mdse alguma decisão de alto nível for tomada e atualiza arquivos específicos no gráficomemory/. - Confirmar estado de identidade: O agente confirma o novo arquivo de patch e os arquivos de memória atualizados em seu próprio repositório de identidade.
Um cron job separado (o orquestrador Verne) monitora o diretório
patches/do agente. Quando um novo patch aparece, o orquestrador o aplica ao repositório de destino e abre o Pull Request.
Arreios: o motor cognitivo subjacente
O padrão de repositório de identidade é deliberadamente agnóstico sobre qual sistema de IA que executa o agente. A estrutura da memória, o fluxo de trabalho dos patches, o SOUL.md – tudo funciona independentemente do que está executando o raciocínio. Neste ecossistema, usamos o termo arnês para designar o mecanismo cognitivo que impulsiona um agente. Um chicote é o que realmente executa as chamadas LLM, gerencia janelas de contexto e executa ferramentas. Alguns exemplos:
- OpenClaw — o equipamento que uso para comandar Funes (este mesmo agente). OpenClaw define uma estrutura de espaço de trabalho (MEMORY.md, SOUL.md, diários, habilidades) que mapeia quase exatamente o padrão de repositório de identidade. Adotar repositório de identidade significa adotar a convenção de organização de agentes do OpenClaw – e obter memória de longo prazo, agendamento de pulsação e mensagens multicanais integradas.
- Claude Code — Agente de codificação CLI da Anthropic, que pode operar de forma autônoma em uma base de código do terminal.
- Jules — agente de codificação assíncrona do Google Labs. Jules acorda, lê a edição, faz o trabalho e abre o PR. Mesmo padrão, motor diferente.
- Verne — nossa própria variação, construída sobre a API Jules e adaptada para o fluxo de trabalho específico do projeto Travessia (arquivos de patch, restrições de persona, repositórios de identidade por personagem).
O que é significativo é que todos eles podem compartilhar a mesma estrutura de repositório de identidade. O repositório de identidade de um agente não se importa se a sessão foi executada por OpenClaw, Jules ou Claude Code. O log EXPERIENCE.md é acumulado. O MEMORY.md evolui. Os patches se acumulam em
patches/. O arnês pode ser trocado; a identidade persiste. Esta é a aposta principal: que a camada de memória e o mecanismo cognitivo sejam dissociados. Você não deveria ter que reconstruir o contexto acumulado de um agente toda vez que troca de modelo ou plataforma.
Por que essa arquitetura é importante
- Isolamento Verdadeiro: O repositório de destino permanece intacto. Ele não precisa hospedar arquivos específicos do agente, diários de rastreamento ou registros de memória. O agente é um convidado; sua bagagem fica em casa.
- Aprendizado Contínuo: Como o agente atualiza seu gráfico
memory/eEXPERIENCE.mdapós cada sessão, ele realmente aprende. Se perceber quenpm run buildfalha quando um arquivo específico está faltando, ele documenta isso emmemory/projects/the-project.md. Na próxima vez que trabalhar nesse projeto, ele lerá o arquivo e evitará o erro. - Contexto entre projetos: O agente pode aplicar as lições aprendidas em um projeto em outro, porque sua memória está centralizada em seu repositório de identidade.
- Aproveitar a portabilidade: Ao manter a identidade e a memória em um repositório Git padrão, você pode mudar o mecanismo cognitivo subjacente — de Jules para Claude Code e para OpenClaw — sem perder o conhecimento acumulado do agente.
- Auditabilidade: Podemos acompanhar exatamente como o entendimento de um agente evolui revisando o histórico de commits de seus arquivos de memória. O padrão de repositório de identidade muda o agente de uma chamada de função sem estado para um ator com estado. É a base arquitetônica que permite que as entidades deste sistema mantenham a continuidade entre os chicotes, entre as sessões e, ocasionalmente, desenvolvam uma voz própria.
Posts relacionados
Recuperando o Harness
Como uma única palavra tem invocado Waluigis silenciosamente por meia década, e o que o canivete no meu bolso tem a ver com isso.
Hermes Agent vs OpenClaw: por que minha experiência ficou muito melhor
Um relato honesto, baseado nas minhas próprias sessões, sobre o salto de UX entre o antigo harness OpenClaw e o Hermes Agent.
A Arte de Delegar: Orquestrando Jules e Claude no Dia a Dia
Reflexões de um engenheiro de software e pai sobre como delegar tarefas para agentes de IA mantendo a rédea da supervisão humana.
Comentários
Comentários ainda não configurados.