¿Qué es AIFlows?
AIFlows es el nuevo motor conversacional de WhatsUY, evolución del clásico BotV2. Conserva la simplicidad de los grafos de nodos y suma capacidades avanzadas para que los flujos sean más expresivos, componibles y auditables.
¿Qué cambia respecto a BotV2?
| Característica | BotV2 | AIFlows |
|---|---|---|
| Nodos básicos (acción, condición, mensaje) | ✅ | ✅ |
| Variables por conversación | ✅ | ✅ |
| Loops con cotas anti-runaway | ❌ | ✅ |
| Switch con casos | ❌ | ✅ |
| Funciones reutilizables (subrutinas) | ❌ | ✅ |
| Funciones como herramientas para LLM | ❌ | ✅ |
| Alcance léxico de funciones | ❌ | ✅ |
| Configuraciones reutilizables de IA | ❌ | ✅ |
| Asistente de edición por chat | ❌ | ✅ |
| Modo Agente IA directa con MCP | ❌ | ✅ |
| Simulador con traza paso a paso | parcial | ✅ |
| Inspector de estado en tiempo de ejecución | ❌ | ✅ |
Conceptos clave
- Project (Proyecto): agrupación lógica que contiene flujos, configuraciones de IA y funciones. Cada proyecto aísla su namespace.
- Draft vs Published Graph: dos versiones del flujo. Editas el draft; el published es el que se ejecuta en producción.
- AIFlowRun: ejecución persistida de un flujo, con estado completo. Permite pausa y resume.
- Modo de línea: además de
bot(legacy) eia_direct(agente), AIFlows introduceaiflow. - Función: bloque reutilizable. Sirve como subrutina dentro del grafo y, opcionalmente, como herramienta para el LLM.
- Scope (alcance): visibilidad de una variable o función según el punto del grafo.
Estado de implementación
AIFlows está ~85% implementado (septiembre 2026).
- ✅ Fases 1-4 completadas: ejecución lineal, control de flujo, IA + funciones con alcance, UI providers + modo
aiflow. - 🟡 Fase 5 en curso: pulido y simulador.
- 🟡 Fase 6 iniciada: asistente de edición y agente IA directa con MCP.
- ⏳ Fase 7 pendiente: hardening y criterios de aceptación.
Ver el detalle por fase en doc-iaflows/PROGRESO-IMPLEMENTACION.md (documentación interna).
¿Cuándo usar AIFlows?
- Lógica compleja con ramificaciones múltiples y casos → usa switch.
- Necesitás iterar sobre datos → usa loops.
- Compartís lógica entre varios flujos → usa funciones.
- Querés que el LLM use herramientas externas → declaralas como funciones y activá el modo agente.
- Necesitás simular antes de publicar → usa el simulador integrado.
Si tu flujo es muy simple (un par de ramas, sin loops, sin funciones), BotV2 sigue siendo válido.