El editor visual
Un pipeline de betool es un grafo de nodos que ensamblas en el editor visual. Cada nodo declara lo que consume y lo que produce; el editor rechaza las conexiones incompatibles antes incluso de ejecutar el pipeline.
Anatomía de un pipeline
[Start]──▶[agent]──▶[condition]──┬──▶[agent]
└──▶[operator HTTP]
- El nodo Start declara qué canal de entrada dispara el pipeline.
- Cada nodo aguas abajo recibe el contexto de los nodos aguas arriba (slots productor / consumidor).
- Una condición crea ramas; todas las ramas producen finalmente un resultado trazable.
Conceptos clave
Slot
Un slot es un dato con nombre que fluye entre los nodos. Por ejemplo: un nodo agent puede producir exchange.intent: "refund_request", que un nodo condition aguas abajo consume después.
Dos familias:
- Productores — lo que un nodo emite (
fixed_key,configurable_key). - Consumidores — lo que un nodo acepta como entrada (
selector,selector_list).
Contrato
Cada tipo de nodo expone un contrato declarado del lado del servidor. El editor lee este contrato para ofrecer solo conexiones válidas.
Configuración
Un nodo también tiene parámetros estáticos (su configuración) — para un nodo agent, por ejemplo: su rol, su misión, sus herramientas y su modelo LLM.
Crear un pipeline
- Diseñador → Pipelines → Nuevo pipeline.
- El lienzo se abre con un nodo Start vacío. Configúralo para seleccionar el canal de entrada.
- Arrastra nodos desde la paleta de la izquierda: agent, operator, condition…
- Conecta salidas a entradas. El editor solo permite enlaces compatibles.
- Haz clic en un nodo para abrir su configuración en el panel de la derecha.
- Probar — la pestaña Probar ejecuta el pipeline contra un exchange elaborado manualmente.
- Publicar — crea una nueva versión. Los exchanges entrantes se enrutan a la versión más reciente; las ejecuciones en curso continúan en su propia versión.
Versionado
Cada cambio publicado crea una nueva versión. Puedes:
- Comparar dos versiones (diff visual).
- Reproducir un exchange pasado en una nueva versión.
- Revertir a una versión anterior.
Validación continua
El editor ejecuta un validador de forma continua:
- Slots obligatorios sin cablear → advertencia mostrada en el nodo.
- Ciclos no acotados → error (publicación bloqueada).
- Capacidades incompatibles (p. ej. un agente que llama a una herramienta de voz dentro de un pipeline de email) → advertencia.
- Campos de configuración ausentes → error.
Como resultado, un pipeline que se publica correctamente está garantizado como estructuralmente válido. Los errores en tiempo de ejecución provienen exclusivamente de la lógica de negocio (una llamada a una API de terceros que falla, un resultado de análisis inesperado), no de la composición.