L'editor visuale
Una pipeline betool è un grafo di nodi che assembli nell'editor visuale. Ogni nodo dichiara ciò che consuma e ciò che produce; l'editor rifiuta le connessioni incompatibili prima ancora che tu esegua la pipeline.
Anatomia di una pipeline
[Start]──▶[agent]──▶[condition]──┬──▶[agent]
└──▶[operator HTTP]
- Il nodo Start dichiara quale canale di ingresso innesca la pipeline.
- Ogni nodo a valle riceve il contesto dai nodi a monte (slot produttore / consumatore).
- Una condizione crea rami; tutti i rami producono infine un risultato tracciabile.
Concetti fondamentali
Slot
Uno slot è un dato con nome che scorre tra i nodi. Ad esempio: un nodo agent può produrre exchange.intent: "refund_request", che un nodo condition a valle consuma poi.
Due famiglie:
- Produttori — ciò che un nodo emette (
fixed_key,configurable_key). - Consumatori — ciò che un nodo accetta come input (
selector,selector_list).
Contratto
Ogni tipo di nodo espone un contratto dichiarato lato server. L'editor legge questo contratto per offrire solo connessioni valide.
Configurazione
Un nodo ha anche parametri statici (la sua configurazione) — per un nodo agent, ad esempio: il suo ruolo, la sua missione, i suoi strumenti e il suo modello LLM.
Creare una pipeline
- Progettista → Pipeline → Nuova pipeline.
- Il canvas si apre con un nodo Start vuoto. Configuralo per selezionare il canale di ingresso.
- Trascina i nodi dalla palette a sinistra: agent, operator, condition…
- Collega le uscite agli ingressi. L'editor consente solo collegamenti compatibili.
- Clicca su un nodo per aprirne la configurazione nel pannello di destra.
- Testa — la scheda Test esegue la pipeline su un exchange creato manualmente.
- Pubblica — crea una nuova versione. Gli exchange in entrata vengono instradati alla versione più recente; le esecuzioni in corso continuano sulla propria versione.
Versioning
Ogni modifica pubblicata crea una nuova versione. Puoi:
- Confrontare due versioni (diff visivo).
- Rieseguire un exchange passato su una nuova versione.
- Tornare a una versione precedente.
Validazione continua
L'editor esegue un validatore in modo continuo:
- Slot obbligatori lasciati non collegati → avviso mostrato sul nodo.
- Cicli illimitati → errore (pubblicazione bloccata).
- Capacità incompatibili (ad es. un agent che chiama uno strumento vocale all'interno di una pipeline email) → avviso.
- Campi di configurazione mancanti → errore.
Di conseguenza, una pipeline che si pubblica con successo è garantita strutturalmente valida. Gli errori a runtime provengono esclusivamente dalla logica di business (una chiamata API di terze parti che fallisce, un risultato di parsing inatteso), non dalla composizione.