Hindsight: qué puede conservar un agente entre sesiones
Primeros pasos con Hindsight: probar retain, recall y reflect
Usa datos ficticios y comprueba la respuesta de cada operación por separado.
Qué aprenderás
- Preparar un servicio acotado
- Ejecutar las tres operaciones
- Conservar también los errores
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 ejemplo del README no se ejecutó en esta revisión.
- El identificador del banco debe ser estable.
- Los reintentos de retain necesitan una política de duplicados.
Preparar un servicio acotado
El README documenta una imagen Docker con volumen de datos integrado, instalación Python y una ruta con PostgreSQL externo. Elige una para la prueba local y fija la versión tras revisar la publicación. La etiqueta latest del ejemplo resulta cómoda para una demostración, pero dificulta repetirla.
El ejemplo sirve una API en el puerto 8888 y una interfaz en el 9999. Limita ambos a loopback o a una red restringida durante la evaluación. Guarda la credencial del proveedor de modelos fuera del código y del historial de shell, y anota la ubicación del volumen.
Ejecutar las tres operaciones
El ejemplo Python crea Hindsight con una URL base, envía contenido mediante retain, pregunta con recall y formula una cuestión más amplia mediante reflect. Conserva el mismo identificador de banco e imprime la respuesta bruta de cada llamada. Una respuesta generada por sí sola oculta si se guardó la frase esperada.
Incluye un hecho que luego sea corregido. Pregunta por la versión anterior y por la nueva, y compara las respuestas con los registros enviados. Es una prueba de aprendizaje, no una medida de precisión en producción.
Conservar también los errores
Un servidor caído, una credencial ausente o un banco equivocado deben producir errores visibles. Registra el estado HTTP o la excepción, el identificador de solicitud si existe y la versión utilizada. Reintentar retain sin control puede modificar el contenido del banco.
El cliente Python revisado expone métodos síncronos. Una aplicación real quizá necesite operaciones asíncronas o por lotes; primero conviene entender una solicitud pequeña y su respuesta.
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
Elige y fija una ruta de instalación documentada.
- 2
Imprime las respuestas de las tres operaciones en un banco ficticio.
- 3
Conserva un resultado esperado y un fallo deliberado.
Ejemplo para copiar
from hindsight_client import Hindsight
client = Hindsight(base_url="http://localhost:8888")
bank = "fictional-project"
client.retain(bank_id=bank, content="Release review is on Friday")
print(client.recall(bank_id=bank, query="When is the review?"))
print(client.reflect(bank_id=bank, query="What should the team prepare?"))Preguntas frecuentes
¿Es obligatorio usar OpenAI?
El README enumera proveedores alojados y locales; configura uno compatible para la prueba.
¿Se ejecutó Docker para este artículo?
No. Los comandos proceden de una revisión fija del repositorio y requieren comprobación local.
Fuentes
- Hindsight / README.mdFuente verificada 2026-09-26
- Hindsight / hindsight-clients/python/hindsight_client/hindsight_client.pyFuente verificada 2026-09-26