>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Rust

Como Trocar Entre Claude Code e Codex Sem Perder o Contexto

ai-emory

Situação familiar: você está no terminal com o Claude Code, depurando um bug complicado em uma fila distribuída por uma hora e meia, tentou cinco hipóteses que não funcionaram, e finalmente encontrou a solução certa. Então a sessão cresce, o contexto comprime, ou os limites são atingidos. Você muda para o Codex ou OpenCode na mesma pasta, e o caos começa. O novo assistente precisa ser informado do zero: por que você não pode mexer no config do NGINX, quais testes já falharam, e qual estrutura de banco de dados escolhemos há vinte minutos.

O projeto ai-memory visa resolver esse problema de uma vez por todas. Foi criado por Fabio Akita (conhecido na comunidade como AkitaOnRails). A ideia é dar aos agentes de IA no console memória compartilhada de longo prazo e transferência automática de contexto entre sessões e diferentes modelos.

Qual é o conceito

Normalmente, "memória de IA" significa um banco de dados vetorial onde logs brutos de diálogo são despejados como embeddings. Na prática, esses logs estão cheios de lixo: chamadas de ferramentas intermediárias, execuções de testes repetidas, erros de sintaxe.

O autor do ai-memory seguiu um caminho diferente, inspirado no conceito de Wiki LLM do Karpathy. Aqui, a memória é estruturada como uma wiki comum feita de arquivos Markdown em um repositório Git. O servidor intercepta eventos de ciclo de vida do agente, limpa-os de ruído desnecessário e compila um resumo comprimido no final da sessão: o que foi feito, quais conclusões foram alcançadas, quais tarefas permanecem abertas.

Quando você abre um novo terminal com um agente diferente, a ferramenta alimenta automaticamente um resumo estruturado logo antes do primeiro prompt. Sem copiar manualmente para a área de transferência.

Por baixo dos panos e no terminal

O servidor é escrito em Rust. Ele inicia um serviço local com suporte a MCP (Model Context Protocol), ganchos de ciclo de vida e uma interface web integrada.

Suporta praticamente todos os CLIs de agentes atuais:

  • Claude Code
  • OpenAI Codex
  • Command Code
  • Devin CLI
  • OpenCode, Cursor, Zed
  • Gemini CLI, Grok Build CLI, Kimi Code, Kiro CLI, Pi / OMP

Os dados são armazenados localmente em um único diretório:

<data_dir>/
├── wiki/    # Markdown-страницы под версионным контролем Git
├── raw/     # очищенные сегменты сессий
├── db/      # SQLite с индексами FTS5, сущностями и эмбеддингами
└── logs/    # логи работы

Cada projeto é isolado pelo caminho do repositório ou via um arquivo marcador .ai-memory.toml. Se você trabalha com um monorepo ou múltiplos worktrees Git, eles são vinculados em um contexto unificado.

Principais funcionalidades na prática

Troca perfeita entre agentes

O ai-memory tem modo de sessão gerenciada ai-memory run. Funciona simplesmente assim:

cd /path/to/project
ai-memory run claude

# Закончили работу в Claude Code, продолжаем задачу в Codex:
ai-memory run codex --yolo

# А потом возвращаемся к сессии через Command Code:
ai-memory run command-code

O agente lê o bloco "onde paramos" na inicialização. Ele contém decisões arquiteturais recentes, perguntas em aberto e resultados de testes. Se você não especificar um nome de agente, o comando ai-memory run seleciona automaticamente a sessão ativa mais recente na pasta atual.

O comando ai-memory continue vai ainda mais longe: você pode chamá-lo de qualquer pasta, e ele vai levá-lo de volta ao projeto em que estava trabalhando por último.

Wiki em vez de despejo de logs

Toda a base de conhecimento é armazenada como texto simples. Você pode abri-la no Obsidian, ler com grep, ou navegar no navegador integrado na porta 127.0.0.1:49374/web.

Se você quiser registrar uma regra importante do projeto, basta dizer ao agente: "salve na memória permanente que usamos NATS JetStream para filas." O agente chama a ferramenta MCP memory_write_page, e um arquivo Markdown versionado aparece no repositório.

A busca na base de conhecimento é híbrida. A busca de texto completo SQLite FTS5 é executada primeiro, depois correspondência de entidades e conexões de grafo entre páginas. Se você conectar um modelo de embeddings, a busca vetorial também é adicionada.

Ao mesmo tempo, o ai-memory pode distinguir entre regras arquiteturais estáveis e notas temporárias de sessão, priorizando páginas estáveis das pastas _rules/ e decisions/.

Funcionando sem LLMs externos

Um detalhe interessante: o ai-memory inicia sem nenhuma chave de API de rede neural. No modo "zero-LLM", a busca funciona através de FTS5 e entidades, e os resumos de sessão são montados usando regras determinísticas.

Se você configurar as chaves (Anthropic, OpenAI, Gemini ou Ollama local via endpoint compatível), a ferramenta habilita consolidação inteligente de páginas, detecção de conflitos na base de conhecimento e autoaprendizado em segundo plano para o projeto.

Início rápido via Docker

A forma mais rápida de implantar o servidor na sua estação de trabalho:

# 1. Запускаем локальный сервер
docker run -d --name ai-memory \
    --restart unless-stopped \
    -p 127.0.0.1:49374:49374 \
    -v ai-memory-data:/data \
    -e AI_MEMORY_LLM_PROVIDER=anthropic \
    -e ANTHROPIC_API_KEY=sk-ant-... \
    akitaonrails/ai-memory:latest

# 2. Подключаем MCP и хуки для Claude Code
ai-memory install-mcp   --client claude-code --apply
ai-memory install-hooks --agent  claude-code --apply

Para usuários de Arch Linux, pacotes prontos ai-memory-bin com unidades systemd estão disponíveis no AUR. Binários nativos para Apple Silicon e Intel são lançados para macOS.

Se o servidor for movido para um servidor doméstico ou rede local, a segurança é configurada via tokens Bearer. O servidor escuta requisições, verifica autorização e separa a memória entre múltiplos desenvolvedores através de slots de operador.

Para que isso serve

A ferramenta resolve três tarefas específicas.

Primeiro — desenvolvimento multiagente. É mais rápido rascunhar uma tarefa no Claude, refatorá-la no Codex e fazer code review através do Gemini. Sem uma camada de memória compartilhada, esse fluxo de trabalho se transforma em uma rotina interminável de copiar contexto.

Segundo — integrar um agente a um repositório antigo. O comando ai-memory bootstrap lê o histórico de commits, README e documentação do projeto, gerando páginas iniciais da base de conhecimento.

Terceiro — auditoria local. A qualquer momento você pode abrir a interface web, verificar as notas geradas, reverter uma edição ruim via ai-memory restore-page, ou limpar dados obsoletos.

Resumo

O ai-memory agrada pela abordagem pragmática. Em vez de construir outra pilha pesada com bancos de dados vetoriais externos, o autor optou por Rust rápido, SQLite confiável e Git simples com Markdown.

Se você usa ativamente assistentes de IA no terminal e está cansado de reexplicar o contexto do projeto para os modelos todos os dias, o repositório definitivamente merece uma olhada. Comece com uma execução local pareada com seu CLI agent principal para avaliar o quão conveniente é a transferência de contexto entre tarefas.

Projetos relacionados