Concepto clave
La lógica condicional en agentes de IA con LangGraph es el mecanismo que permite a tu sistema tomar decisiones autónomas basadas en el contexto actual, la memoria histórica y las herramientas disponibles. Piensa en esto como un gerente experimentado en una empresa: no sigue un guión fijo, sino que evalúa la situación (contexto), recuerda experiencias pasadas (memoria) y decide qué especialista (herramienta) necesita para resolver el problema actual.
La diferencia clave entre un agente básico y uno avanzado es precisamente esta capacidad de razonamiento contextual. Un agente básico podría ejecutar herramientas en secuencia predefinida, mientras que un agente avanzado con lógica condicional analiza: "Dado que el usuario pregunta sobre precios históricos de acciones, y en conversaciones anteriores mostró interés en análisis técnico, y tengo acceso a APIs de datos financieros y de análisis de sentimiento... ¿qué herramienta es más relevante ahora?"
"Un agente con lógica condicional efectiva no solo responde preguntas, sino que anticipa necesidades basándose en patrones en la memoria."
Cómo funciona en la práctica
Veamos la arquitectura paso a paso:
- Recolección de contexto: El agente recibe una consulta del usuario y recupera memoria relevante de la base de conocimiento
- Evaluación de estado: Analiza múltiples dimensiones:
- Intención detectada en la consulta
- Confianza en la clasificación
- Herramientas disponibles y su historial de uso
- Patrones en interacciones pasadas
- Decisión condicional: Aplica reglas como:
if (consulta_contiene_palabras_clave_financieras AND memoria_muestra_interés_previo_en_mercados) { return herramienta_analisis_financiero; } else if (consulta_es_ambigua AND confianza_baja) { return herramienta_clarificacion; } - Ejecución y actualización: Ejecuta la herramienta seleccionada y actualiza la memoria con el resultado y la decisión tomada
En LangGraph, esto se implementa con nodos condicionales que enrutan el flujo basado en funciones de evaluación. La clave está en diseñar estas funciones para que consideren múltiples factores simultáneamente.
Caso de estudio
Implementemos un agente de soporte técnico para una plataforma SaaS. El agente tiene estas herramientas:
| Herramienta | Propósito | Condición de uso |
|---|---|---|
| BuscarDocumentacion | Buscar en base de conocimiento | Consultas sobre funcionalidades |
| ConsultarTickets | Revisar tickets anteriores | Usuario menciona problemas recurrentes |
| GenerarCodigoEjemplo | Crear ejemplos personalizados | Usuario es desarrollador (según memoria) |
| EscalarAHumano | Transferir a agente humano | Confianza baja o problema crítico |
El flujo condicional analiza:
- Historial del usuario: Si en los últimos 3 tickets tuvo problemas similares, prioriza ConsultarTickets
- Complejidad detectada: Si la consulta contiene términos técnicos avanzados y el perfil indica desarrollador, usa GenerarCodigoEjemplo
- Urgencia: Si el mensaje contiene palabras como "crítico" o "bloqueante", escala inmediatamente
Después de 2 semanas en producción, este agente redujo las escalaciones innecesarias en 40% y mejoró la satisfacción del usuario en 25 puntos, demostrando el valor de la lógica condicional bien diseñada.
Errores comunes
- Condiciones demasiado simples: Usar solo palabras clave sin considerar contexto. Solución: Combinar múltiples señales (intención, memoria, confianza) en una función de evaluación ponderada.
- Ignorar el historial de herramientas: No trackear qué herramientas fueron efectivas en contextos similares. Solución: Mantener un registro de éxito por herramienta-contexto y usarlo en decisiones futuras.
- Bucles infinitos en lógica condicional: Cuando las condiciones crean ciclos sin salida. Solución: Implementar contadores de intentos y fallbacks explícitos.
- Sobrecarga de memoria: Considerar todo el historial sin filtro, ralentizando decisiones. Solución: Usar ventanas temporales o relevancia calculada para limitar la memoria consultada.
- Falta de logging de decisiones: No registrar por qué se tomó cada decisión, dificultando debugging. Solución: Loggear el contexto completo, las alternativas consideradas y la razón de la selección.
Checklist de dominio
- ✓ Puedo diseñar una función de evaluación que combine al menos 3 factores contextuales diferentes
- ✓ Implemento mecanismos para evitar bucles infinitos en grafos condicionales
- ✓ Mi agente selecciona herramientas diferentes para el mismo input en contextos distintos
- ✓ Mantengo y consulto memoria histórica relevante para cada decisión
- ✓ Loggeo suficiente contexto para entender y optimizar decisiones pasadas
- ✓ Tengo fallbacks definidos para cuando ninguna condición se cumple claramente
- ✓ Pruebo mi lógica condicional con casos límite y entradas ambiguas
Implementa un agente de recomendación de contenido con lógica condicional avanzada
Objetivo
Crear un agente que recomiende artículos, videos o cursos basándose en múltiples factores contextuales y memoria del usuario.
Contexto
Eres el ingeniero de IA en EdTechPro, una plataforma de aprendizaje. Los usuarios tienen diferentes roles (estudiante, profesional, manager), intereses (trackeados en memoria) y comportamientos de consumo.
Herramientas disponibles
- RecomendarArticulos: Para usuarios que prefieren lectura rápida
- RecomendarVideos: Para usuarios visuales o con poco tiempo
- RecomendarCursosCompletos: Para usuarios comprometidos con aprendizaje profundo
- PreguntarPreferencias: Cuando el contexto es ambiguo
Pasos
- Configura el grafo base: Crea un grafo LangGraph con nodo inicial, nodos para cada herramienta, y nodo final.
- Diseña la función de evaluación condicional: Implementa una función que reciba:
- Consulta actual del usuario
- Perfil del usuario (rol, historial de consumo)
- Estadísticas de engagement (tiempo promedio por tipo de contenido)
- Disponibilidad declarada (si el usuario mencionó "tengo 10 minutos" vs "quiero aprender en profundidad")
- Implementa la lógica de decisión: Usa reglas como:
- Si usuario es visual (historial muestra 80%+ videos) y menciona poco tiempo → RecomendarVideos cortos
- Si usuario es profesional buscando certificación y tiene historial de completar cursos → RecomendarCursosCompletos
- Si el contexto es ambiguo y la confianza < 70% → PreguntarPreferencias
- Añade memoria contextual: Después de cada recomendación, actualiza el perfil del usuario con:
- Tipo de contenido recomendado
- Respuesta del usuario (si aceptó, ignoró, o pidió algo diferente)
- Tiempo de interacción
- Prueba con casos variados: Ejecuta tu agente con al menos 5 perfiles diferentes y verifica que las recomendaciones sean contextualmente apropiadas.
Entrega esperada
Código completo del grafo con lógica condicional, ejemplos de ejecución con diferentes inputs, y análisis de 3 decisiones tomadas por tu agente explicando por qué seleccionó cada herramienta.
Pistas- Considera usar pesos diferentes para cada factor en tu función de evaluación (ej: historial podría pesar 40%, contexto actual 30%, perfil 30%)
- Implementa un sistema de feedback inmediato: si el usuario rechaza una recomendación, ajusta los pesos para futuras decisiones
- No olvides manejar el caso donde el usuario es nuevo y no tiene historial: usa valores por defecto basados en el rol declarado
Evalua tu comprension
Completa el quiz interactivo de arriba para ganar XP.