Saltar al contenido

← Volver a proyectos

LOUST

LOUST-PRO/LLMmempipe

Período: ago 2025 —

Shipped

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

  1. 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.

  2. 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.

  3. 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

Repositorio

https://github.com/LOUST-PRO/LLMmempipe

Evidencia

← Volver a proyectos · curated 2026-09-20