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.
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:
# 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:
# 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:
{
"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
# [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 |
Perguntas de Prática (Practice Questions)
Como responder
Questão de múltipla escolha com 4 opções. Selecione uma opção e escolha Verificar resposta.
Where should you store project-specific memory files?
Como responder
Questão de múltipla escolha com 4 opções. Selecione uma opção e escolha Verificar resposta.
What is the benefit of memory files over conversation history?
Como responder
Questão de múltipla escolha com 4 opções. Selecione uma opção e escolha Verificar resposta.
When should you clear the conversation context?
Como responder
Questão de múltipla escolha com 4 opções. Selecione uma opção e escolha Verificar resposta.
What should you do when context exceeds 70% of the limit?
Como responder
Questão de múltipla escolha com 4 opções. Selecione uma opção e escolha Verificar resposta.
How do you update memory files during a session?
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