Hindsight: qué puede conservar un agente entre sesiones
Hindsight: qué puede conservar un agente entre sesiones
Sigue un recuerdo hasta su banco y decide cuándo conviene recuperarlo o elaborar una respuesta.
Qué aprenderás
- Partir de un fallo concreto
- Distinguir cuatro tipos de material
- Elegir entre recuperar y elaborar
Antes de empezar
- Uso básico del cliente Python
- Un caso de prueba sintético y un límite de despliegue
Guarda correcciones, recuperaciones erróneas y costes para repetir la prueba.
Conclusiones clave
- El banco delimita el alcance de la memoria.
- Observaciones y modelos mentales se actualizan por rutas diferentes.
- Las cifras del proyecto no son mediciones de esta serie.
Partir de un fallo concreto
Un asistente que reinicia cada sesión puede olvidar una decisión tomada ayer. Hindsight ofrece bancos persistentes para hechos y experiencias, con operaciones para incorporar información, recuperar registros pertinentes y elaborar respuestas a partir de ellos. Estas operaciones describen mejor el sistema que sus eslóganes de rendimiento.
Cada banco necesita un propietario y un propósito de conservación. Para la primera prueba, usa un proyecto ficticio con tres decisiones que cambien con el tiempo. Si aparece una decisión obsoleta, registra el fallo; una respuesta fluida no demuestra que la memoria sea correcta.
Distinguir cuatro tipos de material
El README separa hechos del mundo, experiencias, observaciones y modelos mentales. Las observaciones consolidan evidencia; los modelos mentales mantienen respuestas que se actualizan en segundo plano. Una preferencia del usuario y una acción del agente requieren interpretaciones y ciclos de vida distintos.
El repositorio describe los bancos como espacios de memoria aislados. Antes de guardar datos de clientes, prueba esa propiedad en la frontera de autorización de la API. Esta revisión no ejecutó una prueba de seguridad entre bancos, por lo que el ejemplo emplea datos sintéticos.
Elegir entre recuperar y elaborar
Según el proyecto, recall combina búsqueda semántica, palabras clave, relaciones y tiempo. Reflect pide al modelo que sintetice el material almacenado. Usa recall cuando necesitas registros concretos; reserva reflect para preguntas que exijan interpretación y conserva las pruebas que sostienen la conclusión.
Los siguientes capítulos siguen la llamada del cliente y el límite de almacenamiento. Revisamos una versión fija del código, sin iniciar el servicio ni reproducir el resultado de LongMemEval publicado por el proyecto.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Escribe tres hechos ficticios fechados y una corrección posterior.
- 2
Asigna un dueño y permisos de lectura al banco de prueba.
- 3
Plantea una pregunta de búsqueda y otra de síntesis.
Ejemplo para copiar
from hindsight_client import Hindsight
client = Hindsight(base_url="http://localhost:8888")
client.retain(bank_id="fictional-project", content="The demo deadline is Friday")
print(client.recall(bank_id="fictional-project", query="When is the demo?"))Preguntas frecuentes
¿Hindsight guarda cualquier conversación automáticamente?
Solo entra en un banco lo que envía una integración o una llamada retain; revisa la ruta del cliente elegido.
¿Reflect sustituye a recall?
Reflect interpreta la memoria; recall recupera los registros necesarios para una consulta directa.
Fuentes
- Hindsight / README.mdFuente verificada 2026-09-26