intermediate45 minLección 5 de 6

Gestión de Memoria y Contexto

Gestiona la memoria y el contexto en sesiones de OpenCode. Aprende cómo mantener estado entre conversaciones, usar archivos de memoria y optimizar el contexto para mejores resultados.

Gestión de Memoria y Contexto

Entendiendo el Contexto

El contexto es la información que la IA recuerda durante una sesión:

Tipo de ContextoDescripciónPersistencia
ConversaciónHistorial de chatSolo sesión
Contenido de ArchivoArchivos leídosHasta que se limpie
ProyectoEstructura del proyectoSolo sesión
Archivos de MemoriaAlmacenamiento persistenteEntre sesiones

Memoria de Conversación

Ver Historial

> /history

Guardar Sesión

> /save project-setup

Cargar Sesión

> /load project-setup

Limpiar Contexto

> /clear

Archivos de Memoria

Los archivos de memoria persisten información entre sesiones.

Memoria del Proyecto

Crea .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 compliance

Memoria Personal

Crea ~/.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 applying

Cargando Memoria

Carga Automática

Configura la carga automática en opencode.json:

json
{ "memory": { "autoLoad": [ ".opencode/memory/project.md", ".opencode/memory/conventions.md" ] } }

Carga Manual

> Load the project memory file at .opencode/memory/project.md

Optimización del Contexto

Cuando el Contexto Se Vuelve Demasiado Grande

Síntomas:

  • Respuestas lentas
  • La IA olvida instrucciones tempranas
  • Advertencias de límite de tokens

Soluciones:

  1. Limpiar y recargar elementos esenciales:
> /clear > Load .opencode/memory/project.md > We're working on the authentication module
  1. Usar subagentes para tareas aisladas:
> Have the test-agent write tests for the login function
  1. Resumir conversaciones largas:
> Summarize what we've discussed so far into a memory file

Gestión de la Ventana de Contexto

> /verbose Context: 15234 tokens (47% of 32k limit)

Mejores Prácticas:

SituaciónAcción
Contexto > 70%Limpiar y recargar esenciales
Cambiar de temaLimpiar conversación
Proyecto complejoUsar archivos de memoria
Múltiples tareasUsar subagentes

Estructura de Archivos de Memoria

Formato Recomendado

markdown
# [Memory Type] Memory ## [Section] - Key point - Key point ## [Section] - Key point

Convenciones de Nomenclatura

ArchivoPropósito
project.mdArquitectura y decisiones del proyecto
conventions.mdEstándares y patrones de codificación
decisions.mdRegistros de decisiones arquitectónicas
todo.mdTareas actuales y prioridades
learned.mdCosas aprendidas durante sesiones

Usando Memoria en Prompts

Referenciar Memoria

> According to our project memory, what database are we using?

Actualizar Memoria

> Update the project memory to note we've switched from MongoDB to PostgreSQL

Crear desde Sesión

> Save our conversation about the API design to .opencode/memory/api-design.md

Mejores Prácticas

Higiene de Memoria

PrácticaBeneficio
Actualizaciones regularesMantiene la memoria precisa
Secciones clarasFácil de encontrar información
Fechas en decisionesRastrear evolución
Eliminar obsoletoPreviene confusión

Gestión del Contexto

PrácticaBeneficio
Limpiar entre temasPreviene contaminación cruzada
Cargar solo esencialesReduce uso de tokens
Usar subagentesAísla tareas complejas
Monitorear tamaño del contextoEvita límites

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

  • Los archivos de memoria persisten información entre sesiones, a diferencia del historial de conversación
  • Almacena la memoria del proyecto en .opencode/memory/ dentro del proyecto
  • Limpia la conversación al cambiar de tema para prevenir contaminación cruzada
  • Monitorea el tamaño del contexto y recarga esenciales cuando excede el 70%
  • Usa secciones descriptivas en los archivos de memoria para fácil recuperación
  • Los archivos de memoria deben tener fechas y actualizarse regularmente
  • Los subagentes ayudan a aislar tareas complejas del contexto principal
Progreso83%