MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1
Demo080 — Approved Backlog
Suspendre un appel avec l’approbation native MAF.
Objectifs
- Observer Demo080 et ses variantes ; relier le résultat aux concepts du chapitre.
Préparer la démo
Depuis la racine de la solution complète déjà compilée en Release. Prérequis du parcours : Demo070. Ce programme utilise le chat réel du profil sélectionné ; aucun embedding n’est nécessaire sauf le mode --embed de Demo020. Vérifier la connexion et les capacités requises avant de conclure à un défaut du scénario.
| Projet | Rôle |
|---|---|
| demos/Demo080_ApprovedBacklog/Demo080.App.csproj | App |
Lancer depuis la racine
dotnet run --project demos/Demo080_ApprovedBacklog/Demo080.App.csproj -c Release --no-buildModes et manipulation
Suivre la même demande et la même lecture list que Demo070. Lire Pending call, les arguments et Fixed draft. Refuser une première proposition avec n, puis soumettre une autre proposition et approuver avec y après revue.
var function = AIFunctionFactory.Create(gate.Create, "create_backlog_item");
var writer = chat.AsAIAgent(name: "BacklogWriter", instructions:
"Call create_backlog_item exactly once with the host proposal ID. Do not invent success. Report the tool outcome in English.",
tools: [new ApprovalRequiredAIFunction(function)]);
var session = await writer.CreateSessionAsync(stop.Token);
var review = new ApprovalReview(session, gate);
Résultats et échecs utiles
L’enveloppe ApprovalRequiredAIFunction intercepte l’appel avant écriture. Le host reprend dans la même session avec une réponse construite par ApprovalReview. Vérifier Created et ItemId ou l’absence d’invocation ; un refus MAF peut empêcher entièrement l’entrée dans WriteGate. Une demande encore pendante après quatre tours reste sans succès prouvé.
Ces observations sont attendues par lecture du code à la révision indiquée. Aucun nouvel appel de modèle n’a été exécuté pour rédiger cette fiche ; le texte exact d’une réponse générée n’est pas une sortie de référence.
Portée et limites
Les tests couvrent autre session, absence de réponse, arguments modifiés et rejeu. Ne pas les remplacer par une instruction “only write if approved”. L’approbation est liée à ce processus ; aucune décision durable n’est stockée.
