目前 Agent Framework 仍处于 Public Preview 阶段,预计将在 2026 年初正式 GA。虽然 API 仍可能存在小幅调整,但核心设计已经非常稳定,完全具备新项目落地的可行性。

进入 2026 年,微软终于发力了,.NET 开发者终于等来了一个真正统一的 AI 智能体开发框架——Microsoft Agent Framework。它整合了此前 Semantic Kernel 与 AutoGen 的核心能力,在一个一致的模型下,提供对话记忆、工具调用、多智能体协作等关键特性。

更重要的是,该框架基于 Microsoft.Extensions.AI 抽象层构建,可以灵活切换底层大模型。不仅支持 OpenAI、Azure OpenAI,也能无缝接入国产模型,例如 通义千问(Qwen) 和 DeepSeek,在中文理解力与数据合规性方面更具优势。

目前 Agent Framework 仍处于 Public Preview 阶段,预计将在 2026 年初正式 GA。虽然 API 仍可能存在小幅调整,但核心设计已经非常稳定,完全具备新项目落地的可行性。

为什么选择 Agent Framework?

在 Agent Framework 出现之前,如果你想构建一个具备“记忆”“工具调用”甚至“多角色协作”的智能体,通常需要在 Semantic Kernel 中自行拼装大量基础设施代码。

例如,对话上下文需要手动管理,工具调用逻辑需要自行路由,多智能体协作更是需要大量胶水代码,整体复杂且容易出错。

Agent Framework 的目标正是把这些复杂度收敛到框架内部,为开发者提供更接近“生产级”的能力,包括:

线程级的对话状态管理,自动维护多轮上下文; C# 方法原生注册为 AI 可调用工具,无需额外封装; 内置多智能体协作模型,天然支持角色分工; 集成日志、遥测、异常处理等工程化能力。

如果你的需求已经超出了“单次问答”,例如智能客服、代码审查、文档生成、业务助手等场景,那么 Agent Framework 会明显降低实现成本。

快速上手:创建你的第一个智能体

首先安装必要的 NuGet 包,使用.NET 8 last版本和.NET 10(截至 2026 年 1 月,仍为预览版):

