Moteur de workflows durables pour l’IA conversationnelle

Wikit avait besoin d’un moyen d’exécuter des flows d’IA conversationnelle complexes de manière fiable—au-delà des prompt chains fragiles ou d’un backend unique.
J’ai conçu et développé un workflow engine qui transforme les interactions IA en exécutions structurées, durables et pilotées par l’état, avec branching et feedback en temps réel.
Une conversation peut brancher selon l’intention utilisateur, appeler des services externes, retry des étapes en échec et streamer sa progression en temps réel—rendant le système plus résilient, observable et prêt pour la production.
Fonctionnalités principales
- Workflow engine pour flows IA multi-étapes avec exécution stateful
- Branching conditionnel et orchestration parallèle des étapes
- Event streaming temps réel pour le suivi de progression
- Gestion native des retries, erreurs et cycle d’exécution
- Système de plugins extensible pour ajouter de nouvelles étapes
Résultats clés
- Remplacement de prompt chains fragiles par des workflows durables (state, retries, lifecycle contrôlé)
- Amélioration de l’observabilité via events temps réel et logs persistants
- Itération plus sûre sur le comportement IA grâce à des traces d’exécution claires
- Réduction de la friction dev via standardisation de la configuration et du tooling
Architecture
Wikit Semantics Workflow est une plateforme de workflow en TypeScript basée sur Temporal, structurée en services loosely coupled :
- Gateway (API + Event Streaming)
Gère les requêtes et stream les events des workflows vers les clients en temps réel - Workflow Engine (Orchestration)
Pilote l’état, le branching et l’exécution des workflows via Temporal - Worker (Activity Execution)
Exécute les étapes (calls IA, services externes, transformations)
Points techniques clés
- Modélisation des workflows sous forme de graphes dirigés avec validation via schémas typés
- Implémentation de branch pruning et exécution parallèle des étapes
- Plugin-based activity registry pour extensibilité
- Event layer basé sur Redis séparant signaux temps réel et logs persistants
- Standardisation du setup TypeScript, linting et tooling en monorepo
Mon rôle
Responsabilité end-to-end :
- Design de l’architecture et du modèle de workflow
- Implémentation du runtime et de l’orchestration
- Développement de l’infrastructure de services et du système d’events
- Mise en place du tooling partagé pour homogénéiser les apps et packages