Almacenes de memoria sencillos (clave-valor)
Conserve en un almacén clave-valor los datos que menciona el usuario —nombre, preferencias— e insértelos en el prompt del sistema en cada turno.
Almacenes de memoria sencillos (clave-valor) es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 4 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 a largo plazo más barata
Antes de las bases de datos vectoriales y los embeddings, existe el humilde almacén de clave-valor. Para guardar datos específicos del usuario (nombre, preferencias y ajustes), esto es todo lo que necesita.
Qué guardar
Buenos candidatos para la memoria KV:
- Nombre e idioma del usuario
- Preferencias (unidades, zona horaria y tono)
- Contexto persistente (proyecto actual y tema actual)
- Credenciales recientes de herramientas o tokens de API
Un pequeño almacén en memoria
Para un prototipo de un solo proceso:
memory = {
'user_name': 'Alice',
'units': 'celsius',
'language': 'tr'
}
def remember(key, value):
memory[key] = value
def recall(key, default=None):
return memory.get(key, default)
remember('city', 'Istanbul')
print("Recalled user_name:", recall('user_name'))
print("Recalled city:", recall('city'))
print("Recalled missing key:", recall('country', 'unknown'))
Inyectar en el prompt del sistema
En cada turno, inserte el contenido del almacén KV en el prompt del sistema:
def build_system_prompt(user_id):
facts = load_facts(user_id)
rendered = '\n'.join(f'- {k}: {v}' for k, v in facts.items())
return f'''
You are AssistantBot.
Known facts about this user:
{rendered}
Use these to personalise replies.
'''Use Redis para varios usuarios
Para un agente de producción, use Redis:
import redis
r = redis.Redis()
def remember(user_id, key, value):
r.hset(f'mem:{user_id}', key, json.dumps(value))
def recall_all(user_id):
raw = r.hgetall(f'mem:{user_id}')
return {k.decode(): json.loads(v) for k, v in raw.items()}O simplemente Postgres
Postgres también funciona: una columna JSON por usuario:
CREATE TABLE user_memory (
user_id TEXT PRIMARY KEY,
facts JSONB NOT NULL DEFAULT '{}'
);
-- Update one field:
UPDATE user_memory SET facts = facts || '{"units": "celsius"}' WHERE user_id = $1;La memoria como herramienta
Exponga las operaciones de memoria como herramientas para que el propio agente pueda escribir en la memoria:
tools = [
{'name': 'remember', 'description': 'Save a fact about the user', 'parameters': {...}},
{'name': 'forget', 'description': 'Remove a stored fact', 'parameters': {...}}
]
# The agent can call remember('user_name', 'Alice') itself.
for t in tools:
print(f"{t['name']}: {t['description']}")
Evitar que la memoria crezca demasiado
Limite el número de claves almacenadas por usuario (50 o 100). De lo contrario, el prompt del sistema crecerá sin límite.
TTL y caducidad
Algunas memorias son de corta duración. Use las expiraciones de Redis:
r.hset(f'mem:{user_id}', 'last_topic', 'pricing')
r.expire(f'mem:{user_id}', 3600) # 1 hourMemoria editable por el usuario
Permita que los usuarios vean y editen lo que el agente recuerda sobre ellos; la memoria de ChatGPT funciona así. Esto genera confianza y evita errores incómodos.
Privacidad: cuidado con la PII
Los datos almacenados suelen incluir PII. Cifre los campos sensibles en reposo, use claves de cifrado por usuario y elimínelos cuando se cierre la cuenta.
De KV a vectores
KV es excelente para datos estructurados. Para datos no estructurados ("el usuario prefiere un tono informal, le gustan las referencias al anime y odia los emojis"), es mejor un almacén de vectores. Lo veremos en el curso siguiente.
Cuándo usar la memoria KV
¿Para qué tipo de memoria es mejor un almacén sencillo de clave-valor?
Recapitulación
Para el 90 % de los casos de uso de un asistente personal, basta con un almacén KV de Redis o Postgres y su inserción en el prompt del sistema.
Preguntas frecuentes
¿La lección «Almacenes de memoria sencillos (clave-valor)» es gratis?
Sí — el texto completo de «Almacenes de memoria sencillos (clave-valor)» 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 «Almacenes de memoria sencillos (clave-valor)»?
Conserve en un almacén clave-valor los datos que menciona el usuario —nombre, preferencias— e insértelos en el prompt del sistema en cada turno. 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 4 de 4.
¿Cuánto tiempo toma la lección «Almacenes de memoria sencillos (clave-valor)»?
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)