intermediate⏱45 minLição 5 de 6
Gerenciamento de Memória e Contexto
Gerencie memória e contexto em sessões do OpenCode. Aprenda como manter estado entre conversas, usar arquivos de memória e otimizar contexto para melhores resultados.
Gerenciamento de Memória e Contexto
Entendendo Contexto
Contexto é a informação que a IA lembra durante uma sessão:
| Tipo de Contexto | Descrição | Persistência |
|---|---|---|
| Conversa | Histórico de chat | Apenas na sessão |
| Conteúdo de Arquivo | Arquivos lidos | Até ser limpo |
| Projeto | Estrutura do projeto | Apenas na sessão |
| Arquivos de Memória | Armazenamento persistente | Entre sessões |
Memória de Conversa
Ver Histórico
> /history
Salvar Sessão
> /save project-setup
Carregar Sessão
> /load project-setup
Limpar Contexto
> /clear
Arquivos de Memória
Arquivos de memória persistem informações entre sessões.
Memória do Projeto
Crie .opencode/memory/project.md:
markdown
# Project Memory
## Architecture
- Frontend: React with TypeScript
- Backend: Node.js with Express
- Database: PostgreSQL
## Conventions
- Use camelCase for variables
- Use PascalCase for components
- All API endpoints prefixed with /api/
## Decisions
- 2024-01-15: Chose PostgreSQL over MongoDB for ACID complianceMemória Pessoal
Crie ~/.config/opencode/memory/personal.md:
markdown
# Personal Memory
## Preferences
- Preferred model: gpt-4o
- Coding style: Functional programming
- Testing: Jest with 80% coverage minimum
## Shortcuts
- Use /clear between topics
- Always review AI suggestions before applyingCarregando Memória
Carregamento Automático
Configure o carregamento automático em opencode.json:
json
{
"memory": {
"autoLoad": [
".opencode/memory/project.md",
".opencode/memory/conventions.md"
]
}
}Carregamento Manual
> Load the project memory file at .opencode/memory/project.md
Otimização de Contexto
Quando o Contexto Fica Grande Demais
Sintomas:
- Respostas lentas
- IA esquece instruções iniciais
- Avisos de limite de tokens
Soluções:
- Limpe e recarregue o essencial:
> /clear
> Load .opencode/memory/project.md
> We're working on the authentication module
- Use subagentes para tarefas isoladas:
> Have the test-agent write tests for the login function
- Resuma conversas longas:
> Summarize what we've discussed so far into a memory file
Gerenciamento da Janela de Contexto
> /verbose
Context: 15234 tokens (47% of 32k limit)
Melhores Práticas:
| Situação | Ação |
|---|---|
| Contexto > 70% | Limpe e recarregue o essencial |
| Mudando de tópico | Limpe a conversa |
| Projeto complexo | Use arquivos de memória |
| Múltiplas tarefas | Use subagentes |
Estrutura de Arquivos de Memória
Formato Recomendado
markdown
# [Memory Type] Memory
## [Section]
- Key point
- Key point
## [Section]
- Key pointConvenções de Nomenclatura
| Arquivo | Finalidade |
|---|---|
project.md | Arquitetura e decisões do projeto |
conventions.md | Padrões e convenções de código |
decisions.md | Registros de decisões arquiteturais |
todo.md | Tarefas atuais e prioridades |
learned.md | Coisas aprendidas durante sessões |
Usando Memória em Prompts
Referenciar Memória
> According to our project memory, what database are we using?
Atualizar Memória
> Update the project memory to note we've switched from MongoDB to PostgreSQL
Criar a partir da Sessão
> Save our conversation about the API design to .opencode/memory/api-design.md
Melhores Práticas
Higiene de Memória
| Prática | Benefício |
|---|---|
| Atualizações regulares | Mantém a memória precisa |
| Seções claras | Fácil para encontrar informações |
| Data das decisões | Acompanha a evolução |
| Remover desatualizados | Previne confusão |
Gerenciamento de Contexto
| Prática | Benefício |
|---|---|
| Limpar entre tópicos | Previne contaminação cruzada |
| Carregar apenas o essencial | Reduz uso de tokens |
| Usar subagentes | Isola tarefas complexas |
| Monitorar tamanho do contexto | Evita limites |
Practice Questions
Practice Question
Where should you store project-specific memory files?
Practice Question
What is the benefit of memory files over conversation history?
Practice Question
When should you clear the conversation context?
Practice Question
What should you do when context exceeds 70% of the limit?
Practice Question
How do you update memory files during a session?
Success
Key Takeaways
- Arquivos de memória persistem informações entre sessões, ao contrário do histórico de conversas
- Armazene memória do projeto em
.opencode/memory/dentro do projeto - Limpe a conversa ao mudar de tópico para prevenir contaminação cruzada
- Monitore o tamanho do contexto e recarregue o essencial quando exceder 70%
- Use seções descritivas nos arquivos de memória para fácil recuperação
- Arquivos de memória devem ser datados e atualizados regularmente
- Subagentes ajudam a isolar tarefas complexas do contexto principal
Progresso83%