
Una sola fuente de verdad: cómo el sitio se arma solo desde el catálogo
Teníamos los servicios cargados en la base y escritos otra vez en el sitio. Cada cambio había que hacerlo dos veces, y siempre había un lugar que quedaba viejo.
Un cliente mandó cinco fotos de su local por WhatsApp y el agente dejó de responder. La causa no fue el modelo: fue qué dejamos entrar a la ventana de contexto.

Un cliente nos mandó cinco fotos de su local para que el agente armara la galería de su sitio. El agente procesó la primera, la segunda, y en la tercera se cayó. No por el modelo: por nosotros.
Las imágenes iban en base64 dentro del historial de mensajes del agente. Cada foto sumaba cientos de miles de caracteres a un estado que se guarda, se recarga y se manda entero en cada paso. En la tercera imagen el payload superó el límite de la plataforma de trazas y empezó a rechazar peticiones. Y aunque no lo hubiera superado, cada respuesta posterior arrastraba ese peso muerto.
Es fácil leer esto como un problema de límites y pensar que se arregla con una ventana de contexto más grande. No se arregla. El fenómeno que estábamos sufriendo tiene nombre: degradación por contexto, la caída progresiva de la calidad a medida que se acumulan salidas de herramientas irrelevantes, estados intermedios viejos y relecturas redundantes.
Los datos de la industria son elocuentes: una parte muy grande de los fallos en tareas empresariales con agentes se atribuye a deriva de contexto o pérdida de memoria, no a quedarse sin tokens. O sea: el agente no se queda corto de espacio, se queda lleno de basura.
Después de ese episodio, la regla quedó escrita en nuestro archivo de reglas, en mayúsculas:
Está prohibido inyectar imágenes en base64 dentro del historial de mensajes de los agentes.
Y con la regla vino el patrón que la reemplaza. El agente nunca ve la imagen. Recibe una ruta. Cuando necesita entender qué hay en esa foto, llama a una herramienta que delega el archivo a un procesador aparte. Ese procesador es el único autorizado a leer el archivo, convertirlo y llamar al modelo multimodal. Lo que vuelve al agente es texto: "foto de la vidriera, de día, con el cartel visible".
El base64 nunca toca la conversación. La descripción, que es lo único que el agente necesita para decidir, ocupa treinta palabras.
Separar la memoria de trabajo de la fuente de verdad. Lo que el agente necesita para seguir trabajando ahora va en el contexto. Todo lo demás vive en disco o en la base, y se trae cuando hace falta.
Limpiar resultados de herramientas. Una vez que un resultado se usó y se resumió, el detalle crudo se descarta. Es la forma más liviana y más segura de compactar, porque no toca el razonamiento.
Tomar notas afuera. El agente escribe lo importante en un archivo de notas persistente y lo vuelve a leer cuando lo necesita. Suena poco sofisticado. Funciona notablemente bien.
Hoy un cliente puede mandar veinte fotos y no pasa nada, porque ninguna entra al contexto. Y la lección se generalizó más allá de las imágenes: cada vez que agregamos una herramienta nueva, la primera pregunta es qué devuelve y cuánto de eso realmente necesita quedar en la conversación.
Casi siempre la respuesta es: mucho menos de lo que devuelve.

Teníamos los servicios cargados en la base y escritos otra vez en el sitio. Cada cambio había que hacerlo dos veces, y siempre había un lugar que quedaba viejo.

Un agente que recuerda todo es un agente lento, caro y confundido. Diseñar qué se descarta resultó más difícil que diseñar qué se guarda.

Idempotencia, migraciones, borrado lógico, fallar temprano. Conceptos de hace décadas que se volvieron críticos justo cuando quien escribe el código no siempre es humano.
Contanos qué necesitás y te decimos cómo lo encararíamos. En minutos, no en semanas.
Sin compromiso. La primera charla es gratis y respondemos al toque.