e-naxosMAF COURSE / COURS
English

MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1

Demo440 — Context Budget

Comparer contexte brut, sélection, résumé et mémoire avec une comptabilité complète des appels.

Objectifs

Préparer l’expérience réelle

Demo440.App référence Maf.Memory, Maf.Observability et la connexion commune. Il faut un fournisseur chat disponible, Ollama granite4:3b par défaut ou API explicitement configurée. Aucun embedding ou RAG n’est utilisé dans ce scénario. Le fichier Donnees/dossier_support_volumineux.txt est copié dans la sortie ; son contenu reste inchangé, y compris les libellés français utilisés par le filtre.

dotnet build BaseTechnique.slnx -m:1 -c Release

Exécuter jusqu’au ledger final

dotnet run --project demos/Demo440_ContextBudget/Demo440.App.csproj -c Release --no-build

Le programme s’exécute puis termine sans menu. Lire successivement raw-corpus et scenario-specific-line-filter, les mises à jour de mémoire, les politiques de contexte, puis NativeWindow et Experiment coverage including auxiliary calls. Conserver pour chaque étape taille, usage fournisseur disponible et réponse. Une erreur sort à 1 avec Context experiment failed ; aucun gain n’en est déduit.

string selected = string.Join('\n', corpus.Split('\n').Where(line =>
    line.StartsWith("Client :", StringComparison.OrdinalIgnoreCase)
    || line.StartsWith("Situation :", StringComparison.OrdinalIgnoreCase)
    || line.StartsWith("Impact :", StringComparison.OrdinalIgnoreCase)
    || line.StartsWith("Contrainte", StringComparison.OrdinalIgnoreCase)
    || line.StartsWith("Point métier", StringComparison.OrdinalIgnoreCase)
    || line.Contains("billing.outbound", StringComparison.OrdinalIgnoreCase)));
if (string.IsNullOrWhiteSpace(selected))
    throw new InvalidDataException("The explicit scenario filter selected no lines. No fallback.");

demos/Demo440_ContextBudget/Program.cs · L19–L27 · 9a895c94534c

Code source · Demo440 · Dossier

Comparer les faits conservés

Dans une copie du corpus, déplacer une interdiction hors des préfixes sélectionnés ; relever si elle disparaît du contexte envoyé. Dans ContextExperiment, comparer full, window-last-3, generated-summary-unverified et bounded-user-facts avec la même question. Vérifier Billing, SQL Server 2022 et l’interdiction du redémarrage nocturne. Ne pas transformer une réponse plausible en preuve de fidélité.

Tenir un tableau attribuable

Gabarit de relevé ; aucune valeur mesurée préremplie
MécanismePortée
ContexteNom de politique ; fichier et empreinte ; caractères ; estimation étiquetée
TransportNombre d’appels ; compteurs connus/absents ; sous-totaux et couverture
QualitéCorrection présente ; interdiction préservée ; inconnues dites
ComparabilitéProfil, paramètres, ordre, durée, répétitions et appels auxiliaires
Console.WriteLine("This line filter is deterministic selection for this fixture. Native MAF compaction and history policies follow.");
await ContextExperiment.RunAsync(chat, stop.Token);
Console.WriteLine("Experiment coverage including auxiliary calls: " + JsonSerializer.Serialize(ledger.Summarize()));
Console.WriteLine("All extraction, summary and compaction calls are reported separately. No cost or savings claim; answer quality must be evaluated separately.");

demos/Demo440_ContextBudget/Program.cs · L36–L39 · 9a895c94534c

Code source · Demo440 · Dossier

Interpréter sans annoncer une économie

L’estimation ne couvre pas nécessairement toute la requête. Le résumé peut perdre ou inventer un fait ; la compaction par fenêtre retire des tours sans résumer. L’extraction et le résumé ajoutent des appels. Les valeurs nulles restent inconnues. Cette page ne publie aucune nouvelle campagne live ni comparaison tarifaire ; le profil par défaut reste non qualifié.

Relier les expériences

Prérequis

Pour poursuivre

Dossier complet de la démo · README

lot012-observability-1 · 2026-10-24 · 9a895c94534cd5fc6f3da883e37e5f7856e588c1