Dot.Blog

Consulting DotNet C#, XAML, WinUI, WPF, MAUI, IA

Workflow IA : Pauses, Reprises et Checkpoints (+ VIDEO)

Microsoft Agent Framework En C# : Un Vrai Workflow Doit Pouvoir Attendre Et Reprendre. Une grande partie des démonstrations d’agents repose sur une hypothèse tacite : le monde coopère. Tout se passe dans un seul run. Les données nécessaires sont disponibles immédiatement. Aucun opérateur ne répond plus tard. Aucun système externe ne retarde la suite. Rien ne s’interrompt. Rien ne redémarre. Dans un tel décor, presque n’importe quel enchaînement paraît propre. Mais la réalité est un peu différente (on s'en doutait !)

Le problème est que ce décor parfait n’existe presque jamais en production.

Dans une application réelle, un processus peut devoir attendre une information complémentaire, dépendre d’une validation métier, traverser plusieurs écrans, survivre à une fermeture d’application ou reprendre le lendemain avec des éléments pendants. À partir de là, la question n’est plus seulement : “Le système sait-il répondre ?” La vraie question devient : “Le système sait-il continuer proprement quand le temps réel casse le flot ?”

C’est le sujet de ce billet et surtout de la nouvelle vidéo consacrée à Microsoft Agent Framework en C#.

Le vrai sujet n’est pas l’approbation humaine (HITL)

Présenter ce thème comme une simple vidéo sur la validation humaine (Human-in-the-loop) serait bien trop étroit. L’approbation n’est qu’un exemple. Le sujet réel est la continuité d’exécution.

Autrement dit : comment un workflow peut-il s’interrompre sans se dégrader, attendre sans se perdre, puis reprendre sans reconstruction artificielle du contexte ?

Cette question est beaucoup plus sérieuse qu’elle n’en a l’air. Tant qu’un système n’est capable d’exister que dans une exécution continue et sans friction, il reste proche d’une démo. Il peut être spectaculaire, mais il n’est pas encore robuste.

Un agent sans pause ni reprise est souvent simplement un système qui suppose un monde parfait.

Ce que Microsoft Agent Framework rend intéressant

L’intérêt de Microsoft Agent Framework, ici, n’est pas d’ajouter encore un peu d’“IA” à une application. Son intérêt est de fournir une structure claire pour gérer les interruptions légitimes du processus. D'ailleurs, stricto sensu, ce n'est pas MAF lui-même qui fournit ce service mais un namespace particulier de la famille des "microsoft.AI.*" dont fait partie MAF bien entendu.

La vidéo insiste donc sur une distinction que beaucoup de contenus mélangent :

  • la session conversationnelle ;
  • l’état partagé ;
  • le checkpoint de workflow.

Confondre ces trois notions conduit presque toujours à une architecture floue.

  • Une session n’est pas un checkpoint.
  • Un historique de messages n’est pas un instantané d’exécution.
  • Un objet de contexte sérialisé n’est pas une reprise de workflow au sens fort.

Le checkpoint répond à une autre exigence : capturer un état d’exécution exploitable, cohérent et reprenable. Dès que l’on comprend cette différence, on sort immédiatement du cadre “chatbot” pour entrer dans celui d’un processus durable.

La démonstration choisie : attendre une information externe

Le scénario présenté dans la vidéo évite volontairement de commencer par l’approbation humaine, parce que ce serait réducteur.

Le workflow traite d’abord une demande métier. Il détecte ensuite qu’une donnée obligatoire manque pour continuer. À ce moment-là, il émet une requête externe, se met en attente, puis reprend lorsque l’information lui est fournie.

Ce scénario est plus fort que l’exemple classique d’approbation, parce qu’il montre une mécanique générale.

  • Le système n’échoue pas.
  • Le système ne repart pas de zéro.
  • Le système n’invente pas une suite fictive.
  • Le système suspend proprement son exécution.

C’est précisément ce comportement qui distingue un enchaînement crédible d’une simple démonstration en flux continu.

Le moment décisif : Le checkpoint et le redémarrage

Le passage le plus important de la vidéo est celui où le workflow est interrompu, sauvegardé, puis repris après redémarrage.

C’est là que le spectateur comprend qu’il n’est plus devant un simple mécanisme conversationnel. Il est devant une logique de système.

Ce point mérite d’être dit clairement : relancer un traitement en espérant reconstruire le contexte n’est pas une vraie reprise. C’est une approximation. Cela peut suffire pour un prototype. Cela devient faible dès qu’il faut garantir la cohérence, auditer le chemin ou réintégrer proprement une réponse arrivée plus tard.

Le checkpoint, lui, sert précisément à ne pas tricher avec cette continuité.

Lorsque le processus redémarre, l’objectif n’est pas de rejouer artificiellement une conversation ou de recomposer à la main les conditions d’exécution. L’objectif est de reprendre le flot avec son état utile, ses attentes pendantes et sa logique d’avancement intacte.

Pourquoi ce sujet est architectural

Beaucoup de discussions autour des agents se concentrent sur le prompt, les outils, les modèles ou les performances de sortie. Tout cela compte, évidemment. Mais ces discussions passent souvent à côté de la question la plus structurante : que devient le système quand la réalité métier impose une pause ?

Si votre architecture ne sait pas gérer cela, elle reste limitée à des cas heureux.

C’est pour cette raison que la pause/reprise n’est pas un détail d’implémentation. C’est une décision d’architecture. Elle détermine si votre système est capable d’assumer des dépendances externes, des validations asynchrones, des interruptions et des reprises sans s’effondrer dans de la logique ad hoc.

Il faut néanmoins rester rigoureux : si votre besoin tient dans un simple traitement linéaire et immédiat, ajouter du checkpointing est une erreur. Vous ajouteriez de la complexité sans bénéfice réel.

Mais lorsque le processus traverse le temps, la pause/reprise cesse d’être un luxe. Elle devient une exigence.

Voir la vidéo

La vidéo est disponible ici : https://youtu.be/0Bjq7viODcY

Si vous développez en C# et que vous voulez dépasser les démos qui supposent une exécution continue, ce contenu montre le seuil suivant : celui où l’on cesse de raisonner en simple “run” pour entrer dans la continuité de workflow.

C’est aussi ce qui distingue un système qui répond d’un système qui tient.

Comprendre les Workflows (vidéo précédente)

Pour comprendre cette nouvelle vidéo il faut comprendre ce que sont les workflows... Mais vous avez de la chance, la vidéo précédente traite justement de ce que sont ces plannfications algorithmiques destinées à rendre les applications utilisant de l'IA plus robustes en allignement ave les exigences de rigueur et d'audit de tout programme pro mis en production.

Vous pouvez regarder la vidéo "IA en C# : De l’Agent au Workflow" à cette adresse : https://youtu.be/4C-AePnMiHY 

Conlusion

Deux vidéos sur les workflows cela peut sembler beaucoup, mais ils sont d'une importance essentielle. Ceux qui visionneront les deux vidéos comprendront l'intérêt crucial de ces constructions algorithmiques rationnalisant l'usage des IA dans des processus métier rigoureux.

Alors pas de blabla inutile, rendez-vous tout de suite sur ma chaîne YouTube !

Stay Tuned !

Faites des heureux, PARTAGEZ l'article !