Juan Pablo Gallegos Trabajo Lina

Lina

Convertir un agente no-code frágil en un sistema que podía operar, observar y controlar.

AI / Backend Engineer 2025 PythonLangChainRAGWhatsApp
Rol
AI / Backend Engineer
Duración
3 meses
Stack
Python · LangChain · RAG
Contexto
Agente comercial sobre WhatsApp
Resumen de evidencia

Qué cambió antes de entrar al detalle

El caso no fue “construir un agente de IA”, sino mover un agente real desde fragilidad de demo hacia un sistema productivo inspeccionable.

Migración
Sin downtime mientras comercios activos seguían usando Lina diariamente.
Control
La lógica crítica pasó de una caja no-code a una stack propia en Python y LangChain.
Operabilidad
Las malas respuestas dejaron de ser misterio: estado, logs y etapas quedaron visibles.
01

Narrativa

El problema

Lina ya estaba en uso, pero el sistema era difícil de dirigir. La orquestación no-code permitía avanzar rápido al principio, aunque cada ajuste de comportamiento quedaba mezclado entre prompts, automatizaciones y supuestos implícitos.

Cuando un agente conversa con clientes reales por WhatsApp, la diferencia entre demo y producción aparece en los bordes: contexto incompleto, respuestas ambiguas, cambios de intención y estados que sobreviven más de un mensaje.

La decisión

La migración se planteó como un cambio de propiedad del sistema. El objetivo no era “usar más IA”, sino separar responsabilidades: recuperación de contexto, estado conversacional, reglas de negocio, generación de respuestas y observabilidad.

Python y LangChain dieron una base más explícita para construir el flujo. RAG permitió traer información relevante sin depender de un prompt gigante, y la persistencia de estado hizo posible entender por qué el agente tomaba una decisión.

Trade-offs

El costo fue aceptar más ingeniería propia: despliegue, logs, manejo de errores y contratos internos. La ganancia fue poder operar el agente como un producto, no como una automatización difícil de auditar.

La migración tuvo que cuidar la continuidad. No había margen para “apagar y reescribir”; el sistema nuevo debía convivir con usuarios reales y absorber tráfico de forma gradual.

Resultado

Lina quedó como un agente más controlable: cada etapa del flujo podía observarse, cada respuesta podía rastrearse y cada mejora podía aplicarse sobre una arquitectura propia.

La lección principal fue que un agente productivo no se define por el modelo que usa, sino por el sistema que lo contiene.