<?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>Microsoft Agent Framework | The .NET Blog</title><link>https://thedotnetblog.com/tr/tags/microsoft-agent-framework/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>tr</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Tue, 05 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/tr/tags/microsoft-agent-framework/index.xml" rel="self" type="application/rss+xml"/><item><title>Microsoft Agent Framework Bölüm 3: Araçlardan İş Akışlarına — Yapı Taşları Yerine Oturdu</title><link>https://thedotnetblog.com/tr/news/emiliano-montesdeoca/maf-building-blocks-part-3-agents-tools-workflows/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/tr/news/emiliano-montesdeoca/maf-building-blocks-part-3-agents-tools-workflows/</guid><description>.NET AI yapı taşları serisinin 3. bölümü Microsoft Agent Framework'ü ele alıyor — araçlara sahip tek agentlardan belleğe sahip çok agentlı iş akışlarına kadar. İşte gerçekten önemli olan.</description><content:encoded>&lt;p&gt;&lt;em&gt;Bu yazı otomatik olarak çevrilmiştir. Orijinal sürüm için &lt;a href="https://thedotnetblog.com/tr/news/emiliano-montesdeoca/maf-building-blocks-part-3-agents-tools-workflows/"&gt;buraya tıklayın&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;.NET&amp;rsquo;teki Building Blocks for AI serisini takip ettiyseniz: Bölüm 1 bize &lt;code&gt;IChatClient&lt;/code&gt;&amp;lsquo;ı (evrensel model arayüzü), Bölüm 2 ise &lt;code&gt;Microsoft.Extensions.VectorData&lt;/code&gt;&amp;lsquo;yı (semantik arama ve RAG) verdi. Her ikisi de temel yapı taşları ve kendi başlarına kullanışlı. Ama her şeyin birbirine bağlanmaya başladığı yer burası.&lt;/p&gt;
&lt;p&gt;Bölüm 3 &lt;a href="https://github.com/microsoft/agent-framework"&gt;Microsoft Agent Framework&lt;/a&gt; hakkında — dürüst olmak gerekirse, .NET&amp;rsquo;te görmek için sabırsızlandığım parça bu. 1.0 Nisan&amp;rsquo;da çıktı. API kararlı. Gerçek agentlar inşa etme zamanı geldi.&lt;/p&gt;
&lt;h2 id="agent-gerçekte-nedir-chatbota-karşı"&gt;Agent gerçekte nedir (chatbot&amp;rsquo;a karşı)&lt;/h2&gt;
&lt;p&gt;Koda dalmadan önce bu ayrımı netleştirelim. Chatbot girdi alır, modeli çağırır, çıktı döndürür. Basit döngü.&lt;/p&gt;
&lt;p&gt;Agentın &lt;em&gt;özerkliği&lt;/em&gt; vardır. Bir görev hakkında akıl yürütebilir, hangi araçları kullanacağına karar verebilir, onları çağırabilir, sonuçları değerlendirebilir ve sıradaki adıma karar verebilir — her senaryo için açık adım adım mantık yazmadan. Araçlar ve talimatlar verirsiniz, orkestrasyon kendiliğinden gerçekleşir.&lt;/p&gt;
&lt;p&gt;Şöyle düşünün: &lt;code&gt;IChatClient&lt;/code&gt; bir konuşma yapmak gibi. Agent, birine görev listesi devretmek gibi.&lt;/p&gt;
&lt;h2 id="10-satırda-ilk-agentınız"&gt;10 satırda ilk agentınız&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotnet add package Microsoft.Agents.AI
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&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="n"&gt;AIAgent&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;AzureOpenAIClient&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;new&lt;/span&gt; &lt;span class="n"&gt;Uri&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;DefaultAzureCredential&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;GetChatClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;deploymentName&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;instructions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;You are good at telling jokes.&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;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Joker&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&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;Tell me a joke about a pirate.&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;&lt;code&gt;.AsAIAgent()&lt;/code&gt; uzantı yöntemi köprüdür. MEAI&amp;rsquo;dan &lt;code&gt;.AsIChatClient()&lt;/code&gt; ile aynı desen — sağlayıcının SDK&amp;rsquo;sını kararlı bir soyutlamaya sarar. Azure OpenAI, OpenAI, GitHub Models, Microsoft Foundry veya yerel modellerle çalışır.&lt;/p&gt;
&lt;p&gt;Akış da işe yarar:&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="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;update&lt;/span&gt; &lt;span class="k"&gt;in&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;RunStreamingAsync&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Tell me a joke about a pirate.&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 class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;update&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;h2 id="agenta-araçlar-vermek"&gt;Agenta araçlar vermek&lt;/h2&gt;
&lt;p&gt;Burada agentlar süslü chatbot olmaktan çıkar. Araçlar, modelin kullanıcının istediklerine göre çağırmaya karar verebileceği fonksiyonlardır. Yönlendirme mantığına gerek yok — model kendisi çözüyor.&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="na"&gt;[Description(&amp;#34;Get the weather for a given location.&amp;#34;)]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="n"&gt;GetWeather&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="na"&gt; [Description(&amp;#34;The location to get the weather for.&amp;#34;)]&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="n"&gt;location&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;=&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;$&amp;#34;The weather in {location} is cloudy with a high of 15°C.&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;AIAgent&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;chatClient&lt;/span&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;instructions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;You are a helpful assistant&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;tools&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;AIFunctionFactory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GetWeather&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;İki şeye dikkat edin. Birincisi, &lt;code&gt;AIFunctionFactory&lt;/code&gt; MEAI&amp;rsquo;dan — normal bir &lt;code&gt;IChatClient&lt;/code&gt; ile kullanacağınız araç fabrikasıyla aynı. Sohbet senaryoları için araç tanımladıysanız, burada da çalışır.&lt;/p&gt;
&lt;p&gt;İkincisi, &lt;code&gt;Description&lt;/code&gt; öznitelikleri çok önemlidir. Modelin bir aracın ne yaptığını ve ne zaman kullanılacağını anlama biçimi budur. Bunlara insanlar için değil, yapay zekanız için belgeler gibi davranın.&lt;/p&gt;
&lt;h2 id="oturumlar-gerçekten-hatırlayan-konuşmalar"&gt;Oturumlar: Gerçekten hatırlayan konuşmalar&lt;/h2&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="n"&gt;AgentSession&lt;/span&gt; &lt;span class="n"&gt;session&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;CreateSessionAsync&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;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;Tell me a joke about a pirate.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;session&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;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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s"&gt;&amp;#34;Now add some emojis and tell it in the voice of a pirate&amp;#39;s parrot.&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;session&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;Oturum olmadan her &lt;code&gt;RunAsync&lt;/code&gt; çağrısı durumsuz. Oturumla, agent hangi şakadan bahsettiğinizi bilir. &lt;code&gt;AgentSession&lt;/code&gt;, turlar arasında konuşma geçmişini korur.&lt;/p&gt;
&lt;p&gt;Üretim durumsuz servisleri için oturumlar temiz bir şekilde serileştirilebilir:&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="n"&gt;JsonElement&lt;/span&gt; &lt;span class="n"&gt;sessionState&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;SerializeSessionAsync&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;session&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="c1"&gt;// ... bir yerde saklayın ...&lt;/span&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;restoredSession&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;DeserializeSessionAsync&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sessionState&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;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;What were we just talking about?&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;restoredSession&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;Agentınız sunucusuz veya yatay ölçeklenmiş ortamda çalışıyorsa bu kritiktir.&lt;/p&gt;
&lt;h2 id="aicontextprovider-oturumlar-arası-kalıcı-bellek"&gt;AIContextProvider: Oturumlar arası kalıcı bellek&lt;/h2&gt;
&lt;p&gt;Oturumlar, konuşma geçmişini bir oturum &lt;em&gt;içinde&lt;/em&gt; korur. Peki oturumlar arasında kullanıcı hakkında bir şeyler bilmek? &lt;code&gt;AIContextProvider&lt;/code&gt; bunu ele alır.&lt;/p&gt;
&lt;p&gt;İki kancası var:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;ProvideAIContextAsync&lt;/code&gt;&lt;/strong&gt; — her etkileşimden &lt;em&gt;önce&lt;/em&gt; çalışır, agenta bağlam enjekte eder&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;StoreAIContextAsync&lt;/code&gt;&lt;/strong&gt; — her etkileşimden &lt;em&gt;sonra&lt;/em&gt; çalışır, öğrenmeye ve kalıcılaştırmaya olanak tanır&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Desen zarif: birden fazla sağlayıcıyı yığın şeklinde kullanabilirsiniz — biri kullanıcı tercihleri için, biri son etkileşimler için, biri ilgili belgeler için VectorData deposunu sorgulayan. Sonuncusu tam olarak Bölüm 2&amp;rsquo;den RAG deseni, artık her agent çağrısında otomatik olarak çalışıyor.&lt;/p&gt;
&lt;h2 id="çok-agentlı-iş-akışları"&gt;Çok agentlı iş akışları&lt;/h2&gt;
&lt;p&gt;Framework&amp;rsquo;ün adını hak ettiği yer burası. Yürütücülerin (agentlar, fonksiyonlar, her neyse) kenarlar üzerinden bağlandığı grafik tabanlı bir iş akışı sistemi içerir.&lt;/p&gt;
&lt;p&gt;Yerel olarak desteklenen bazı desenler:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sıralı&lt;/strong&gt;: Agent A&amp;rsquo;nın çıktısı Agent B&amp;rsquo;ye gider&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Eşzamanlı (fan-out/fan-in)&lt;/strong&gt;: Paralel olarak birden fazla agenta gönderir, sonuçları toplar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Koşullu yönlendirme&lt;/strong&gt;: Çıktıya göre farklı agentlara iş yönlendirir&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Yazar-eleştirmen döngüleri&lt;/strong&gt;: Bir agent yazar, diğeri değerlendirir, onaylanana kadar döngü&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alt iş akışları&lt;/strong&gt;: İş akışlarını hiyerarşik olarak oluşturur&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Yazar-eleştirmen örneği:&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="n"&gt;WorkflowBuilder&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;writerAgent&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;builder&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;AddEdge&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;writerAgent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;criticAgent&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;AddEdge&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;criticAgent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;writerAgent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;!&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;IsApproved&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;WithOutputFrom&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;criticAgent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;IsApproved&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="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;workflow&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Build&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;Temiz, okunabilir ve koşul tabanlı yönlendirme, döngü mantığını kendiniz yazmanız gerekmediği anlamına gelir.&lt;/p&gt;
&lt;h2 id="human-in-the-loop"&gt;Human-in-the-Loop&lt;/h2&gt;
&lt;p&gt;Her şey tamamen özerk çalışmamalı. Hassas operasyonlar için — veritabanı yazmaları, finansal işlemler, iletişim gönderme — agentın yürütmeden önce bir insanın onaylamasını istersiniz.&lt;/p&gt;
&lt;p&gt;Framework, &lt;code&gt;FunctionApprovalRequestContent&lt;/code&gt; ve &lt;code&gt;FunctionApprovalResponseContent&lt;/code&gt; aracılığıyla bunun için yerleşik desteğe sahip. Agent araç çağrısını önerir, uygulama kodunuz bunu kullanıcıya sunar ve yanıt yürütmenin devam edip etmeyeceğini belirler.&lt;/p&gt;
&lt;p&gt;Kurumsal ortamlarda agentlar hakkında düşünmenin doğru yolu bu: tam özerk değil, &lt;em&gt;muhafızlı özerklik&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id="tam-tablo"&gt;Tam tablo&lt;/h2&gt;
&lt;p&gt;Bir adım geri çekilirseniz:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MEAI&lt;/strong&gt; herhangi bir modele evrensel arayüz sağlar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VectorData&lt;/strong&gt; semantik arama yoluyla agentlarınıza kuruluşunuzun bilgisine erişim verir&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent Framework&lt;/strong&gt; her şeyi orkestre eder — dahili olarak &lt;code&gt;IChatClient&lt;/code&gt; kullanır, bağlam sağlayıcılarıyla birleşir ve iş akışları üzerinden koordinasyon sağlar&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Her parça diğerleriyle birleşecek şekilde tasarlanmış. &lt;a href="https://devblogs.microsoft.com/dotnet/microsoft-agent-framework-building-blocks-for-ai-part-3/"&gt;Jeremy Likness&amp;rsquo;ın orijinal gönderisi&lt;/a&gt; ve tam örnekler için &lt;a href="https://github.com/microsoft/agent-framework/tree/main/dotnet"&gt;Agent Framework GitHub deposuna&lt;/a&gt; bakın.&lt;/p&gt;
&lt;h2 id="sonuç"&gt;Sonuç&lt;/h2&gt;
&lt;p&gt;Microsoft Agent Framework Bölüm 3 gönderisi yapı taşları serisindeki döngüyü kapatıyor. Araçları kullanan, şeyleri hatırlayan ve koordine eden gerçek AI agentları — sadece chatbot değil — oluşturmak isteyen .NET geliştiricileri için bu ilerlemenin yolu.&lt;/p&gt;
&lt;p&gt;Kararlı 1.0 sürümü, bunu üretimde inşa edebileceğiniz anlamına gelir. .NET&amp;rsquo;te agent geliştirmeye atlamak için bekliyordunuz, doğru zaman şu an.&lt;/p&gt;</content:encoded></item></channel></rss>