e-naxosMAF COURSE / COURS
English

MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1

Demo010 — Code ou agent

Exécuter le chemin déterministe, puis comprendre l’option --agent.

Objectifs

Avant de lancer

Depuis la racine de BaseTechnique, utiliser le SDK .NET 10.0.402 fixé par global.json et restaurer les dépendances NuGet. C# de base suffit au chemin par défaut ; async/await et un profil de connexion fonctionnel sont nécessaires pour --agent. Aucun service de modèle n’est nécessaire pour le chemin déterministe.

Projets et ressources nécessaires
ÉlémentRôleDistribution
demos/Demo010_CodeOrAgent/Demo010.App.csprojApplication console net10.0Point d’entrée Program.cs
shared/Maf.Backlog/Maf.Backlog.csprojRéférence de projet déclaréeConserver le graphe de dépendances partagées, dont DemoConnection
shared/Configuration/ai-settings.jsonProfil copié vers la sortieUtilisé seulement après --agent
global.json et Directory.Packages.propsSDK et versions centraliséesConserver à la racine de la distribution

Les liens ci-dessous visent la révision publique immuable. Conserver les projets partagés et la configuration de la distribution complète ; le dossier Demo010 isolé ne suffit pas.

Chemin sans modèle

dotnet build BaseTechnique.slnx -m:1 -c Release
dotnet run --project demos/Demo010_CodeOrAgent/Demo010.App.csproj -c Release --no-build

Résultat attendu par lecture du code : un calcul de remise valant 90, puis un message de routage indiquant Component: Auth et précisant que ce n’est pas un graphe MAF. Le séparateur décimal dépend de la culture de la console. Le programme se termine avant le chargement du profil. Ces observations attendues ne constituent pas un nouveau test runtime.

Console.WriteLine("Deterministic C#: a fixed discount rule returns " + (100m * 0.9m));
var request = "Login fails for a known account";
var component = request.Contains("Login", StringComparison.OrdinalIgnoreCase) ? "Auth" : "Other";
Console.WriteLine($"Explicit C# orchestration: classify -> route -> display. Component: {component}. This is not a MAF workflow graph.");
if (!args.Contains("--agent")) return;

demos/Demo010_CodeOrAgent/Program.cs · L15–L19 · 9a895c94534c

Code source · Demo010 · Dossier

Sortie observée · 2026-10-24 · lot005-demo010
Deterministic C#: a fixed discount rule returns 90,0
Explicit C# orchestration: classify -> route -> display. Component: Auth. This is not a MAF workflow graph.

Variante optionnelle et limites

dotnet run --project demos/Demo010_CodeOrAgent/Demo010.App.csproj -c Release --no-build -- --agent

Le profil partagé fournit le fournisseur et le modèle ; aucune bascule cloud automatique n’est supposée. La branche affiche le fournisseur puis demande deux questions en anglais pour une panne ambiguë. Le texte exact varie. Le délai global est de deux minutes et Ctrl+C demande l’annulation. Une erreur de configuration ou un fournisseur indisponible reste un échec visible.

La branche --agent charge ce composant partagé avant de créer le client. Il assemble le fichier de configuration, les variables d’environnement et les options explicites. Le même code est distribué pour toutes les démos qui le référencent.

public static ConnectionOptions Load(string[] args) => ConnectionOptions.FromConfiguration(
    new ConfigurationBuilder().AddDemoConfiguration(args).Build());

shared/Maf.Backlog/DemoSettings.cs · L10–L11 · 9a895c94534c

Code source · Maf.Backlog · Dossier

Comprendre et poursuivre

Pour poursuivre

Dossier complet de la démo · README

lot007-foundations-1 · 2026-10-24 · 9a895c94534cd5fc6f3da883e37e5f7856e588c1