Memoria a corto plazo en la ventana de contexto
Almacene el historial de la conversación en el array messages: la memoria más sencilla que existe y también la razón de sus límites estrictos.
Memoria a corto plazo en la ventana de contexto es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.
La memoria es solo una lista
La «memoria» de un LLM de estilo chat es la lista messages que envía en cada llamada. El modelo no tiene estado: no sabe nada entre una solicitud y otra.
La «memoria a corto plazo» es todo lo que contiene esa lista en ese momento.
Por qué funciona
Añade cada mensaje del usuario y cada respuesta del asistente. Cuando formula la tercera pregunta, el modelo ve:
messages = [
{'role': 'system', 'content': 'You are helpful.'},
{'role': 'user', 'content': 'My name is Alice.'},
{'role': 'assistant', 'content': 'Nice to meet you, Alice.'},
{'role': 'user', 'content': 'What is my name?'}
]
# Model replies: 'Alice'
for m in messages:
print(f"{m['role']}: {m['content']}")
print("Model replies: Alice")
Límites de la ventana de contexto
Cada modelo tiene una ventana de contexto estricta: el número máximo combinado de tokens de entrada y salida.
- gpt-4o-mini: 128k tokens
- claude-sonnet-4-5: 200k tokens
- gemini-1.5-pro: 2M tokens
Si la supera, la API devuelve un error.
El coste de los tokens es lineal
Se paga por cada token en cada turno. Un chat de 30 turnos en el que cada turno tiene 500 tokens cuesta 15.000 tokens de entrada solo en la ÚLTIMA llamada: todo el historial se vuelve a enviar.
Las sesiones largas se encarecen rápidamente.
Pérdida de atención en el centro
Incluso con un contexto de 200k, los modelos prestan MENOS atención al contenido situado en el centro de un prompt largo. La información importante debe ir al principio (en el sistema) o al final (en el mensaje de usuario más reciente).
Truncamiento con ventana deslizante
La gestión de memoria más sencilla: conserve el mensaje del sistema y los últimos N turnos:
MAX_TURNS = 20 # 10 user + 10 assistant
def trim(messages):
system = messages[0]
rest = messages[1:]
return [system] + rest[-MAX_TURNS:]
demo_messages = [{'role': 'system', 'content': 'sys'}] + [
{'role': 'user' if i % 2 == 0 else 'assistant', 'content': f'msg {i}'} for i in range(30)
]
trimmed = trim(demo_messages)
print(f"Original messages: {len(demo_messages)}")
print(f"Trimmed messages: {len(trimmed)}")
Recorte basado en tokens
Más preciso: recorte según el número de tokens, no según el número de turnos:
import tiktoken
enc = tiktoken.encoding_for_model('gpt-4o-mini')
def trim_by_tokens(messages, max_tokens=8000):
out = [messages[0]] # keep system
tokens_left = max_tokens - len(enc.encode(messages[0]['content']))
# walk backwards from newest
for m in reversed(messages[1:]):
cost = len(enc.encode(m['content'])) + 4
if cost > tokens_left:
break
out.insert(1, m)
tokens_left -= cost
return outMantenga juntas las parejas
Truncar a mitad de una pareja deja llamadas a herramientas huérfanas. Recorte siempre juntos los turnos del usuario y del asistente:
# Bad: cuts after assistant call but before tool result
# Good: trim whole turns (user + all responses)
print("Bad: cuts after assistant call but before tool result")
print("Good: trim whole turns (user + all responses)")
Cuando la memoria a corto plazo no es suficiente
La memoria a corto plazo deja de ser suficiente cuando:
- La conversación supera los 20 turnos
- El usuario vuelve al día siguiente esperando que se recuerde la conversación
- Varios usuarios comparten el mismo agente
Necesita una estrategia diferente: consulte las lecciones siguientes.
El prompt del sistema permanece fijado
El mensaje del sistema siempre debe ser el primer elemento. No lo recorte nunca. Contiene la identidad, las reglas y las descripciones de las herramientas.
Fijar actualizaciones recientes del sistema
Si añade "recuerde que el usuario prefiere Celsius" como nota del sistema, fíjela al principio, igual que el prompt del sistema original:
SYSTEM_PROMPT = 'You are a helpful assistant.'
messages = [
{'role': 'system', 'content': SYSTEM_PROMPT},
{'role': 'system', 'content': 'USER PREFERENCE: Celsius units'},
{'role': 'user', 'content': 'What is the weather in Paris?'},
{'role': 'assistant', 'content': 'It is 21C and sunny.'},
]
print('Pinned system messages:')
for m in messages:
if m['role'] == 'system':
print(' -', m['content'])
print('Total messages:', len(messages))
Límite de contexto
¿Qué sucede cuando supera la ventana de contexto del modelo?
Recapitulación
Memoria a corto plazo = la lista de mensajes. Adminístrela con un recorte mediante ventana deslizante o basado en tokens, fije el mensaje del sistema y acepte que el coste aumenta con los turnos.
Preguntas frecuentes
¿La lección «Memoria a corto plazo en la ventana de contexto» es gratis?
Sí — el texto completo de «Memoria a corto plazo en la ventana de contexto» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.
¿Qué aprenderé en «Memoria a corto plazo en la ventana de contexto»?
Almacene el historial de la conversación en el array messages: la memoria más sencilla que existe y también la razón de sus límites estrictos. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Agents?
No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Memoria a corto plazo en la ventana de contexto»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Agents?
Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Memoria a corto plazo en la ventana de contexto
- Por qué los contextos largos no escalan
- La resumización como compresión
- Almacenes de memoria sencillos (clave-valor)