LOUST
LOUST-PRO/LLMmempipe
Período: ago 2025 —
El reto
Mis exports de historial de chat de Claude, ChatGPT y Gemini tenían cada uno su propio esquema, su propio PII stale y sus propios tool calls rotos. Cuando los alimentaba a agentes de larga duración como memoria de largo plazo, la contaminación se propagaba downstream y aparecía semanas después como comportamiento confuso.
Mi rol
Construí un cleaner basado en Rust que normaliza exports heterogéneos de chat a un único esquema canónico con scrubbing de PII determinístico basado en reglas y un formato de output diff-friendly.
Lo que hice
01 Esquema canónico único para todos los vendors
Por qué: Un esquema significa una cadena de auditoría. Esquemas por vendor significan fallos por vendor, y la memoria del agente recoge los quirks del vendor que se filtraron.
Trade-off: Algunas funcionalidades específicas de vendor se aplanan durante la normalización. Para un substrato de memoria la consistencia gana; para un escaparate de funcionalidades no.
02 Scrubbing de PII determinístico basado en reglas
Por qué: La heurística de regex filtra, y un reviewer no puede trazar una redacción a la regla que disparó. Un rule book pequeño y auditable hace que cada redacción sea explicable.
Trade-off: Los nuevos patrones de PII requieren updates explícitos de reglas. El rule book se mantiene pequeño porque la misma docena de patrones sigue apareciendo entre vendors.
03 Formato de output diff-friendly
Por qué: El drift del archivo de memoria tiene que ser revisable por línea. Los diffs por línea atrapan lo que los diffs a nivel de archivo se saltan — un solo export malo ya no se esconde dentro de cientos limpios.
Trade-off: Los archivos de output son más grandes que los formatos compactos. La revisabilidad gana los bytes extra.
Lo que cambió
Drift de esquema entre vendors
Antes: 3 vendors, 3 esquemas, 3 modos de fallo
Después: 1 esquema canónico, 1 superficie de fallo
Cobertura de scrubbing de PII
Antes: Alrededor de 70% (heurísticas de regex)
Después: Alrededor de 98% (basado en reglas + audit trail)
Evidencia: estimado, no medido
Revisabilidad de archivos de memoria
Antes: Diff a nivel de archivo (una línea enterrada entre cientos)
Después: Diff por línea con IDs estables
Trade-offs
Renuncié a parte de la riqueza funcional por vendor a cambio del substrato canónico. Para memoria de agente de larga duración el substrato es el producto; los extras por vendor serían un impuesto.
Lo que aprendí
La calidad del substrato de memoria es el factor limitante sobre los agentes de larga duración, no el razonamiento del agente. Un substrato limpio permite que un modelo pequeño renderee como uno grande.
Stack
- Rust
- LLM tooling
- normalization