<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Multi-Agent | The .NET Blog</title><link>https://thedotnetblog.com/nl/tags/multi-agent/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>nl</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Fri, 10 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/nl/tags/multi-agent/index.xml" rel="self" type="application/rss+xml"/><item><title>Real-Time Multi-Agent UI's Bouwen Die Niet Aanvoelen als een Black Box</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/ag-ui-real-time-multi-agent-ui-maf/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/ag-ui-real-time-multi-agent-ui-maf/</guid><description>AG-UI en Microsoft Agent Framework werken samen om multi-agent workflows een proper frontend te geven — met real-time streaming, menselijke goedkeuringen en volledige zichtbaarheid in wat je agents doen.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/ag-ui-real-time-multi-agent-ui-maf/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Dit is de werkelijkheid over multi-agent systemen: ze zien er geweldig uit in demo&amp;rsquo;s. Drie agents die werk aan elkaar doorgeven, problemen oplossen, beslissingen nemen. Dan probeer je het aan echte gebruikers te tonen en&amp;hellip; stilte. Een draaiende indicator. Geen idee welke agent wat doet of waarom het systeem gepauzeerd is. Dat is geen product — dat is een vertrouwensprobleem.&lt;/p&gt;
&lt;p&gt;Het Microsoft Agent Framework-team heeft zojuist een &lt;a href="https://devblogs.microsoft.com/agent-framework/ag-ui-multi-agent-workflow-demo/"&gt;fantastisch overzicht&lt;/a&gt; gepubliceerd over het koppelen van MAF-workflows aan &lt;a href="https://github.com/ag-ui-protocol/ag-ui"&gt;AG-UI&lt;/a&gt;, een open protocol voor het streamen van agent-uitvoeringsgebeurtenissen naar een frontend via Server-Sent Events. En eerlijk gezegd? Dit is precies de brug die we misten.&lt;/p&gt;
&lt;h2 id="waarom-dit-belangrijk-is-voor-net-ontwikkelaars"&gt;Waarom dit belangrijk is voor .NET-ontwikkelaars&lt;/h2&gt;
&lt;p&gt;Als je AI-aangedreven apps bouwt, ben je waarschijnlijk al tegen deze muur opgelopen. Je backend-orkestratie werkt prima — agents geven werk aan elkaar door, tools worden uitgevoerd, beslissingen worden genomen. Maar de frontend heeft geen idee wat er achter de schermen gebeurt. AG-UI lost dit op door een standaardprotocol te definiëren voor het streamen van agentgebeurtenissen (&lt;code&gt;RUN_STARTED&lt;/code&gt;, &lt;code&gt;STEP_STARTED&lt;/code&gt;, &lt;code&gt;TOOL_CALL_*&lt;/code&gt;, &lt;code&gt;TEXT_MESSAGE_*&lt;/code&gt;) rechtstreeks naar je UI-laag via SSE.&lt;/p&gt;
&lt;p&gt;De demo die ze bouwden is een klantenserviceworkflow met drie agents: een triageagent die verzoeken routeert, een terugbetalingsagent die financiële zaken afhandelt, en een orderagent die vervangingen beheert. Elke agent heeft zijn eigen tools, en de handoff-topologie is expliciet gedefinieerd — geen &amp;ldquo;bedenk het maar uit de prompt&amp;rdquo;-sfeer.&lt;/p&gt;
&lt;h2 id="de-handoff-topologie-is-de-echte-ster"&gt;De handoff-topologie is de echte ster&lt;/h2&gt;
&lt;p&gt;Wat mij opviel is hoe &lt;code&gt;HandoffBuilder&lt;/code&gt; je in staat stelt een gerichte routeringsgraf tussen agents te declareren:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;builder&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;HandoffBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ag_ui_handoff_workflow_demo&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;participants&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;triage&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;refund&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;termination_condition&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;termination_condition&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;builder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;add_handoff&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;triage&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;refund&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Refunds, damaged-item claims...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;add_handoff&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;triage&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Replacement, exchange...&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;add_handoff&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;refund&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Replacement logistics needed after refund.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;add_handoff&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;triage&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;After replacement/shipping tasks complete.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Elke &lt;code&gt;add_handoff&lt;/code&gt; maakt een gerichte koppeling met een beschrijving in natuurlijke taal. Het framework genereert handoff-tools voor elke agent op basis van deze topologie. Routeringsbeslissingen zijn daardoor gegrond in jouw orkestratiestucture, niet in wat het LLM toevallig wil doen. Dat is enorm belangrijk voor betrouwbaarheid in productie.&lt;/p&gt;
&lt;h2 id="human-in-the-loop-die-echt-werkt"&gt;Human-in-the-loop die echt werkt&lt;/h2&gt;
&lt;p&gt;De demo toont twee onderbrekingspatronen die elke echte agentapp nodig heeft:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tool-goedkeuringsonderbrekingen&lt;/strong&gt; — wanneer een agent een tool aanroept die is gemarkeerd met &lt;code&gt;approval_mode=&amp;quot;always_require&amp;quot;&lt;/code&gt;, pauzeert de workflow en stuurt een gebeurtenis. De frontend toont een goedkeuringsmodal met de toolnaam en argumenten. Geen token-verspillende herhalingsloops — gewoon een nette pauze-goedkeur-hervat-stroom.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Informatieverzoekonderbrekingen&lt;/strong&gt; — wanneer een agent meer context van de gebruiker nodig heeft (zoals een order-ID), pauzeert het en vraagt. De frontend toont de vraag, de gebruiker antwoordt, en de uitvoering gaat verder precies waar het gestopt was.&lt;/p&gt;
&lt;p&gt;Beide patronen worden gestreamd als standaard AG-UI-gebeurtenissen, zodat je frontend geen aangepaste logica per agent nodig heeft — het rendert gewoon wat er via de SSE-verbinding binnenkomt.&lt;/p&gt;
&lt;h2 id="het-aansluiten-is-verrassend-eenvoudig"&gt;Het aansluiten is verrassend eenvoudig&lt;/h2&gt;
&lt;p&gt;De integratie tussen MAF en AG-UI is één functieaanroep:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;agent_framework.ag_ui&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;AgentFrameworkWorkflow&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;add_agent_framework_fastapi_endpoint&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;FastAPI&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;demo_workflow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AgentFrameworkWorkflow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;workflow_factory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;_thread_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;create_handoff_workflow&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ag_ui_handoff_workflow_demo&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;add_agent_framework_fastapi_endpoint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;demo_workflow&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/handoff_demo&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;De &lt;code&gt;workflow_factory&lt;/code&gt; maakt een nieuwe workflow per thread, zodat elke conversatie geïsoleerde toestand heeft. Het endpoint regelt alle SSE-infrastructuur automatisch. Als je FastAPI al gebruikt (of het als lichte laag kunt toevoegen), is dit vrijwel nul wrijving.&lt;/p&gt;
&lt;h2 id="mijn-kijk"&gt;Mijn kijk&lt;/h2&gt;
&lt;p&gt;Voor ons als .NET-ontwikkelaars is de directe vraag: &amp;ldquo;Kan ik dit in C# doen?&amp;rdquo; Agent Framework is beschikbaar voor zowel .NET als Python, en het AG-UI-protocol is taalonafhankelijk (het is gewoon SSE). Dus hoewel deze specifieke demo Python en FastAPI gebruikt, is het patroon direct overdraagbaar. Je kunt een ASP.NET Core minimal API aansluiten met SSE-endpoints die hetzelfde AG-UI-gebeurtenisschema volgen.&lt;/p&gt;
&lt;p&gt;De grotere les is dat multi-agent UI&amp;rsquo;s een prioriteit worden, geen bijzaak. Als je iets bouwt waarbij agents met mensen interageren — klantenservice, goedkeuringsworkflows, documentverwerking — is deze combinatie van MAF-orkestratie en AG-UI-transparantie het te volgen patroon.&lt;/p&gt;
&lt;h2 id="samenvatting"&gt;Samenvatting&lt;/h2&gt;
&lt;p&gt;AG-UI + Microsoft Agent Framework geeft je het beste van beide werelden: robuuste multi-agent orkestratie op de backend en real-time zichtbaarheid op de frontend. Geen black-box agentinteracties meer.&lt;/p&gt;
&lt;p&gt;Bekijk de &lt;a href="https://devblogs.microsoft.com/agent-framework/ag-ui-multi-agent-workflow-demo/"&gt;volledige walkthrough&lt;/a&gt; en de &lt;a href="https://github.com/ag-ui-protocol/ag-ui"&gt;AG-UI protocol repository&lt;/a&gt; om dieper te gaan.&lt;/p&gt;</content:encoded></item><item><title>Microsoft Agent Framework Bereikt 1.0 — Dit Is Wat Er Echt Toe Doet voor .NET-Ontwikkelaars</title><link>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/agent-framework-1-0-production-ready/</link><pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/agent-framework-1-0-production-ready/</guid><description>Microsoft Agent Framework 1.0 is productieklaar met stabiele API's, multi-agent-orkestratie en connectors voor elke grote AI-provider. Dit moet je weten als .NET-ontwikkelaar.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dit bericht is automatisch vertaald. Voor het origineel, &lt;a href="https://thedotnetblog.com/nl/posts/emiliano-montesdeoca/agent-framework-1-0-production-ready/"&gt;klik hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Als je de Agent Framework-reis hebt gevolgd vanaf de vroege dagen van Semantic Kernel en AutoGen, dan is dit significant. Microsoft Agent Framework heeft zojuist &lt;a href="https://devblogs.microsoft.com/agent-framework/microsoft-agent-framework-version-1-0/"&gt;versie 1.0 bereikt&lt;/a&gt; — productieklaar, stabiele API&amp;rsquo;s, toezegging voor langetermijnondersteuning. Beschikbaar voor .NET en Python, en echt klaar voor echte workloads.&lt;/p&gt;
&lt;p&gt;Laten we door het aankondigingslawaai heen snijden en ons richten op wat ertoe doet als je AI-aangedreven apps bouwt met .NET.&lt;/p&gt;
&lt;h2 id="de-korte-versie"&gt;De korte versie&lt;/h2&gt;
&lt;p&gt;Agent Framework 1.0 verenigt wat vroeger Semantic Kernel en AutoGen was in één open-source SDK. Één agent-abstractie. Één orkestratieengine. Meerdere AI-providers. Als je heen en weer ging tussen Semantic Kernel voor enterprise-patronen en AutoGen voor research-grade multi-agent workflows, kun je stoppen. Dit is nu de ene SDK.&lt;/p&gt;
&lt;h2 id="beginnen-is-bijna-oneerlijk-eenvoudig"&gt;Beginnen is bijna oneerlijk eenvoudig&lt;/h2&gt;
&lt;p&gt;Hier is een werkende agent in .NET:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// dotnet add package Microsoft.Agents.AI.OpenAI --prerelease&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;Microsoft.Agents.AI&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;Microsoft.Agents.AI.Foundry&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;Azure.Identity&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;https://your-project.services.ai.azure.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GetResponsesClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;gpt-5.3&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AsAIAgent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;HaikuBot&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;instructions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;You are an upbeat assistant that writes beautifully.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RunAsync&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Write a haiku about shipping 1.0.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Dat is het. Een handvol regels en je hebt een AI-agent die op Azure Foundry draait. Het Python-equivalent is even beknopt. Voeg functietools, meerturnsgesprekken en streaming toe naarmate je verder gaat — het API-oppervlak schaalt op zonder vreemd te worden.&lt;/p&gt;
&lt;h2 id="multi-agent-orkestratie--dit-is-het-echte-werk"&gt;Multi-agent-orkestratie — dit is het echte werk&lt;/h2&gt;
&lt;p&gt;Enkele agents zijn prima voor demo&amp;rsquo;s, maar productiescenario&amp;rsquo;s vereisen meestal coördinatie. Agent Framework 1.0 wordt geleverd met in de strijd geteste orkestratiepatronen rechtstreeks uit Microsoft Research en AutoGen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sequential&lt;/strong&gt; — agents verwerken op volgorde (schrijver → reviewer → editor)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Concurrent&lt;/strong&gt; — fan out naar meerdere agents in parallel, resultaten samenvoegen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handoff&lt;/strong&gt; — één agent delegeert naar een andere op basis van intentie&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group chat&lt;/strong&gt; — meerdere agents bespreken en convergeren naar een oplossing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Magentic-One&lt;/strong&gt; — het research-grade multi-agent patroon van MSR&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ze ondersteunen allemaal streaming, checkpointing, human-in-the-loop goedkeuringen en pauzeren/hervatten. Het checkpointing-deel is cruciaal — langlopende workflows overleven procesrestarts.&lt;/p&gt;
&lt;h2 id="de-meest-belangrijke-functies"&gt;De meest belangrijke functies&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Middleware-hooks.&lt;/strong&gt; Ken je de middleware-pipelines in ASP.NET Core? Hetzelfde concept, maar voor agentuitvoering. Onderschep elke fase — voeg inhoudsbeveiliging, logging, nalevingsbeleid toe — zonder agentvragen aan te raken.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pluggable geheugen.&lt;/strong&gt; Gespreksgeschiedenis, persistente sleutel-waardestatus, vectorgebaseerd ophalen. Kies je backend: Foundry Agent Service, Mem0, Redis, Neo4j of eigen implementatie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Declaratieve YAML-agents.&lt;/strong&gt; Definieer de instructies, tools, geheugen en orkestratietopologie van je agent in versiegecontroleerde YAML-bestanden. Laad en voer uit met één API-aanroep.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A2A- en MCP-ondersteuning.&lt;/strong&gt; MCP (Model Context Protocol) stelt agents in staat externe tools dynamisch te ontdekken en aan te roepen. A2A (Agent-to-Agent protocol) maakt samenwerking tussen runtimes mogelijk.&lt;/p&gt;
&lt;h2 id="preview-functies-die-de-moeite-waard-zijn"&gt;Preview-functies die de moeite waard zijn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DevUI&lt;/strong&gt; — een op browser gebaseerde lokale debugger voor het visualiseren van agentuitvoering, berichtstromen en toolaanroepen in real-time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Copilot SDK en Claude Code SDK&lt;/strong&gt; — gebruik Copilot of Claude als agentharnas rechtstreeks vanuit je orkestatiecode.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent Harness&lt;/strong&gt; — aanpasbare lokale runtime die agents toegang geeft tot shell, bestandssysteem en berichtlussen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills&lt;/strong&gt; — herbruikbare domeinvermogenspakketten.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="migreren-van-semantic-kernel-of-autogen"&gt;Migreren van Semantic Kernel of AutoGen&lt;/h2&gt;
&lt;p&gt;Als je bestaande Semantic Kernel- of AutoGen-code hebt, zijn er speciale migratieassistenten die je code analyseren en stap-voor-stap migratieplannen genereren.&lt;/p&gt;
&lt;h2 id="samenvatting"&gt;Samenvatting&lt;/h2&gt;
&lt;p&gt;Agent Framework 1.0 is de productiemijlpaal waar enterprise-teams op hebben gewacht. Stabiele API&amp;rsquo;s, multi-providerondersteuning en orkestratiepatronen die echt op schaal werken.&lt;/p&gt;
&lt;p&gt;Het framework is &lt;a href="https://github.com/microsoft/agent-framework"&gt;volledig open source op GitHub&lt;/a&gt;. Als je wachtte op het &amp;ldquo;veilig om in productie te gebruiken&amp;rdquo;-signaal — dit is het.&lt;/p&gt;</content:encoded></item></channel></rss>