dotnet add package Microsoft.Extensions.AI.OpenAI --version 10.1.1-preview.1.25612.2
dotnet add package Microsoft.Agents.AI.OpenAI --version 1.0.0-preview.251219.1

    ★提示:后续若切换到通义千问或 DeepSeek,仅需替换底层 IChatClient 实现,其余代码无需调整。

    下面是一个最小可用示例,用于创建并运行一个智能体:

    using Microsoft.Agents.AI;
    using Microsoft.Extensions.AI;
    
    // 创建基于 OpenAI 的客户端(后续可替换为国产模型)
    var chatClient = new OpenAIClient("your-api-key")
        .GetChatClient("gpt-4o-mini")
        .AsIChatClient();
    
    // 定义智能体行为
    var agent = chatClient.CreateAIAgent(
        instructions: "你是一个专业的 .NET 技术顾问,回答需准确、简洁。"
    );
    
    // 执行查询
    var response = await agent.RunAsync("C# 中 async/await 的原理是什么?");
    Console.WriteLine(response);

    这个示例已经包含了一个完整智能体的最小生命周期:模型初始化、指令定义、执行推理。

    对话记忆:用线程管理上下文

    默认情况下,每次调用 RunAsync 都是一次独立对话。若希望智能体“记住之前说过的话”,可以通过 AgentThread 来维护上下文。

    var thread = agent.GetNewThread();
    
    // 第一轮
    var r1 = await agent.RunAsync("async/await 和 Task.Run 有什么区别?", thread);
    
    // 第二轮(保留上下文)
    var r2 = await agent.RunAsync("那在 Web API 中应该如何使用?", thread);

    在多轮技术讨论中,智能体可以准确引用前文内容,而开发者无需手动拼接历史消息,这一点在真实业务中非常重要。

    赋予智能体“工具调用”能力

    智能体真正的价值,在于它不仅能“回答问题”,还能调用外部能力完成任务。

    在 Agent Framework 中,只需将普通 C# 方法注册为工具即可:

    [Description("获取指定城市的实时天气")]
    async Task<string> GetWeather([Description("城市名称")] string city)
    {
        await Task.Delay(300);
        return $"晴,22°C,{city}";
    }
    
    var weatherAgent = chatClient.CreateAIAgent(
        name: "WeatherHelper",
        instructions: "根据用户需求提供天气信息。",
        tools: [AIFunctionFactory.Create(GetWeather)]
    );
    
    var response = await weatherAgent.RunAsync("杭州今天天气如何?");

    框架会自动判断是否需要调用工具,并将执行结果融合进最终回复,开发者无需关心调度细节。

    多智能体协作:让复杂任务自然拆解

    对于复杂任务,单个智能体往往难以兼顾准确性与表达质量。Agent Framework 原生支持多智能体协作:

    var researcher = chatClient.CreateAIAgent("你负责查找并验证 .NET 技术细节。");
    var writer = chatClient.CreateAIAgent("你根据研究结果撰写清晰的技术文档。");
    
    var research = await researcher.RunAsync("解释 C# 的 Span<T> 在高性能场景中的应用");
    var doc = await writer.RunAsync($"基于以下研究,写一段简介:\n{research}");

    在实际项目中,这种模式非常适合用于代码审查、方案评估、文档生成等场景,效果明显优于“一个智能体包打天下”。

    接入国产大模型:通义千问与 DeepSeek

    Agent Framework 通过 IChatClient 抽象层彻底解耦模型提供商,使得接入国产模型变得非常简单。

    以通义千问为例,其 DashScope 已提供 OpenAI 兼容接口:

    var qwenClient = new OpenAIClient(
        apiKey: "your-dashscope-key",
        endpoint: new Uri("https://dashscope.aliyuncs.com/compatible-mode/v1")
    )
    .GetChatClient("qwen-max")
    .AsIChatClient();
    
    var agent = qwenClient.CreateAIAgent("你是一个中文技术专家...");

    DeepSeek 同样支持 OpenAI 协议,仅需更换 endpoint 即可。这意味着同一套智能体代码可以自由切换国内外模型。

    注意事项优秀实践

    在实际使用中,有几点经验值得注意。

    当前仍是预览版,建议锁定 NuGet 版本并关注官方 Release Notes。 长对话会快速累积 Token,应考虑摘要或截断策略。 工具方法应做好异常捕获,避免因抛异常导致对话中断。 多轮对话存在非确定性,测试时建议结合快照与人工验证。

    与现有框架的关系说明

    Microsoft.Extensions.AI 是稳定的底层抽象,已经 GA,可放心使用。 Agent Framework 构建于其上,提供智能体与协作能力,目前为 Preview。 Semantic Kernel 与 AutoGen 不再新增功能,但官方提供迁移路径。

    是否适合用于生产?

    如果项目允许一定的技术迭代风险,Agent Framework 已具备生产可用的基础条件。核心抽象稳定,国产模型支持成熟,非常适合对数据合规有要求的场景。

    建议新项目优先尝试,关键系统需提前设计回滚方案。

    结语

    Microsoft Agent Framework 标志着 .NET 在 AI 智能体领域真正迈入工程化阶段。开发者不再需要拼凑零散组件,而是可以基于一套统一、可扩展的框架,快速构建具备实际价值的智能应用。期待正式版的到来。

    在国产大模型能力持续提升的背景下,.NET 开发者完全有条件构建安全、可控、真正落地的 AI 智能体系统。不妨从一个简单的技术问答助手开始,迈出这一步。

    参考:dev.to/mashrulhaque/build-ai-agents-with-microsoft-agent-framework-in-c-46h0

    注:上面API调用仅供参考,开发应用请查看各个智能体的API说明。

    Logo

    有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

    更多推荐