Ce qu'est réellement un flux de travail ici
La plupart des outils dits de « flux de travail » dans l'espace IA sont des enchaînements d'invites avec une fine couche par-dessus. Le constructeur de ToRun est un graphe orienté acyclique (DAG) d'étapes typées : vous reliez des invocations de modèle, des appels d'outils, des branches conditionnelles, des boucles et des sous-flux dans un graphe, et le moteur les exécute dans l'ordre des dépendances, en parallèle là où le graphe le permet.
Chaque étape est une entité de premier ordre avec sa propre configuration : type d'étape (appel LLM, recherche web, exécution de code, génération d'image, récupération, transformation, etc.), schéma d'entrée, politique d'erreur (échec rapide, réessai avec temporisation, bascule vers une alternative), plafond de budget d'exécution par étape et délai d'expiration.
L'acheminement de modèle à l'intérieur de chaque étape LLM passe par le même pipeline de capacités que tout le reste dans ToRun. Vous déclarez ce dont vous avez besoin — sortie structurée, vision, usage d'outils, raisonnement, une fenêtre de contexte d'au moins N jetons — et l'exécuteur résout le meilleur modèle correspondant parmi les fournisseurs alors disponibles. Si votre fournisseur préféré renvoie une 5xx, la chaîne de repli prend automatiquement le relais.
Exécuteurs priorité qualité et ce que cela change en pratique
Quand vous lancez un flux, l'exécuteur choisit délibérément des modèles de niveau qualité plutôt que l'option la moins chère. Deux raisons : les automatisations produisent des artefacts (rapports, contenu généré, code) que personne ne relit immédiatement, si bien que les défauts de qualité s'accumulent en silence ; et à volume modéré, l'écart de coût est inférieur au prix d'une mauvaise sortie qui impose de relancer ou de corriger à la main.
En pratique, cela signifie qu'un flux « résumer une recherche puis rédiger un rapport » privilégiera un modèle de raisonnement solide pour le résumé et un modèle de texte de haute qualité pour la rédaction, plutôt que de courir vers le plancher tarifaire. Vous pouvez passer outre par étape si vous savez qu'un modèle léger suffit là.
La facturation suit le reste de ToRun : chaque invocation de modèle dans un flux écrit exactement un enregistrement avec un instantané de tarif figé. Une exécution qui appelle trois modèles différents sur cinq étapes produit cinq enregistrements. Vous pouvez auditer le coût exact de chaque exécution, ventilé par étape, après coup — même des mois plus tard, quand les tarifs fournisseurs auront bougé.
Déboguer une exécution
Chaque exécution de flux produit un traçage structuré. Le traçage affiche le DAG avec chaque nœud annoté : heure de début, heure de fin, modèle résolu, nombre de jetons en entrée et en sortie, appels d'outils effectués et l'erreur éventuelle. Sur les étapes LLM, vous pouvez déplier l'invite exacte envoyée et la réponse brute reçue.
Si une étape échoue, le traçage vous dit si l'erreur vient de l'appel au modèle (erreur fournisseur, débordement de contexte, refus de politique de contenu), d'un outil en aval (expiration réseau, échec de validation de schéma) ou de votre propre logique conditionnelle. Vous n'avez pas à ajouter de journalisation : elle est capturée au niveau de l'infrastructure à chaque exécution.
Toute exécution peut être rejouée avec la même entrée, ce qui rend direct la reproduction d'une panne.
Un petit exemple : flux hebdomadaire de veille concurrentielle
Imaginez un flux que vous lancez chaque lundi matin :
- Étape de recherche web — cherche la couverture récente d'un ensemble de mots-clés concurrents et renvoie une liste d'adresses et d'extraits.
- Étape de récupération — remonte les quatre derniers rapports depuis une base de connaissances pour établir le contexte de référence.
- Étape de résumé (LLM) — distille les résultats de recherche en constats structurés : nouvelles fonctionnalités, changements de tarifs, annonces notables.
- Étape de rédaction (LLM) — écrit une note interne concise dans un style maison constant, ancrée dans les constats résumés.
- Étape de diffusion — publie la note vers un point de terminaison webhook configuré.
Le graphe a une dépendance naturelle : l'étape 3 dépend des étapes 1 et 2 (qui peuvent tourner en parallèle), l'étape 4 dépend de la 3, l'étape 5 dépend de la 4. L'exécuteur procède ainsi sans configuration explicite de parallélisme : il lit les arêtes.