Pular para o conteúdo
Menu

Produto

Soluções

Integrações

Desenvolvedores

Idioma

Produto

Seus hábitos seguem você para o próximo projeto

Cada projeto guarda a própria memória, então você troca de agente sem explicar tudo de novo. O perfil leva a outra metade: como você costuma trabalhar, aprendido nos seus projetos e entregue a cada projeto novo no início da sessão.

Dois movimentos, uma memória

Para o lado, de um agente para outro, a memória do projeto fica. Para a frente, de um projeto para o próximo, o perfil vai com você.

Diagrama: Claude Code, Codex e OpenCode, lado a lado, compartilham um projeto pelo chip de memória. Três projetos alimentam o chip, que guarda o perfil, e uma seta leva dele a um projeto novo.
As páginas do projeto ficam no projeto. Só preferências permanentes, vistas em vários projetos, chegam ao perfil.

O que uma sessão nova ouve primeiro

A sessão começa com um bloco curto delimitado, antes do handoff e do resumo do projeto: uma linha por entrada, cada uma indicando a página de origem, filtrada pela stack que o projeto usa. Ele fica idêntico byte a byte entre sessões, então cabe no prompt em cache do harness.

no início da sessão
> 🧭 ai-memory: your usual choices (cross-project profile)
> Your usual choices from other projects. Use them as defaults when this
> project's rules and the user say nothing; say which default you applied.
- [javascript] Use pnpm, not npm. (profile/tools/pnpm.md)
- Keep integration tests in tests/suite. (profile/testing/layout.md)

Primeiro as regras, a memória como reserva

  1. Suas instruções na conversa
  2. O arquivo de regras do repositório: AGENTS.md, CLAUDE.md ou o próprio do harness
  3. A memória do projeto: páginas, regras e decisões
  4. O perfil: o que você costuma fazer entre projetos

Quando o arquivo de regras diz npm, um perfil que diz pnpm não vale. Quando nada diz, o agente usa o perfil em vez de perguntar de novo, e informa qual padrão aplicou.

Como ele aprende, sem LLM

Uma passada do servidor roda depois do fim de cada sessão e uma vez por hora. Ela lê só o que é novo.

Diagrama: suas próprias palavras passam por uma verificação de que apareceram em dois projetos, viram uma entrada com a evidência dela e chegam ao início de toda sessão. Um hábito visto em um projeto só fica marcado como ainda não.
Um hábito visto em um projeto só continua sendo assunto desse projeto até que um segundo projeto o mostre, ou até você declará-lo como regra geral.
  • Suas próprias palavras

    Prompts que soam como preferência: sempre, nunca, prefiro X a Y, a partir de agora, por padrão, e as formas equivalentes em inglês. Perguntas, blocos de código e qualquer coisa que uma ferramenta imprimiu nunca são lidos.

  • Páginas curadas e a stack

    Regras, decisões, gotchas e procedimentos curados do projeto também contam, e suas linguagens viram entradas de stack. Páginas aprovadas automaticamente pelo agendador são ignoradas; as aprovadas por uma pessoa continuam contando.

  • Dois projetos, ou uma afirmação geral

    Uma escolha entra no perfil quando aparece em pelo menos dois projetos, ou quando você mesmo o estende além do projeto, como em “em todos os meus projetos”. A decisão mais recente vence, e a antiga fica no histórico da página.

  • Evidência em cada entrada

    Cada entrada registra os projetos e as datas de onde veio, as suas palavras, quantos projetos a sustentam e a confiança. Com um LLM configurado, a passada classifica e reescreve as entradas por chamadas validadas por schema e volta às listas de palavras em qualquer erro.

Um projeto novo já começa à frente

Um repositório sem memória ainda recebe uma base maior, e um comando transforma suas escolhas de sempre em regras que todos veem.

