MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1
Demo150 — Shared Facts
L’injection est manuelle.
Objectifs
- Observer Demo150 et ses variantes ; relier le résultat aux concepts du chapitre.
Préparer la démo
Depuis la racine de la distribution complète compilée en Release. Les projets partagés Maf.Memory et Maf.DemoConnection sont nécessaires. Les réponses utilisent le chat réel, sans embeddings. Les commandes locales de lecture, reset, oubli ou sauvegarde ne demandent pas de réponse générée. Demo170 appelle directement le chat pour sa comparaison.
| Project | Role |
|---|---|
| demos/Demo150_SharedFacts/Demo150.App.csproj | App |
| shared/Maf.Memory/Maf.Memory.csproj | Shared implementation |
| shared/Maf.DemoConnection/Maf.DemoConnection.csproj | Connection |
Lancer depuis la racine
dotnet run --project demos/Demo150_SharedFacts/Demo150.App.csproj -c Release --no-buildModes et manipulation
Saisir module=Reporting; database=PostgreSQL, mem, puis module=Billing; database=SQL Server 2022, mem, Where can I find logs?, mem, forget module, mem, forget, mem, quit.
var declarations = ExplicitAssertions.Parse(userText);
if (response.Result.Facts is null || response.Result.Facts.Count != declarations.Count
|| response.Result.Facts.Any(f => f is null || !declarations.TryGetValue(f.Key, out var value) || value != f.Value))
throw new InvalidDataException("Extraction does not match the explicit key=value assertions. No semantic guess is admitted.");
memory.Apply(turn, response.Result.Facts, DateTimeOffset.UtcNow);
Résultats et échecs utiles
L’injection est manuelle. Le routage where/how/logs utilise KnowledgeAgent, les autres messages BacklogAgent. Les deux partagent les faits, pas leurs sessions. Vérifier la provenance et le remplacement de clé, pas seulement la réponse générée.
Ces observations sont attendues par lecture du code à la révision publique liée. Le lot du site rejoue séparément les tests déterministes : il ne présente pas une réponse générée ou un score de fournisseur non mesuré comme une sortie observée.
Persistance et limites
Les faits de Demo150/160 et la comparaison Demo170 restent en processus. Demo130 conserve seulement le contexte SQLite ; Demo140 conserve son snapshot JSON. L’oubli d’une session ne purge pas les autres stores ou sauvegardes. Les erreurs d’admission sont visibles sans fallback. Aucun modèle n’est qualifié par les seuls tests scriptés.
dotnet test tests/Maf.Memory.Tests/Maf.Memory.Tests.csproj -m:1 -c Release --no-build --no-restore