Claude Code: Sistema de Memória
Última atualização: 2026-08-31
O sistema de memória garante que o Claude Code não comece do zero toda vez — ele lembra suas preferências, convenções de projeto e decisões passadas.
📋 Pré-requisitos: Capítulo 14 - Sistema de Plugins
1. O Que Você Vai Aprender
- Arquitetura de memória em três camadas
- Mecânicas da memória de sessão
- Melhores práticas de memória de projeto (CLAUDE.md)
- Configuração de memória pessoal
- Estratégias de gerenciamento de memória
2. Modelo de Memória em Três Camadas
| Camada | Persistência | Escopo | Local de Armazenamento |
|---|---|---|---|
| Memória pessoal | Permanente | Todos os projetos | ~/.claude/CLAUDE.md |
| Memória de projeto | Permanente | Projeto atual | project/CLAUDE.md |
| Memória de sessão | Temporária | Sessão atual | Memória (não persistida) |
Prioridade de Memória
Memória de projeto > Memória pessoal > Memória de sessão
Quando o CLAUDE.md do projeto conflita com o global, o projeto vence.
▶ Exemplo 1: Cooperação das Três Camadas de Memória
# Memória global (~/.claude/CLAUDE.md)
"I prefer TypeScript strict mode, functions under 20 lines"
# Memória de projeto (project/CLAUDE.md)
"This project uses JavaScript (not TypeScript), functions up to 50 lines"
# Resultado: Claude Code gera código JavaScript, funções com menos de 50 linhas
# Memória de projeto sobrepõe memória pessoal
3. Memória de Sessão
(1) Gerenciamento do Histórico de Conversa
| Operação | Comando | Descrição |
|---|---|---|
| Ver histórico | /history |
Ver log de conversa da sessão atual |
| Comprimir histórico | /compact |
Comprimir conversa para reduzir Tokens |
| Limpar histórico | /clear |
Limpar conversa, recomeçar |
| Retomar sessão | claude --resume |
Retomar última sessão |
(2) Funcionalidades de Memória na Sessão
# O Claude Code lembra conversas anteriores dentro de uma sessão
> Create a UserService
[Criado]
> Add password reset functionality to it
[O Claude Code lembra onde está o UserService, modifica diretamente]
> Add email verification too
[Ainda lembra o contexto do UserService]
(3) Limitações da Memória de Sessão
# Após a sessão terminar, o histórico de conversa não é retido
# Sessão 1: "I prefer functional programming style"
# Sessão 2: Pode gerar código não funcional — não lembra a preferência
# Solução: Escrever preferências no CLAUDE.md
4. Memória de Projeto (CLAUDE.md)
(1) CLAUDE.md como Portador de Memória
# CLAUDE.md
## Project Conventions (Persistent Memory)
- Usar TypeScript strict mode
- API response format: { code, data, message }
- Erros usam classe AppError
- Test framework: Vitest
## Completed Work (Progress Memory)
- ✅ User authentication module (JWT)
- ✅ Role permission system (RBAC)
- 🔄 Order management module (in progress)
- ❌ Payment integration (not started)
## Technical Decision Records (Decision Memory)
- 2026-08-15: Escolheu cache Redis sobre in-memory (precisa de suporte a cluster)
- 2026-08-20: Usando Prisma sobre TypeORM (melhor type safety)
- 2026-08-25: Valores monetários usam centavos inteiro (evitar erros de ponto flutuante)
▶ Exemplo 2: Pedir ao Claude Code para Lembrar Decisões
> Remember: Payment module uses Stripe SDK, not direct REST API calls
Claude Code:
→ Updating CLAUDE.md...
→ Added: "Payment integration uses Stripe SDK (not direct REST calls)"
# Em sessões posteriores:
> Implement payment refund functionality
Claude Code:
→ [Read from CLAUDE.md] Using Stripe SDK
→ Creating payment.service.ts using Stripe SDK ✅
5. Memória Pessoal
(1) Configuração de Preferências Globais
<!-- ~/.claude/CLAUDE.md -->
## Coding Preferences
- TypeScript strict mode
- Preferir const, evitar let e var
- Funções com no máximo 30 linhas
- Adicionar comentários JSDoc
- Usar ES Module
## Testing Preferences
- Estilo describe/it (não test())
- Nomenclatura de testes: should + verbo + condição
- Mock dependências externas, não módulos internos
## Git Preferences
- Formato de commit: conventional commits
- Cada ponto de funcionalidade em commit separado
## Dislikes
- ❌ Não usar tipo any
- ❌ Não usar console.log para debug
- ❌ Não ignorar erros TypeScript
6. Estratégia de Gerenciamento de Memória
(1) Checklist de Manutenção de Memória
| Frequência | Operação | Descrição |
|---|---|---|
| Cada vez | Escrever decisões importantes no CLAUDE.md | Escolhas técnicas, decisões de arquitetura |
| Semanalmente | Atualizar memória de progresso | Completado/em andamento/não iniciado |
| Mensalmente | Limpar memória desatualizada | Remover convenções não mais aplicáveis |
| Troca de projeto | Verificar CLAUDE.md do projeto | Garantir que convenções correspondem à realidade |
❓ Perguntas Frequentes
P: O Claude Code lembra automaticamente o que eu digo? R: Apenas dentro da sessão atual. Entre sessões requer escrever no CLAUDE.md. Você pode dizer "remember this preference" e o Claude Code tentará atualizar o CLAUDE.md.
P: CLAUDE.md longo afeta o desempenho? R: Sim. O CLAUDE.md carrega toda sessão; mantenha abaixo de 150 linhas. Mova conteúdo irrelevante para outros docs.
P: Como múltiplos desenvolvedores compartilham o CLAUDE.md do projeto? R: Commite o CLAUDE.md do projeto no git para compartilhamento da equipe. Preferências pessoais vão no CLAUDE.md global, não commitado.
P: A memória pode ser perdida? R: A memória de sessão desaparece quando a sessão termina. O CLAUDE.md persiste no sistema de arquivos a menos que deletado.
P: Como definir a fronteira entre memória pessoal e de projeto? R: Memória pessoal: estilo de código e preferências de ferramentas (independente de projeto). Memória de projeto: stack tecnológica e regras de negócio (específicas do projeto).
📖 Resumo
- Três camadas de memória: Pessoal (preferências globais), Projeto (CLAUDE.md), Sessão (histórico de conversa)
- Memória de sessão é temporária; memória de projeto/pessoal é persistente
- CLAUDE.md é o portador de memória mais importante para convenções de projeto e decisões técnicas
- Memória de projeto > Memória pessoal > Memória de sessão
- Mantenha regularmente: escreva decisões, atualize progresso, limpe conteúdo desatualizado
📝 Exercícios
- Básico (⭐): Configure o CLAUDE.md global com 3 preferências de código, verifique em um novo projeto.
- Intermediário (⭐⭐): Mantenha registros de decisões técnicas no CLAUDE.md do projeto, compare com/sem memória de decisões.
- Avançado (⭐⭐⭐): Desenhe estratégia de gerenciamento de memória garantindo que CLAUDE.md de 5 membros da equipe não conflitem e permaneçam sincronizados.