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ê.

Mesmo projeto, qualquer agente

Claude Code

ai-memory

Codex

OpenCode

Projeto A

Projeto B

Projeto C

Perfil

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.

Suas palavras

Visto em 2 projetos

Uma entrada

Toda sessão nova

Suas palavras

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 entradas adequadas em um bloco gerenciado do arquivo de regras do repositório. Só roda quando você o chama e preserva o texto fora do bloco. Outros comandos locais de configuração e agentes também podem editar arquivos do repositório.

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.

  • Remova uma entrada do perfil

    ai-memory profile forget remove uma entrada e impede reaprendê-la a partir da mesma evidência. Novas evidências podem recriá-la. O histórico git e backups anteriores podem manter cópias.

  • 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.

  • Exclua um projeto do perfil

    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.

O que a exclusão remove e o que o histórico pode manter

.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

    Quando habilitado para contas de usuários do banco de dados, cada pessoa recebe um perfil restrito que só ela e root podem ler. Identidades de proxy confiável não têm essa barreira de permissões das contas do banco; a autorização cabe ao proxy.

  • 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é ser habilitado. Contas de usuários do banco de dados passam a ter perfis privados que só a pessoa e root podem ler. Um perfil compartilhado do time é uma escolha separada e exige evidências de dois operadores. Identidades de proxy confiável dependem da autorização do proxy.

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. Os recursos padrão de memória não precisam de chave de API de modelo; seu agente de código pode exigir uma conta própria.