---
Llevo dos años hablando con chatbots. Sobre todo me contestan. A veces alucinan una receta de pizza con pegamento. Rara vez *hacen* algo.
El martes pasado vi a un agente que construí entrar a mi email, encontrar tres facturas impagas, redactar respuestas con enlaces de pago y programar seguimientos para la semana que viene. Sin prompts después del primero. Sin supervisión. Me fui a por café. Funcionó.
Ahí fue cuando encajó: ya no estamos construyendo mejores chatbots. Estamos construyendo compañeros de trabajo que no necesitan dormir.
La trampa del chatbot
Aquí viene lo vergonzoso: pasé seis meses diseñando cadenas de prompts elaboradas. "Eres un analista senior. Primero, lee el documento. Luego, extrae métricas clave. Luego, escribe un resumen. Luego, revisa errores."
Funcionaba como un 60% de las veces. El otro 40% el modelo olvidaba el paso dos, alucinaba una métrica o resumía con confianza un documento que nunca leyó. Añadía más instrucciones. Empeoraba. Rendimientos decrecientes clásicos.
El problema no es el modelo. Es la arquitectura. Un prompt único es un monólogo. El trabajo real es un diálogo — contigo mismo, con herramientas, con datos, con otras personas.
Llega el grafo
Tropecé con la orquestación basada en grafos casi por accidente. Un amigo me mandó un repo de GitHub a las 11 de la noche con el asunto "esto cambió cómo pienso en agentes". No dormí hasta las 3 de la madrugada.
La idea es estúpidamente simple: en vez de un prompt gigante, construyes una máquina de estados. Los nodos hacen cosas — llaman una API, consultan una base de datos, escriben código, preguntan a un humano. Las aristas deciden qué pasa después basándose en lo que acaba de pasar. El grafo *recuerda* dónde está.
Mi primera prueba real: reportes de gastos. Odio los reportes de gastos. Tú odias los reportes de gastos. Todo el mundo odia los reportes de gastos.
Forma antigua: tiro los tickets en una carpeta. Pánico trimestral. Entrada manual. Errores tipográficos. Reclamaciones rechazadas.
Forma nueva: reenvío un ticket a un bot de Slack. El grafo se despierta. Nodo OCR extrae comercio, fecha, importe. Nodo de categorización revisa mi historial — "esto parece cena con cliente, la última vez lo codificaste como comidas y entretenimiento". Nodo de política revisa el límite. Nodo de aprobación avisa a mi jefe en Slack con un botón de aprobar en un clic. Nodo de contabilidad empuja a QuickBooks. Nodo final archiva el PDF.
Tres minutos. Cero teclado. Mi jefe aprobó uno desde la fila de taxis en SFO.
La memoria que no es un LLM
Aquí está lo que nadie te cuenta: la parte más lista de mi sistema de agentes no llama a un LLM en absoluto.
Es un almacén clave-valor con instantáneas versionadas. Cada nodo lee estado, escribe estado. El grafo sabe *por qué* tomó una decisión hace tres pasos porque el objeto de estado lleva el ticket. Sin rellenar ventana de contexto. Sin "recuérdame qué estábamos haciendo". La memoria son solo... estructuras de datos.
Coste: milisegundos. Cero tokens. Contexto infinito.
Compromiso: tienes que diseñar el esquema. No puedes solo "dejar que el modelo lo averigüe". Lo aprendí a las malas cuando mi agente de reservas de viajes intentó guardar un número de pasaporte como string, luego como diccionario, luego como lista de diccionarios — todo en la misma ejecución. El grafo no falló. Solo produjo salidas basura hasta que añadí validación.
Diseño esquema primero parece lento al principio. Luego te das cuenta de que es lo único que te deja depurar *por qué* el agente hizo algo estúpido el martes pasado.
Humano en el bucle no es un bug
El mayor cambio de mentalidad: parar *es* una característica.
Mis primeros agentes intentaban ser totalmente autónomos. Reservaban el vuelo equivocado, enviaban email al cliente equivocado, borraban la base de datos equivocada. "Muévete rápido y rompe cosas" vale para prototipos. Es catastrófico en producción.
Ahora cada nodo de alto riesgo tiene una bandera `interrupt_before`. El grafo se pausa. Me manda un mensaje de Slack: "A punto de enviar este contrato a legal. ¿Confirmo?" Pulso "sí" en el móvil. El grafo continúa.
Esto no es fallo de autonomía. Es autonomía *calibrada*. El agente hace el 90% — investigación, redacción, formateo, comprobación — y pregunta por el 10% que importa.
Truco pro: haz el mensaje de interrupción accionable. "¿Confirmar?" no sirve. "¿Enviar contrato v3 a legal@empresa.com? Cambios: tope de responsabilidad subido a 500k, plazo extendido a 24 meses. [Sí] [No] [Editar]" — eso consigue respuesta en segundos.
Modos de fallo que he coleccionado
Dejame ahorrarte dolor.
**El bucle infinito.** Nodo A llama Nodo B llama Nodo A. El grafo corre hasta timeout. Solución: añade un contador de pasos al estado. Límite duro: 50 pasos. Log cuando llegues a 30.
**El fallo silencioso.** API devuelve 500. Nodo atrapa excepción, escribe "error" en estado, continúa. Nodos posteriores alucinan con el string "error". Solución: nodos de error que *paran* el grafo y te avisan. No dejes que los errores se conviertan en datos.
**La deriva de contexto.** Flujo de tres horas. Usuario cambia requisitos en minuto 45. El grafo sigue ejecutando plan viejo. Solución: versiona tus entradas. Comprueba en cada nodo mayor: "¿ha cambiado la petición?" Si sí, replanifica.
**La proliferación de herramientas.** 47 nodos. 12 APIs externas. Nadie entiende el flujo. Solución: visualiza el grafo. Imprímelo. Ponlo en la pared. Si no puedes explicarlo en 30 segundos, es demasiado complejo.
Qué estoy construyendo ahora
Agente de planificación trimestral. Cada lunes saca mi calendario, notas de Notion, actividad de GitHub, conversaciones de Slack. Construye un borrador de plan semanal. Enseña conflictos. Sugiere bloques de foco. Apruebo. Bloquea tiempo, crea tareas, rechaza reuniones de baja prioridad.
Agente fiscal. Todo el año. Cada transacción categorizada en tiempo real. Estimaciones trimestrales auto-calculadas. Encuentra deducciones que pierdo. Presenta prórrogas si hace falta. (Todavía probando este. Las multas de Hacienda no son un entorno de depuración que quiera.)
Agente de revisión de código. No bots de "lgtm". Revisión real: saca PR, corre tests, revisa guía de estilo, verifica que tickets coincidan con implementación, sugiere refactors, *escribe la solución* para issues triviales. Yo reviso su revisión.
Predicciones para 2026
**Los agentes reemplazarán a los dashboards.** No mirarás gráficos. Preguntarás "¿por qué subió el churn?" y un agente consultará el warehouse, correlacionará con tickets de soporte, revisará logs de despliegue y te dará una narrativa con evidencias. En 30 segundos.
**Redes de agentes personales.** Tu agente de calendario negocia con mi agente de calendario. Sin emails de ida y vuelta. Encuentran el hueco óptimo, reservan salas, piden comida para restricciones dietéticas, mandan invitaciones. Tú solo apareces.
**Marketplaces de agentes.** No app stores. Stores de *skills*. "Instalar skill de declaración fiscal." "Instalar skill de negociación con proveedores." Skills son grafos componibles con interfaces estandarizadas. Los mezclas y combinas como LEGO.
**La muerte de "prompt engineering" como título de trabajo.** Se convierte en "arquitectura de agentes". La habilidad no es crear la frase perfecta. Es diseñar el grafo correcto: dónde pausar, qué recordar, cómo fallar con gracia, cuándo preguntar.
**Llega la regulación.** Primera demanda: "tu agente firmó un contrato vinculante en mi nombre sin autorización". Precedente: los agentes necesitan alcances de delegación explícitos. Rastros de auditoría obligatorios. Las instantáneas versionadas de estado de mi grafo de repente parecen oro de cumplimiento.
La verdad incómoda
Construir agentes es más difícil que hacer prompting. No estás escribiendo instrucciones. Estás escribiendo software — con grafos en vez de funciones, estado en vez de variables, LLMs como *componentes* en vez de todo el sistema.
Pero el retorno es asimétrico. Un prompt te ahorra minutos. Un agente te ahorra horas, para siempre. El primero lleva un fin de semana. El décimo una tarde. El centésimo? Dejas de contar.
Mi agente de gastos ha procesado 347 tickets desde enero. He mirado exactamente tres. Los tres eran casos límite que marcó correctamente.
Esa es la meta. No "la IA lo hace todo". La IA hace el *aburrido* todo. Tú haces lo interesante.
---
FAQ
**¿Necesito saber teoría de grafos?**
No. Necesitas saber máquinas de estados. Si has construido un reducer de Redux o un store de Vuex, ya lo pillas. Nodos = reducers. Aristas = enrutamiento de acciones. Estado = el store.
**¿Cuál es la curva de aprendizaje?**
Fin de semana para primer agente funcionando. Mes para producción-ready. Lo difícil no es el framework — es aprender a pensar en grafos en vez de prompts.
**¿Puedo usar esto con modelos locales?**
Sí. Al grafo le da igual qué LLM enchufes. Corro algunos nodos en un modelo 7B local, otros en un modelo grande en la nube. La optimización de coste es solo otro nodo.
**¿Cómo depuro un agente en marcha?**
Replay. Cada ejecución produce una traza: entradas, salidas de nodos, cambios de estado, tiempos. Puedes repetir cualquier paso con entradas modificadas. Es time-travel debugging gratis.
**¿Esto solo es para desarrolladores?**
Actualmente, sí. Pero vienen builders visuales. En seis meses, product managers arrastrarán y soltarán flujos de agentes. Empieza a aprender ahora — serás el experto cuando lleguen.
**¿Cuál es el mayor error de principiantes?**
Intentar construir un grafo gigante para todo. Construye grafos pequeños, de propósito único. Compónlos. Un grafo que hace gastos *y* viajes *y* calendario es una pesadilla. Tres grafos que se hablan entre sí? Mantenible.
**¿Cuánto cuesta correrlo?**
Depende de tus llamadas a LLM. Mi agente de gastos: ~$0.03 por ticket. Agente fiscal: ~$2/mes. Revisión de código: ~$0.50 por PR. El overhead del grafo es despreciable — milisegundos de CPU.
**¿Me reemplazarán los agentes?**
Los agentes reemplazan *tareas*. Las tareas que odias. Las tareas que te cansan. Tú mantienes el juicio, la creatividad, las relaciones. A menos que tu trabajo entero sea entrada de datos. Entonces sí, igual actualiza el CV.
Comments (0)
No comments yet. Be the first to comment!
Leave a Comment