{"id":2546,"date":"2025-10-01T14:13:24","date_gmt":"2025-10-01T14:13:24","guid":{"rendered":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2025\/10\/01\/introducing-microsoft-agent-framework-preview-making-ai-agents-simple-for-every-developer\/"},"modified":"2025-10-01T14:13:24","modified_gmt":"2025-10-01T14:13:24","slug":"introducing-microsoft-agent-framework-preview-making-ai-agents-simple-for-every-developer","status":"publish","type":"post","link":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2025\/10\/01\/introducing-microsoft-agent-framework-preview-making-ai-agents-simple-for-every-developer\/","title":{"rendered":"Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer"},"content":{"rendered":"<p>Building AI agents shouldn\u2019t be rocket science. Yet many developers find themselves wrestling with complex orchestration logic, struggling to connect multiple AI models, or spending weeks building hosting infrastructure just to get a simple agent into production.<\/p>\n<p>What if building an AI agent could be as straightforward as creating a web API or console application?<\/p>\n<h2>Agents and Workflows<\/h2>\n<p>Before we dive deeper, let\u2019s define the two core building blocks of agent systems: agents and workflows.<\/p>\n<h3>Agents<\/h3>\n<p>Across the web, you\u2019ll find many definitions of agents. Some conflicting, some overlapping.<\/p>\n<p>For this post, we\u2019ll keep it simple:<\/p>\n<p><strong>Agents are systems that accomplish objectives.<\/strong><\/p>\n\n<p>Agents become more capable when equipped with the following:<\/p>\n<p><strong>Reasoning and decision-making<\/strong>: Powered by AI Models (LLMs), search algorithms, or planning and decision-making systems.<br \/>\n<strong>Tool usage<\/strong>: Access to Model Context Protocol (MCP) servers, code execution, and external APIs.<br \/>\n<strong>Context awareness<\/strong>: Informed by chat history, threads, vector stores, enterprise data, or knowledge graphs.<\/p>\n<p>These capabilities allow agents to operate more autonomously, adaptively, and intelligently.<\/p>\n<h3>Workflows<\/h3>\n<p>As objectives grow in complexity, they need to be broken down into manageable steps. That\u2019s where workflows come in.<\/p>\n<p><strong>Workflows define the sequence of steps required to achieve an objective.<\/strong><\/p>\n<p>Imagine you\u2019re launching a new feature on your business website. If it\u2019s a simple update, you might go from idea to production in a few hours. But for more complex initiatives, the process might include:<\/p>\n<p>Requirement gathering<br \/>\nDesign and architecture<br \/>\nImplementation<br \/>\nTesting<br \/>\nDeployment<\/p>\n<p>A few important observations:<\/p>\n<p>Each step may contain subtasks.<br \/>\nDifferent specialists may own different phases.<br \/>\nProgress isn\u2019t always linear. Bugs found during testing may send you back to implementation.<br \/>\nSuccess depends on planning, orchestration, and communication across stakeholders.<\/p>\n<h3>Agents + Workflows<\/h3>\n<p>Workflows don\u2019t require agents, but agents can supercharge them.<\/p>\n<p>When agents are equipped with reasoning, tools, and context, they can optimize workflows.<\/p>\n<p>This is the foundation of multi-agent systems, where agents collaborate within workflows to achieve complex goals.<\/p>\n<h2>Meet Microsoft Agent Framework<\/h2>\n<p>Microsoft Agent Framework is a comprehensive set of .NET libraries that reduces the complexity of agent development. Whether you\u2019re building a simple chatbot or orchestrating multiple AI agents in complex workflows, Microsoft Agent Framework provides the tools you need to:<\/p>\n<p><strong>Build<\/strong> agents with minimal boilerplate code<br \/>\n<strong>Orchestrate<\/strong> multi-agent workflows with ease<br \/>\n<strong>Host<\/strong> and deploy agents using familiar .NET patterns<br \/>\n<strong>Monitor<\/strong> and observe agent behavior in production<\/p>\n<p>For more details, see the <a href=\"https:\/\/aka.ms\/AgentFramework\/PuPr\">Introducing Microsoft Agent Framework post in the Foundry blog<\/a>.<\/p>\n<h3>Built on Proven Foundations<\/h3>\n<p>Microsoft Agent Framework leverages established technologies to simplify agent development for .NET developers:<\/p>\n<p><strong>Semantic Kernel<\/strong> \u2013 Provides robust orchestration<br \/>\n<strong>AutoGen<\/strong> \u2013 Enables advanced multi-agent collaboration and cutting-edge research-driven techniques<br \/>\n<strong>Microsoft.Extensions.AI<\/strong> \u2013 Delivers standardized AI building blocks for .NET.<\/p>\n<p>By combining these technologies, Agent Framework offers reliability, flexibility, and a developer-friendly API. This allows you to build and deploy powerful AI agents quickly and efficiently.<\/p>\n<h2>Start Simple: Build Your First Agent in Minutes<\/h2>\n<p>Getting started with Microsoft Agent Framework is simple. In the following example, you\u2019ll build a creative writing agent that generates engaging short stories.<\/p>\n<p>The fastest way to try it out is to open the <a href=\"https:\/\/aka.ms\/dotnet\/agent-framework\/helloworld\">Hello World Agents sample<\/a> in GitHub Codespaces:<\/p>\n<p><a href=\"https:\/\/codespaces.new\/luisquintanilla\/hello-world-agents?devcontainer_path=.devcontainer.json\"><\/a><\/p>\n<p>If you prefer, you can follow the step-by-step instructions below to set up the project on your own machine.<\/p>\n<h3>Step 0: Configure prerequisites<\/h3>\n<p>To get started, you\u2019ll need the following:<\/p>\n<p><a href=\"https:\/\/dotnet.microsoft.com\/download\">.NET 9 SDK or greater<\/a><br \/>\nA GitHub Personal Access Token (PAT) with models scope. You can create one in you can create in your <a href=\"https:\/\/github.com\/settings\/tokens\">GitHub settings<\/a>. For more details, see the <a href=\"https:\/\/docs.github.com\/en\/authentication\/keeping-your-account-and-data-secure\/managing-your-personal-access-tokens?source=post_page-----3474aac2c6f2---------------------------------------#creating-a-personal-access-token-classic\">GitHub documentation<\/a><\/p>\n<p>This project can use GitHub-hosted models so you\u2019ll need to provide the GitHub Personal Access Token (PAT) to your application using the GITHUB_TOKEN environment variable.<\/p>\n<h4>Windows<\/h4>\n<p>setx GITHUB_TOKEN &#8220;YOUR-GITHUB-TOKEN&#8221;<br \/>\n# Restart your shell to pick up the value<\/p>\n<h4>Linux \/ Mac<\/h4>\n<p>export GITHUB_TOKEN=&#8221;YOUR-GITHUB-TOKEN&#8221;<\/p>\n<h3>Step 1: Set Up Your Project<\/h3>\n<p>Create a new C# console application and install the Agent Framework packages:<\/p>\n<p>dotnet new console -o HelloWorldAgents<br \/>\ncd HelloWorldAgents<br \/>\ndotnet add package Microsoft.Agents.AI &#8211;prerelease<\/p>\n<p>You\u2019ll also need to install the following packages to use the models from GitHub models.<\/p>\n<p>dotnet add package OpenAI<br \/>\ndotnet add package Microsoft.Extensions.AI.OpenAI &#8211;prerelease<br \/>\ndotnet add package Microsoft.Extensions.AI<\/p>\n<h3>Step 2: Write Your Agent<\/h3>\n<p>Add this code to your <em>Program.cs<\/em> file to create a story-writing agent:<\/p>\n<p>using Microsoft.Extensions.AI;<br \/>\nusing Microsoft.Agents.AI;<br \/>\nusing OpenAI;<br \/>\nusing OpenAI.Chat;<br \/>\nusing System.ClientModel;<\/p>\n<p>IChatClient chatClient =<br \/>\n    new ChatClient(<br \/>\n            &#8220;gpt-4o-mini&#8221;,<br \/>\n            new ApiKeyCredential(Environment.GetEnvironmentVariable(&#8220;GITHUB_TOKEN&#8221;)!),<br \/>\n            new OpenAIClientOptions { Endpoint = new Uri(&#8220;https:\/\/models.github.ai\/inference&#8221;) })<br \/>\n        .AsIChatClient();<\/p>\n<p>AIAgent writer = new ChatClientAgent(<br \/>\n    chatClient,<br \/>\n    new ChatClientAgentOptions<br \/>\n    {<br \/>\n        Name = &#8220;Writer&#8221;,<br \/>\n        Instructions = &#8220;Write stories that are engaging and creative.&#8221;<br \/>\n    });<\/p>\n<p>AgentRunResponse response = await writer.RunAsync(&#8220;Write a short story about a haunted house.&#8221;);<\/p>\n<p>Console.WriteLine(response.Text);<\/p>\n<p>Run your application<\/p>\n<p>That\u2019s it! In just a few lines of code, you have a fully functional AI agent.<\/p>\n<h3>The Power of Abstraction<\/h3>\n<p>Microsoft Agent Framework is designed around powerful abstractions that simplify agent development.<\/p>\n<p>At its core is the AIAgent abstraction, which provides a unified interface for building agents. The flexibility to use any compatible AI model provider comes from Microsoft.Extensions.AI, which standardizes model access through the IChatClient interface.<\/p>\n<p>The ChatClientAgent implementation of AIAgent accepts any IChatClient, allowing you to easily choose between providers such as:<\/p>\n<p>OpenAI<br \/>\nAzure OpenAI<br \/>\nFoundry Local<br \/>\nOllama<br \/>\nGitHub Models<br \/>\nMany others<\/p>\n<p>This means you can swap providers or integrate new ones without changing your agent code. The same AIAgent interface works seamlessly with:<\/p>\n<p><strong>Azure Foundry Agents<\/strong><br \/>\n<strong>OpenAI Assistants<\/strong><br \/>\n<strong>Copilot Studio<\/strong><br \/>\nMany others<\/p>\n<p>If you\u2019ve built agents using different SDKs or platforms, using Microsoft Agent Framework is straightforward. You get a consistent developer experience and can leverage orchestration, hosting, and monitoring features.<\/p>\n<h2>Scale Up: Orchestrate Multiple Agents<\/h2>\n<p>Single agents are powerful, but real-world scenarios often require multiple specialized agents working together. Maybe your writing agent creates great content, but you also need an editor to polish it, or a fact-checker to verify details.<\/p>\n<p>Agent Framework makes multi-agent orchestration as simple as connecting building blocks.<\/p>\n<h3>Adding Specialized Agents<\/h3>\n<p>Let\u2019s enhance our story example by adding an editor agent to review and improve the writer\u2019s output:<\/p>\n<p>\/\/ Create a specialized editor agent<br \/>\nAIAgent editor = new ChatClientAgent(<br \/>\n    chatClient,<br \/>\n    new ChatClientAgentOptions<br \/>\n    {<br \/>\n        Name = &#8220;Editor&#8221;,<br \/>\n        Instructions = &#8220;Make the story more engaging, fix grammar, and enhance the plot.&#8221;<br \/>\n    });<\/p>\n<h3>Building Workflows<\/h3>\n<p>Now comes the magic \u2013 connecting these agents in a workflow.<\/p>\n<p>Install the Microsoft.Agents.Workflows NuGet package:<\/p>\n<p>dotnet add package Microsoft.Agents.AI.Workflows &#8211;prerelease<\/p>\n<p>Create a workflow to orchestrates your agents:<\/p>\n<p>\/\/ Create a workflow that connects writer to editor<br \/>\nWorkflow workflow =<br \/>\n    AgentWorkflowBuilder<br \/>\n        .BuildSequential(writer, editor);<\/p>\n<p>AIAgent workflowAgent = await workflow.AsAgentAsync();<\/p>\n<p>AgentRunResponse workflowResponse =<br \/>\n    await workflowAgent.RunAsync(&#8220;Write a short story about a haunted house.&#8221;);<\/p>\n<p>Console.WriteLine(workflowResponse.Text);<\/p>\n<h3>The Result<\/h3>\n<p>Now when you run your application, the writer creates the initial story, and the editor automatically reviews and improves it. The entire workflow appears to the outside world as a single, more capable agent.<\/p>\n\n<p>This pattern scales to any complexity:<\/p>\n<p><strong>Research workflows<\/strong>: Researcher \u2192 Fact-checker \u2192 Summarizer<br \/>\n<strong>Content pipelines<\/strong>: Writer \u2192 Editor \u2192 SEO Optimizer \u2192 Publisher<br \/>\n<strong>Customer service<\/strong>: Intent Triage \u2192 Customer Specialist Agent \u2192 Quality Reviewer<\/p>\n<p>The key takeaway here is, complex agent systems are compositions of simple, focused agents.<\/p>\n<h3>All Types of Workflows<\/h3>\n<p>The example above uses a <strong>sequential workflow<\/strong>, where agents process tasks one after another, each building on the previous agent\u2019s output. However, Microsoft Agent Framework supports a variety of workflow patterns to fit different requirements:<\/p>\n<p><strong>Sequential<\/strong>: Agents execute in order, passing results along the chain.<br \/>\n<strong>Concurrent<\/strong>: Multiple agents work in parallel, addressing different aspects of a task simultaneously.<br \/>\n<strong>Handoff<\/strong>: Responsibility shifts between agents based on context or outcomes.<br \/>\n<strong>GroupChat<\/strong>: Agents collaborate in a shared, real-time conversational space.<\/p>\n<p>These flexible workflow types enable orchestration for everything from simple pipelines to dynamic, multi-agent collaboration.<\/p>\n<h2>Empower Agents with Tools<\/h2>\n<p>Microsoft Agent Framework makes it incredibly easy to give your agents access to external functions, APIs, and services so your agents can take action.<\/p>\n<h3>Creating Agent Tools<\/h3>\n<p>Let\u2019s enhance our writing agent with some useful tools. In our story example, we might want agents that can do the following:<\/p>\n<p>[Description(&#8220;Gets the author of the story.&#8221;)]<br \/>\nstring GetAuthor() =&gt; &#8220;Jack Torrance&#8221;;<\/p>\n<p>[Description(&#8220;Formats the story for display.&#8221;)]<br \/>\nstring FormatStory(string title, string author, string story) =&gt;<br \/>\n    $&#8221;Title: {title}nAuthor: {author}nn{story}&#8221;;<\/p>\n<h3>Connecting Tools to Agents<\/h3>\n<p>Adding these tools to your agent is straightforward. Here\u2019s a modified version of our writer agent configured to use the tools defined earlier.<\/p>\n<p>AIAgent writer = new ChatClientAgent(<br \/>\n    chatClient,<br \/>\n    new ChatClientAgentOptions<br \/>\n    {<br \/>\n        Name = &#8220;Writer&#8221;,<br \/>\n        Instructions = &#8220;Write stories that are engaging and creative.&#8221;,<br \/>\n        ChatOptions = new ChatOptions<br \/>\n        {<br \/>\n            Tools = [<br \/>\n                AIFunctionFactory.Create(GetAuthor),<br \/>\n                AIFunctionFactory.Create(FormatStory)<br \/>\n            ],<br \/>\n        }<br \/>\n    });<\/p>\n<p>Running the application again would result in a formatted story per the template you provided in FormatStory.<\/p>\n<p>**Title: The Haunting of Blackwood Manor**<br \/>\n**Author: Jack Torrance**<\/p>\n<p>On the outskirts of a quaint village, a grand but crumbling mansion, known as Blackwood Manor, loomed against the twilight sky. Locals spoke in hushed tones about the house, claiming it was haunted by the spirits of its former inhabitants, who had mysteriously vanished decades ago. Tales of flickering lanterns, echoing whispers, and the ghostly figure of a woman in white gliding through the halls filled the village\u2019s atmosphere with a sense of dread<br \/>\n\/\/&#8230;<\/p>\n<h3>Beyond Simple Functions<\/h3>\n<p>Because Microsoft Agent Framework builds on Microsoft.Extensions.AI, your agents can use more robust tools including:<\/p>\n<p><strong>Model Context Protocol (MCP) servers<\/strong> \u2013 Connect to external services like databases, APIs, and third-party tools<br \/>\n<strong>Hosted tools<\/strong> \u2013 Access server-side tools like Code Interpreter, Bing Grounding, and many more<\/p>\n<p>For example, you could connect to an MCP server that provides database access, web search, or even hardware control. Learn more about building MCP integrations in our <a href=\"https:\/\/learn.microsoft.com\/dotnet\/ai\/quickstarts\/build-mcp-client\">MCP client quickstart<\/a>.<\/p>\n<h2>Deploy with Confidence: Hosting Made Simple<\/h2>\n<p>Getting agents into production shouldn\u2019t mean learning a new deployment model. Microsoft Agent Framework integrates seamlessly with the .NET hosting patterns you already use.<\/p>\n<h3>Minimal Web API Integration<\/h3>\n<p>Using your agent in a REST API is a few lines of code.<\/p>\n<p>In an ASP.NET Minimal Web API, start by registering your IChatClient:<\/p>\n<p>builder.AddOpenAIClient(&#8220;chat&#8221;)<br \/>\n    .AddChatClient(Environment.GetEnvironmentVariable(&#8220;MODEL_NAME&#8221;)!);<\/p>\n<p>Use the <strong>Microsoft.Agents.AI.Hosting<\/strong> NuGet package to register your agents:<\/p>\n<p>builder.AddAIAgent(&#8220;Writer&#8221;, (sp, key) =&gt;<br \/>\n{<br \/>\n    var chatClient = sp.GetRequiredService&lt;IChatClient&gt;();<\/p>\n<p>    return new ChatClientAgent(<br \/>\n        chatClient,<br \/>\n        name: key,<br \/>\n        instructions:<br \/>\n            &#8220;&#8221;&#8221;<br \/>\n            You are a creative writing assistant who crafts vivid,<br \/>\n            well-structured stories with compelling characters based on user prompts,<br \/>\n            and formats them after writing.<br \/>\n            &#8220;&#8221;&#8221;,<br \/>\n        tools: [<br \/>\n            AIFunctionFactory.Create(GetAuthor),<br \/>\n            AIFunctionFactory.Create(FormatStory)<br \/>\n        ]<br \/>\n    );<br \/>\n});<\/p>\n<p>builder.AddAIAgent(<br \/>\n    name: &#8220;Editor&#8221;,<br \/>\n    instructions:<br \/>\n        &#8220;&#8221;&#8221;<br \/>\n        You are an editor who improves a writer\u2019s draft by providing 4\u20138 concise recommendations and<br \/>\n        a fully revised Markdown document, focusing on clarity, coherence, accuracy, and alignment.<br \/>\n        &#8220;&#8221;&#8221;);<\/p>\n<p>Once registered, your agents are available anywhere in your app:<\/p>\n<p>app.MapGet(&#8220;\/agent\/chat&#8221;, async (<br \/>\n    [FromKeyedServices(&#8220;Writer&#8221;)] AIAgent writer,<br \/>\n    [FromKeyedServices(&#8220;Editor&#8221;)] AIAgent editor,<br \/>\n    HttpContext context,<br \/>\n    string prompt) =&gt;<br \/>\n{<br \/>\n    Workflow workflow =<br \/>\n        AgentWorkflowBuilder<br \/>\n            .CreateGroupChatBuilderWith(agents =&gt;<br \/>\n                new AgentWorkflowBuilder.RoundRobinGroupChatManager(agents)<br \/>\n                {<br \/>\n                    MaximumIterationCount = 2<br \/>\n                })<br \/>\n            .AddParticipants(writer, editor)<br \/>\n            .Build();<\/p>\n<p>    AIAgent workflowAgent = await workflow.AsAgentAsync();<\/p>\n<p>    AgentRunResponse response = await workflowAgent.RunAsync(prompt);<br \/>\n    return Results.Ok(response);<br \/>\n});<\/p>\n<h3>Production-Ready Features<\/h3>\n<p>Microsoft Agent Framework hosting includes everything you need for production:<\/p>\n<p><strong>Configuration<\/strong> \u2013 Manage agent settings through standard .NET configuration<br \/>\n<strong>Dependency injection<\/strong> \u2013 Integrate with your existing DI containers and practices<br \/>\n<strong>Middleware support<\/strong> \u2013 Add authentication, rate limiting, or custom logic<\/p>\n<h3>Deploy<\/h3>\n<p>Microsoft Agent Framework doesn\u2019t reinvent deployment. If you know how to ship a .NET app, you already know how to ship agents.<\/p>\n<p>No new tooling. No special hosting model. Just add agents and deploy wherever .NET runs.<\/p>\n<h2>Observe and Improve: Built-in Monitoring<\/h2>\n<p>Production agents need observability. Microsoft Agent Framework provides comprehensive monitoring that integrates with your existing observability stack.<\/p>\n<h3>OpenTelemetry Integration<\/h3>\n<p>Enable detailed telemetry with a single line:<\/p>\n<p>\/\/ Enhanced telemetry for all your agents<br \/>\nwriter.WithOpenTelemetry();<br \/>\neditor.WithOpenTelemetry();<\/p>\n<p>This captures:<\/p>\n<p><strong>Conversation flows<\/strong> \u2013 Visualize how messages move between agents<br \/>\n<strong>Model usage<\/strong> \u2013 Track token consumption, model selection, and costs<br \/>\n<strong>Performance metrics<\/strong> \u2013 Monitor response times and throughput<br \/>\n<strong>Error tracking<\/strong> \u2013 Identify and debug issues quickly<\/p>\n<h3>Rich Dashboards<\/h3>\n<p>When connected to your existing observability platforms like:<\/p>\n<p><strong>Aspire<\/strong><br \/>\n<strong>Azure Monitor<\/strong><br \/>\n<strong>Grafana<\/strong><br \/>\nMany others<\/p>\n<p>You get detailed insights into agent behavior, helping you optimize performance and identify issues before they affect users.<\/p>\n<h3>OpenTelemetry with Aspire<\/h3>\n<p>To send agent telemetry to the Aspire dashboard, enable OpenTelemetry and allow sensitive data for richer insights.<\/p>\n<p>Set EnableSensitiveTelemetryData to true when configuring your client:<\/p>\n<p>builder<br \/>\n    .AddAzureChatCompletionsClient(&#8220;chat&#8221;, settings =&gt;<br \/>\n    {<br \/>\n        settings.EnableSensitiveTelemetryData = true;<br \/>\n    })<br \/>\n    .AddChatClient(Environment.GetEnvironmentVariable(&#8220;MODEL_NAME&#8221;)!);<\/p>\n<p>Then, configure Aspire to recognize telemetry sources:<\/p>\n<p>public static TBuilder ConfigureOpenTelemetry&lt;TBuilder&gt;(this TBuilder builder) where TBuilder : IHostApplicationBuilder<br \/>\n{<br \/>\n    builder.Logging.AddOpenTelemetry(logging =&gt;<br \/>\n    {<br \/>\n      \/\/&#8230;<br \/>\n    })<br \/>\n    .AddTraceSource(&#8220;Experimental.Microsoft.Extensions.AI.*&#8221;);<\/p>\n<p>    builder.Services.AddOpenTelemetry()<br \/>\n        .WithMetrics(metrics =&gt;<br \/>\n        {<br \/>\n            metrics.AddAspNetCoreInstrumentation()<br \/>\n                .AddHttpClientInstrumentation()<br \/>\n                .AddRuntimeInstrumentation()<br \/>\n                .AddMeter(&#8220;Experimental.Microsoft.Extensions.AI.*&#8221;);<br \/>\n        })<br \/>\n        .WithTracing(tracing =&gt;<br \/>\n        {<br \/>\n            tracing.AddSource(builder.Environment.ApplicationName)<br \/>\n                .AddSource(&#8220;Experimental.Microsoft.Extensions.AI.*&#8221;)<br \/>\n                .AddAspNetCoreInstrumentation()<br \/>\n                .AddHttpClientInstrumentation();<br \/>\n        });<br \/>\n        \/\/&#8230;<br \/>\n}<\/p>\n<p>With this setup, Aspire dashboards show detailed telemetry including conversation flows, model usage, performance metrics, and error tracking.<\/p>\n\n<h2>Ensure Quality: Evaluation and Testing<\/h2>\n<p>Trust in AI systems comes from rigorous evaluation. Microsoft Agent Framework can easily integrate with Microsoft.Extensions.AI.Evaluations to help you build reliable, trustworthy agent systems.<\/p>\n<p>This enables:<\/p>\n<p><strong>Automated testing<\/strong> \u2013 Run evaluation suites as part of your CI\/CD pipeline<br \/>\n<strong>Quality metrics<\/strong> \u2013 Measure relevance, coherence, and safety<br \/>\n<strong>Regression detection<\/strong> \u2013 Catch quality degradation before deployment<br \/>\n<strong>A\/B testing<\/strong> \u2013 Compare different configurations<\/p>\n<p>See how to <a href=\"https:\/\/learn.microsoft.com\/dotnet\/ai\/evaluation\/libraries\">get started with evaluations using Microsoft.Extensions.AI.Evaluations<\/a>.<\/p>\n<h2>Start Building Agents Today<\/h2>\n<p>Microsoft Agent Framework transforms agent development from a complex, specialized skill into something every .NET developer can master. Whether you\u2019re building a chatbot or orchestrating multiple AI agents in complex workflows, Microsoft Agent Framework provides a clear path forward.<\/p>\n<h3>Key Takeaways<\/h3>\n<p><strong>Simple by Design<\/strong>: Get started with just a few lines of code. Create your first agent in minutes, not days.<br \/>\n<strong>Scales with You<\/strong>: Start with a single agent, then easily add workflows, tools, hosting, and monitoring as your needs grow.<br \/>\n<strong>Built on Proven Technology<\/strong>: Microsoft Agent Framework brings together the best from AutoGen and Semantic Kernel. It builds on Microsoft.Extensions.AI, a unified foundation for modern AI development, to deliver a robust and cohesive experience for .NET developers.<br \/>\n<strong>Production Ready<\/strong>: Deploy using familiar .NET patterns with built-in observability, evaluation, and hosting capabilities.<\/p>\n<h3>What\u2019s Next?<\/h3>\n<p>Ready to start building?<\/p>\n<p>Run the <a href=\"https:\/\/aka.ms\/dotnet\/agent-framework\/helloworld\">Hello World agent sample<\/a>.<\/p>\n<p>Then, head over to the <a href=\"https:\/\/aka.ms\/dotnet\/agent-framework\/docs\">Microsoft Agent Framework documentation<\/a> to continue learning.<\/p>\n<p>The future of software development includes AI agents as first-class components in modern software development. Microsoft Agent Framework ensures that future is accessible to every .NET developer.<\/p>\n<p>The post <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/introducing-microsoft-agent-framework-preview\/\">Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer<\/a> appeared first on <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\">.NET Blog<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Building AI agents shouldn\u2019t be rocket science. Yet many developers find themselves wrestling with complex orchestration logic, struggling to connect [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7],"tags":[],"class_list":["post-2546","post","type-post","status-publish","format-standard","hentry","category-dotnet"],"_links":{"self":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/2546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/comments?post=2546"}],"version-history":[{"count":0,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/2546\/revisions"}],"wp:attachment":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/media?parent=2546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/categories?post=2546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/tags?post=2546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}