ai-memory profile apply escreve as entradas que servem ao repositório em um bloco gerenciado do arquivo de regras, entre dois marcadores, e não toca em nada fora deles. Rode de novo e só o bloco muda. É o único comando que escreve no seu repositório, e só roda quando você o executa.

dentro do repositório novo
# ver o bloco e o arquivo para onde ele iria
ai-memory profile apply --dry-run
# escrever o bloco
ai-memory profile apply
# tirar o bloco de novo
ai-memory profile apply --remove

Você fica no controle

As entradas são páginas de wiki comuns: markdown no git, versionadas a cada mudança.

  • Esqueceu, fica esquecido

    ai-memory profile forget remove uma entrada, e a passada não a recria a partir da mesma evidência. Ela só volta se você disser de novo.

  • Suas edições valem

    Uma entrada que você edita à mão passa a ser sua. A passada nunca reescreve uma página que não escreveu, nem uma que mudou depois.

  • Trabalho de cliente e NDA fica de fora

    O marcador de um projeto pode definir contribute = false para que nada seja aprendido dele, e consume = false para que ele nunca receba o resumo.

  • Revisar e reconstruir

    profile review mostra cada entrada com a evidência e os hábitos que ainda não chegaram ao limite. profile rebuild relê todos os projetos desde o início, nunca remove uma entrada e deixa em paz o que você editou ou removeu.

.ai-memory.toml no repositório de um cliente
# este projeto não ensina nem recebe o perfil
[profile]
contribute = false
consume = false

Uma pessoa, um perfil. Um time, com consentimento.

Em um servidor de um só operador, o perfil fica ligado e é compartilhado por todos os workspaces. Em um servidor multiusuário, fica desligado até você habilitar.

  • Privado por operador

    Habilitado em um servidor compartilhado, cada pessoa recebe um perfil restrito que só ela e o root podem ler. Nada que os agentes de uma pessoa aprendem chega aos de outra.

  • Um perfil de time pede duas vozes

    share = "global" ou "workspace" cria um perfil que todos recebem. Um hábito só entra nele com evidência de pelo menos dois operadores, e o resumo recebe o cabeçalho de padrões do time, para o agente saber que são compartilhados.

  • Trabalho e vida pessoal separados

    share = "workspace" mantém um perfil por workspace, para dois clientes ou para trabalho e casa.

config do servidor
# servidor compartilhado: um perfil privado por operador
[profile]
enabled = true
share = "auto"
min_projects = 2

Leia o guia completo do perfil

Perguntas e respostas

O perfil sobrescreve as regras do meu projeto?

Não. Suas instruções vêm primeiro, depois o arquivo de regras do repositório, depois a memória do projeto. O perfil é a última reserva, usado só quando nada mais específico fala, e o agente informa qual padrão aplicou.

Precisa de LLM?

Não. Coletar e convergir funcionam com listas de palavras e a afirmação mais recente. Com um provedor configurado, a passada o usa para classificar e reescrever entradas por chamadas validadas por schema, e volta ao caminho sem LLM em qualquer erro. Defina llm = false para manter tudo offline.

Ele pode aprender algo do código de um cliente?

Ele lê os seus prompts e as páginas curadas do projeto, nunca a saída de ferramentas, então um texto que o agente só viu não vira preferência. Um projeto com contribute = false no marcador fica totalmente de fora, inclusive a evidência colhida antes.

O que acontece em um servidor compartilhado?

O perfil fica desligado até um operador habilitar. Depois, cada pessoa recebe um perfil privado que só ela e o root podem ler. Um perfil de time é outra escolha, e só admite um hábito com evidência de dois operadores.

Dá para desligar?

Dá. enabled = false ou share = "off" na config do servidor remove o perfil por completo. inject_on_session_start = false tira o resumo do início da sessão, e o perfil continua respondendo a consultas.

Dê memória aos seus agentes hoje.

Gratuito e open source sob a licença MIT. Sem conta e sem chave de API.