寫給所有 .NET 開發者的 2025 年度總結

寫給所有 .NET 開發者的 2025 年度總結

相信今年大家沒少看到 《抱歉,C# 已經跌出第一梯隊》類似的文章,.NET 生態到底如何,本文將為你系統梳理 2025 年 .NET 開發者最應該關注的技術趨勢和重要事件,涵蓋AI發展、.NET演進及兩者融合的最新動態和趨勢,以求幫助大家找准定位,迎接未來的挑戰與機遇。

最後更新 2026/1/5 下午7:31
圣杰|向AI而行
預計閱讀 28 分鐘
分類
.NET
標籤
.NET C# AI

圖片

寫給.NET 開發者的2025年度總結

相信今年大家沒少看到 《抱歉,C# 已經跌出第一梯隊》 類似的文章,.NET 生態到底如何,本文將為你系統梳理 2025 年 .NET 開發者最應該關注的技術趨勢和重要事件,涵蓋 AI 發展、.NET 演進及兩者融合的最新動態和趨勢,以求幫助大家找準定位,迎接未來的挑戰與機遇。


本文由我(聖杰)個人原創撰寫,AI 輔助潤色完成。

本文僅陳述事實和表述個人觀點,不販賣焦慮,請放心閱讀,文章較長,建議先點讚收藏。

本文部分內容參考了微軟官方部落格、.NET 部落格、NuGet 統計資料、TIOBE 程式語言指數等公開資料,可能存在疏漏,歡迎指正。


🎯 2025年的我?

在開始之前,花幾秒鐘回顧一下你的 2025:

  • 📚 緊跟潮流,學以致用 — 學了不少新技術,工作中也用上了
  • 🚀 擁抱 AI,效率翻倍 — Vibe Coding 真香,已經離不開 AI 助手
  • 🎉 收穫滿滿,更上層樓 — 升職加薪/跳槽成功/項目大賣
  • 😰 AI 焦慮,何去何從 — 擔心被 AI 取代,不知道該學什麼
  • 😩 疲於奔命,原地踏步 — 忙於業務,沒時間學習新技術
  • 🌱 轉型探索,蓄勢待發 — 正在轉型或探索新方向
  • 😎 佛系躺平,歲月靜好 — 穩定就好,不想捲了

無論你是哪一種,這篇文章都希望能給你帶來一些啟發和方向。

可以的話,歡迎在評論區分享你的 2025 年感悟以及對 2026 年的期待


前言

2025 年,註定是技術發展史上濃墨重彩的一年。回顧這一年,AI Agent 席捲全球,.NET 與 AI 深度融合,開發者工具百花齊放。作為 .NET 開發者,你準備好迎接這場變革了嗎?

如果說 2023 年是大模型元年,2024 年是大模型落地元年,那麼 2025 年毫無疑問是 AI Agent 元年。從簡單的程式碼補全到能夠自主規劃、推理、呼叫工具的智慧代理,AI 的能力發生了質的飛躍。

與此同時,.NET 生態也迎來了重要的里程碑——.NET 10 正式發佈,C# 語言在 TIOBE 榜單上持續攀升,NuGet 週下載量突破 55 億,Visual Studio 2026 帶來全新體驗。更令人興奮的是,微軟在 AI 領域持續發力,Microsoft.Extensions.AI、Semantic Kernel、Microsoft Agent Framework 等框架日趨成熟,.NET 開發者擁有了構建 AI 應用的完整工具鏈。

本文將從 AI 發展、.NET 演進、.NET + AI 融合三個維度,為你梳理 2025 年 .NET 開發者最應該關注的技術趨勢和重要事件。


一、AI 的發展

1.1 史上最強 AI 模型不斷刷新

圖片

2025 年,AI 模型能力突飛猛進,各大廠商你追我趕,不斷刷新性能記錄。

國外模型

廠商 模型 亮點/特性
OpenAI GPT-5.2 旗艦通用模型,推理與工具呼叫顯著提升
Anthropic Claude Opus 4.5 旗艦,程式設計與 Agent 表現最佳,Token 效率高
Google Gemini 3 Pro 旗艦模型,強化 Deep Research 與 Gemini App 體驗
XAI Grok 4.1 卓越的情感智能

國內模型

廠商 模型 亮點/特性
阿里雲 Qwen3 全新旗艦,支援 119 種語言,推理與 Agent 能力大幅提升,開源版本引領國產大模型生態
智譜 AI GLM-4.7 新一代旗艦,程式設計/Agent/推理/對話全面升級
DeepSeek DeepSeek-V3.2 旗艦模型,Agent 能力強化,性價比領先
小米 Mimo 全新旗艦模型,程式碼能力超過所有開源模型

對開發者的影響

模型能力的提升直接惠及開發者:

  • 更強的程式碼生成:複雜重構、架構設計、bug 修復更加可靠
  • 更長的上下文:處理大型程式碼庫和長文件不再是問題
  • 更好的工具呼叫:Agent 能力大幅增強,自動化程度更高
  • 更低的成本:同等能力下,API 呼叫成本持續下降

1.2 Agent 時代來臨

圖片

2025 年,AI 從「助手」進化為「代理」。

過去的 AI 助手(如早期的 Copilot)主要扮演「智慧補全」的角色——你寫一行程式碼,它幫你補全下一行。而今天的 AI Agent 則完全不同,它們具備了四大核心能力:

  • 規劃(Planning):能夠將複雜任務拆解為多個子任務,制定執行計劃
  • 推理(Reasoning):能夠基於上下文進行邏輯推理,做出判斷和決策
  • 工具呼叫(Tool Use):能夠呼叫外部 API、執行程式碼、操作檔案系統
  • 記憶(Memory):能夠記住歷史對話和操作,在長期任務中保持上下文

這意味著,AI 不再只是「回答問題」,而是能夠「完成任務」。你可以告訴 AI「幫我重構這個模組的程式碼」,它會自動分析程式碼結構、識別問題、制定重構方案、執行修改、執行測試,最終交付一個完整的結果。

GitHub Copilot 的 Agent 模式就是這一趨勢的典型代表。當你在 VS Code 中使用 Agent 模式時,Copilot 不再只是補全程式碼,而是能夠理解你的意圖,主動搜尋程式碼庫,修改多個檔案,執行命令,直到任務完成。

1.3 協議的發展:構建 AI 互通標準

圖片

Agent 能力的爆發,離不開標準化協議的推動。2025 年,四大協議共同構建了 AI 互通的基礎設施。

1. MCP 協議 (Model Context Protocol)

MCP 由 Anthropic 發起,已成為 AI 工具呼叫的事實標準。

在 MCP 出現之前,每個 AI 應用都需要為不同的工具編寫專門的整合程式碼。MCP 統一了 AI 模型與外部工具的互動方式,定義了:

  • Resources:AI 可以讀取的資源(檔案、資料庫、API 回應等)
  • Tools:AI 可以呼叫的函式(搜尋、計算、操作等)
  • Prompts:預先定義的提示模板

有了 MCP,開發者只需編寫一次 MCP Server,就能讓所有支援 MCP 的 AI 用戶端使用這個工具。目前,Claude、VS Code Copilot、Cursor 等主流 AI 工具都已支援 MCP 協議。

2. A2A (Agent-to-Agent)

A2A 由 Google 發起,定義了 Agent 之間的通訊標準。

在複雜的業務場景中,單個 Agent 往往無法完成所有任務。例如,一個「旅行規劃 Agent」可能需要呼叫「機票預訂 Agent」、「酒店預訂 Agent」、「行程規劃 Agent」等多個專業 Agent 協同工作。

A2A 協議解決的就是這個問題。它定義了:

  • Agent Card:描述 Agent 的能力和介面
  • Task:Agent 之間傳遞的任務請求和回應
  • Message:Agent 之間的通訊訊息格式

透過 A2A,不同團隊開發的 Agent 可以無縫協作,構建更強大的多 Agent 系統。

3. AG-UI (Agent User Interaction Protocol)

AG-UI 定義了 Agent 與使用者介面的互動協議。

傳統的 AI 應用通常是「一問一答」的模式,但 Agent 執行複雜任務時,使用者需要即時瞭解進度、檢視中間結果、提供回饋。AG-UI 協議支援:

  • 流式 UI 更新:即時顯示 Agent 的思考過程和執行狀態
  • 進度回饋:展示任務完成百分比和預計剩餘時間
  • 互動式確認:在關鍵節點請求使用者確認後再繼續

Microsoft Agent Framework 已經內建了 AG-UI 支援,讓開發者能夠輕鬆構建使用者友好的 Agent 應用。

4. Agent Skills

Agent Skills 是一種開放的標準格式,由 Anthropic 發起,用於賦予 AI Agent 新的能力和專業知識。

與其他協議不同,Agent Skills 不是一個通訊協議,而是一種知識打包格式。它讓 Agent 能夠按需載入程式性知識和特定上下文(公司級、團隊級、使用者級),從而更準確、高效地完成任務。

Agent Skills 能夠實現:

  • 領域專業知識:將專業知識打包為可重複使用的指令(如法律審查流程、資料分析管道)
  • 新增能力:賦予 Agent 新能力(如建立 PPT、構建 MCP Server、分析資料集)
  • 可重複工作流程:將多步驟任務轉化為一致且可稽核的工作流程
  • 互通性:同一個 Skill 可在不同的 Agent 產品中重複使用

目前,Agent Skills 已被眾多主流 AI 工具採納,包括:GitHub Copilot、VS Code、Claude Code、Cursor、OpenAI Codex、Amp、Goose 等。

值得注意的是,.NET 10 新增的直接執行 .cs 檔案能力,讓編寫 Agent Skills 中的腳本變得更加簡單——你可以直接用 C# 編寫工具腳本,無需建立完整的專案。

1.4 AI IDE 捲到冒煙

圖片

2025 年,AI 程式設計工具的競爭進入白熱化階段。你是否已經開啟 Vibe Coding 模式?

國外產品

產品 廠商 亮點/特性
GitHub Copilot GitHub 市場領導者,Agent 模式支援自主任務,深度整合 VS Code/VS
Claude Code Anthropic 終端助手,擅長處理大型程式碼庫,基於 Claude 模型
Codex CLI OpenAI 命令列工具,輕量快速,適合終端工作流程
Cursor Cursor AI-first IDE 代表,體驗流暢,支援多模型切換
Windsurf Codeium AI IDE,主打「Flow」概念,強調人機協作
Kiro AWS 與 AWS 深度整合,適合雲原生開發

國內產品

國內廠商也不甘落後,紛紛推出自己的 AI 程式設計工具:

產品 廠商 亮點/特性
CodeBuddy 騰訊雲 支援多種語言和框架
TRAE 位元組跳動 基於豆包大模型
Qoder 阿里巴巴 與阿里雲深度整合

對於 .NET 開發者來說,有很多選擇,但在眾多 AI 程式設計工具中,GitHub Copilot 仍然是首選——它與 Visual Studio 和 VS Code 的整合最為成熟,對 C# 的支援也最好。


二、.NET 的發展

2.1 .NET 10 重磅發佈

圖片

2025 年 11 月,.NET 10 正式發佈,這是 .NET 平台又一個重要里程碑。

C# 語言地位提升

圖片

根據 TIOBE 程式語言指數,C# 在 2025 年持續攀升,有望成為年度語言。這得益於:

  • .NET 跨平台能力的持續增強
  • Unity 遊戲開發的持續火爆
  • 企業級應用開發的穩定需求
  • AI/ML 領域 .NET 生態的完善

.NET 10 核心亮點

圖片

.NET 10 延續了效能優先的傳統,帶來了多項重要改進:

  • 效能持續優化:JIT 編譯器改進,記憶體佔用更低
  • 容器支援增強:更小的映像檔體積,更快的啟動速度
  • 原生 AOT 改進:支援更多場景,編譯速度提升
  • 雲原生增強:與 Kubernetes、容器化部署的更好整合

NuGet 生態繁榮

圖片

NuGet 週下載量突破 55 億,這個數字充分說明了 .NET 生態的活躍程度。從 Web 開發到機器學習,從遊戲開發到物聯網,NuGet 上幾乎能找到所有你需要的庫。

.NET 10 支援直接執行 .cs 檔案

這是 .NET 10 最令人興奮的特性之一。現在你可以直接執行單個 .cs 檔案:

dotnet run app.cs

不需要建立專案檔,不需要 Program.cs 的樣板程式碼,就像執行 Python 腳本一樣簡單。這極大降低了 .NET 的入門門檻,也讓編寫快速原型和工具腳本變得更加方便。

dnx 登場:.NET 的 "npx/uvx" 時代

dnx(.NET eXperience)是 .NET 10 SDK 引入的全新工具執行腳本,本質上是 dotnet tool exec 命令的精簡、使用者友好的包裝器。它標誌著 .NET 正式進入「一次性執行」(one-shot)時代,與 Python 的 uvx 和 Node.js 的 npx 完全對標。

核心特性

  • 無需安裝即可執行:直接從 NuGet 套件執行 .NET 工具,無需永久性本機或全域安裝
  • 隔離執行環境:工具包暫停下載到 NuGet 快取中執行,不修改系統 PATH 環境變數,確保乾淨隔離
  • 智慧版本管理:預設使用指定工具包的最新版本,支援 @版本號 指定版本;優先使用本機 .config/dotnet-tools.json 中的配置
  • 流暢的開發體驗:簡化工作流程,降低新工具的嘗試門檻

使用範例

# 執行 C# 程式碼片段
dnx dotnet-execute 'WriteLine("Hello dnx!!!");' --using "static System.Console"

# 快速產生 GUID
dnx dotnet-execute "Guid.NewGuid()" 

# 效能壓力測試
dnx LoadTestToolbox hammer --url https://www.example.com --min 1 --max 100

# JSON 轉 YAML
dnx json2yaml -i:input.json -c

# 解碼 JWT Token
dnx dotnet-decode-jwt <token>

與其他平台的對比

特性 dnx uvx npx
按需執行
版本控制 @版本號 @版本號 @版本號
隔離執行 獨立 NuGet 快取 臨時虛擬環境 臨時下載
生態成熟度 發展中 統一 uv 工具鏈 深度成熟

這一創新將 NuGet 生態推向新的高度,為開發者工具分發開啟了全新的可能性。

NuGet 套件支援分發 MCP Server

圖片

這是 .NET 與 AI 生態融合的重要一步。現在你可以將 MCP Server 打包為 NuGet 套件進行分發,使用者只需安裝 NuGet 套件就能獲得 AI 工具能力。這讓 .NET 社群能夠更便捷地共享 AI 工具。

2.2 C# 14 新特性

隨著 .NET 10 一同發佈的 C# 14,帶來了多項實用的語言改進。

field 關鍵字

現在可以在自動屬性中直接存取後備欄位:

public class Person
{
    public string Name
    {
        get => field;
        set => field = value?.Trim() ?? throw new ArgumentNullException();
    }
}

不再需要顯式宣告私有欄位,程式碼更加簡潔。

擴充成員 (Extension Members)

C# 14 大幅增強了擴充方法的能力,現在可以定義擴充屬性、擴充靜態成員等:

public extension IntExtensions for int
{
    public bool IsEven => this % 2 == 0;
    public static int Zero => 0;
}

// 使用
int x = 10;
bool even = x.IsEven;  // true
int zero = int.Zero;   // 0

params 集合增強

params 關鍵字現在支援更多集合類型,不僅限於陣列:

void PrintAll(params IEnumerable<string> items)
{
    foreach (var item in items)
        Console.WriteLine(item);
}

// 可以傳入 List、Array 等任何 IEnumerable<string>
PrintAll(["a", "b", "c"]);
PrintAll(new List<string> { "x", "y" });

2.3 框架生態更新

Aspire 13 發佈

.NET Aspire 是微軟推出的雲原生應用開發框架,2025 年迎來了重大升級——Aspire 13。這是迄今為止最大的一次發佈:

  • aspire do 命令:全新的構建、發佈、部署流水線體驗,支援自訂流水線步驟
  • Aspire MCP Server:Dashboard 內建 MCP 伺服器,AI 助手可直接查詢執行中的應用日誌和追蹤資料
  • 多語言連接字串:資料庫資源自動暴露多種格式(.NET 格式、Python URI 格式、Java JDBC 格式)
  • JavaScript/Python 一等公民支援AddJavaScriptAppAddPythonApp 等全新 API
  • 全新官網 aspire.dev:文件和資源全面遷移

ASP.NET Core 10

  • Blazor 增強[PersistentState] 宣告式狀態持久化、電路狀態保持、巢狀表單驗證、Passkey 無密碼認證、NotFound 頁面參數、JS 互操作增強
  • Minimal API 改進:內建 AddValidation() 驗證支援、TypedResults.ServerSentEvents 原生 SSE、Record 類型驗證
  • OpenAPI 3.1 原生支援:預設產生 3.1 規範、YAML 格式輸出、XML 文件註解自動整合
  • 認證授權指標:新增 OpenTelemetry 認證/授權指標,API 端點智慧傳回 401/403

MAUI 10

  • .NET Aspire 整合:新增專案範本,支援 OpenTelemetry 遙測和服務發現
  • XAML 來源產生器:編譯時產生強型別程式碼,全域 XML 命名空間簡化宣告
  • 控制項增強:HybridWebView 支援請求攔截、CollectionView 效能最佳化、MediaPicker 多選
  • 平台改進:Android CoreCLR 實驗性支援、iOS 繫結專案可在 Windows 建置

EF Core 10

EF Core 10 作為 LTS 版本與 .NET 10 一同發佈,帶來了多項重要更新:

  • 向量搜尋支援:完整支援 SQL Server 2025 和 Azure SQL 的 vector 資料類型,透過 SqlVector<float>VectorDistance() 函式實現 AI 語意搜尋和 RAG 場景
  • JSON 資料類型:原生支援 SQL Server 2025 的 json 行類型,查詢效率大幅提升
  • LeftJoin/RightJoin 操作符:支援 .NET 10 新增的 LINQ 左右連接方法,簡化複雜查詢
  • 命名查詢過濾器:支援為實體配置多個命名過濾器,可在查詢中選擇性停用
  • 複雜類型增強:支援可選複雜類型、JSON 映射、結構體映射
  • ExecuteUpdate 支援 JSON 行:可高效批次更新 JSON 文件屬性
  • 參數化集合改進:新的預設翻譯模式,每個集合值轉為獨立參數,最佳化查詢計劃快取
  • Cosmos DB 全文搜尋:支援全文搜尋和混合搜尋(RRF 函式)

ABP 10 發佈

圖片

作為 .NET 優秀的企業級應用框架,ABP 在 2025 年發佈了 10.0 版本,這是一次重大更新:

  • 升級至 .NET 10:全面支援最新的 .NET 10 LTS 版本
  • AI 整合(Volo.Abp.AI):提供統一的 AI 能力整合,支援 Microsoft.Extensions.AI、Microsoft Agent Framework 和 Semantic Kernel,引入 AI Workspace 概念實現隔離配置
  • 新增 Workflow 模組:整合 Elsa Workflows,支援構建可視化、長期執行的事件驅動工作流程
  • Mapperly 替代 AutoMapper:採用編譯時來源產生器,效能更優,無需執行時反射

2.4 Visual Studio 2026 發佈

圖片

2025 年最令 .NET 開發者興奮的消息之一,是 Visual Studio 2026 的發佈。

微軟告別了延續多年的年份命名方式,全新的 Visual Studio 2026 帶來了:

  • AI Copilot 深度整合:Agent 模式原生支援,無需額外外掛程式
  • 效能大幅提升:啟動速度更快,記憶體佔用更低
  • 全新 UI 設計:現代化的介面,更好的暗色主題支援
  • Git 整合增強:更強大的程式碼審查和合併體驗
  • 完整支援 .NET 10 和 C# 14:開箱即用的最新技術棧支援

三、.NET + AI 的深度融合

圖片

2025 年,.NET 與 AI 的融合達到了新的高度。微軟提供了從底層抽象到上層框架的完整 AI 開發工具鏈。

3.1 Microsoft.Extensions.AI (MEAI)

圖片

MEAI 是微軟推出的 AI 服務統一抽象層,2025 年更新到了 10.0 版本。

核心價值

MEAI 解決的核心問題是:如何讓你的程式碼不依賴於特定的 AI 提供商

就像 ILogger 讓你的日誌程式碼不依賴於特定的日誌框架一樣,MEAI 的 IChatClient 讓你的 AI 程式碼不依賴於 OpenAI、Azure 或其他任何提供商。

核心介面

// 聊天用戶端介面
publicinterfaceIChatClient
{
    Task<ChatCompletion> CompleteAsync(
        IList<ChatMessage> chatMessages,
        ChatOptions? options = null,
        CancellationToken cancellationToken = default);
}

// 嵌入產生介面
publicinterfaceIEmbeddingGenerator<TInput, TEmbedding>
{
    Task<GeneratedEmbeddings<TEmbedding>> GenerateAsync(
        IEnumerable<TInput> values,
        EmbeddingGenerationOptions? options = null,
        CancellationToken cancellationToken = default);
}

支援的提供商

MEAI 支援多種 AI 提供商:

  • OpenAI / Azure OpenAI
  • Anthropic Claude
  • Google Gemini
  • Ollama(本機模型)
  • 更多社群實作...

中介軟體模式

MEAI 支援中介軟體模式,可以在 AI 呼叫鏈中插入各種處理邏輯:

IChatClient client = new ChatClientBuilder(openAIClient)
    .UseLogging()           // 日誌記錄
    .UseFunctionInvocation() // 函式呼叫
    .UseRetry()             // 重試策略
    .Build();

3.2 Semantic Kernel (SK)

Semantic Kernel 是微軟 2023 年就推出的 AI 編排框架,2025 年更新到 1.68 版本,功能更加成熟。

Agent 框架

SK 的 Agent 框架是其核心亮點,支援建立能夠自主規劃和執行任務的智慧代理:

var agent = new ChatCompletionAgent
{
    Name = "CodeReviewer",
    Instructions = "你是一個程式碼審查專家,幫助開發者改進程式碼品質。",
    Kernel = kernel
};

var response = await agent.InvokeAsync("請審查這段程式碼...");

與 MEAI 深度整合

SK 現在完全基於 MEAI 構建,這意味著:

  • 可以使用任何 MEAI 支援的 AI 提供商
  • 享受 MEAI 的中介軟體能力
  • 保持程式碼的可攜性

3.3 Microsoft Agent Framework (MAF)

圖片

2025 年 10 月,微軟正式發佈了 Microsoft Agent Framework 預覽版,這是 .NET 開發者構建 AI Agent 的全新統一框架。

技術基礎

MAF 並非從零開始,而是建立在微軟已有的 AI 技術棧之上:

  • Semantic Kernel:提供強大的編排能力
  • AutoGen:支援先進的多 Agent 協作和研究驅動技術
  • Microsoft.Extensions.AI:提供標準化的 AI 構建區塊

MAF 是這些技術的演進和統一,為 .NET 開發者提供了一致的 Agent 開發體驗。

核心概念

MAF 將 Agent 定義為:結合推理、上下文和工具來追求目標的系統

  • 推理與決策:通常由 LLM 驅動,也可以使用搜尋演算法、規劃系統等
  • 上下文感知:對話歷史、知識庫、企業資料等外部資訊
  • 工具使用:API、MCP 工具、程式碼執行、資料查詢等可呼叫能力

工作流程類型

圖片

MAF 支援多種工作流程模式,滿足不同場景需求:

  • Sequential(順序):Agent 按順序執行,結果沿鏈傳遞
  • Concurrent(並發):多個 Agent 並行工作
  • Handoff(交接):根據上下文在 Agent 之間轉移控制權
  • GroupChat(群聊):Agent 在共享的即時對話空間中協作

程式碼範例

建立 Agent 只需幾行程式碼:

// 建立寫作 Agent
AIAgent writer = new ChatClientAgent(
    chatClient,
    new ChatClientAgentOptions
    {
        Name = "Writer",
        Instructions = "Write stories that are engaging and creative."
    });

// 建立編輯 Agent
AIAgent editor = new ChatClientAgent(
    chatClient,
    new ChatClientAgentOptions
    {
        Name = "Editor",
        Instructions = "Make the story more engaging, fix grammar, and enhance the plot."
    });

// 組合為工作流程
Workflow workflow = AgentWorkflowBuilder.BuildSequential(writer, editor);
AIAgent workflowAgent = await workflow.AsAgentAsync();

// 執行
var response = await workflowAgent.RunAsync("Write a short story about a haunted house.");

面向開發者的 DevUI

圖片

MAF 提供了直觀的 DevUI,幫助開發者可視化設計、偵錯和監控 Agent 和工作流程,可透過安裝 Microsoft.Agents.AI.DevUI 套件快速整合。

生產就緒特性

  • ASP.NET 整合:使用熟悉的 Minimal API 模式暴露 Agent 服務
  • 依賴注入:透過 AddAIAgent 註冊,支援 Keyed Services
  • OpenTelemetry:內建可觀測性,一行程式碼啟用遙測
  • 評估測試:整合 Microsoft.Extensions.AI.Evaluations 進行品質評估

3.4 協議 SDK 全面支援

圖片

.NET 生態現在全面支援 AI 領域的主要協議,包括 MCP、A2A 和 AG-UI 協議。

MCP C# SDK

官方的 MCP .NET 實作,基於 ModelContextProtocol 庫,讓你輕鬆建立 MCP Server。.NET 10 提供了專案範本,一行命令即可建立:

dotnet new mcpserver -n MyMcpServer

使用 [McpServerTool] 屬性定義工具:

[McpServerTool]
[Description("Gets a random number between min and max.")]
public int GetRandomNumber(
    [Description("Minimum value")] int min,
    [Description("Maximum value")] int max)
{
    return Random.Shared.Next(min, max + 1);
}

[McpServerTool]
[Description("Describes random weather in the provided city.")]
public string GetCityWeather(
    [Description("Name of the city")] string city)
{
    var weather = new[] { "sunny", "rainy", "cloudy" };
    return $"The weather in {city} is {weather[Random.Shared.Next(weather.Length)]}.";
}

更棒的是,MCP Server 可以直接打包為 NuGet 套件分發,使用者透過 dnx 命令一鍵安裝使用。

A2A C# SDK

A2A .NET SDK 提供了完整的 Agent 間通訊實作:

dotnet add package A2A
dotnet add package A2A.AspNetCore

伺服器端:透過 TaskManager 管理 Agent,使用 MapA2A 對映端點:

var taskManager = new TaskManager();
var agent = new EchoAgent();
agent.Attach(taskManager);  // 註冊回呼:OnAgentCardQuery、OnMessageReceived

app.MapA2A(taskManager, "/echo");

用戶端:使用 A2ACardResolver 發現 Agent,A2AClient 發送訊息:

var cardResolver = new A2ACardResolver(new Uri("https://localhost:5048/echo"));
var agentCard = await cardResolver.GetAgentCardAsync();

var client = new A2AClient(new Uri(agentCard.Url));
var response = await client.SendMessageAsync(new MessageSendParams
{
    Message = new AgentMessage
    {
        Role = MessageRole.User,
        Parts = [new TextPart { Text = "Hello!" }]
    }
});

MAF 整合:Microsoft Agent Framework 也提供了 A2A 協議支援(Microsoft.Agents.A2A),可以將 MAF Agent 暴露為 A2A 服務端,實現跨框架的 Agent 互通。

.NET 對 AG-UI 的支援

圖片

MAF 框架內建了 AG-UI 支援,實現 Agent 與使用者介面的流式互動:

dotnet add package Microsoft.Agents.AI.Hosting.AGUI.AspNetCore  # 伺服器端
dotnet add package Microsoft.Agents.AI.AGUI                      # 用戶端

伺服器端:使用 AddAGUI() 註冊服務,MapAGUI() 對映端點:

builder.Services.AddAGUI();

AIAgent agent = chatClient.AsIChatClient().CreateAIAgent(
    name: "Assistant",
    instructions: "你是一個友好的 AI 助手。");

app.MapAGUI("/", agent);  // 自動處理 SSE 流式回應

用戶端:使用 AGUIChatClient 連接伺服器端,RunStreamingAsync 接收流式回應:

AGUIChatClient chatClient = new(httpClient, "http://localhost:8888");
AIAgent agent = chatClient.CreateAIAgent(name: "client");
AgentThread thread = agent.GetNewThread();

await foreach (var update in agent.RunStreamingAsync(messages, thread))
{
    if (update.Contents.OfType<TextContent>().FirstOrDefault() is { } text)
        Console.Write(text.Text);
}

3.5 .NET 對 Agent Skills 的支援

Agent Skills 是一種輕量級、開放的格式,用於擴展 AI Agent 的能力。一個 Skill 本質上就是一個包含 SKILL.md 檔案的資料夾:

skill-name/
├── SKILL.md          # 必需:技能描述和使用說明
├── scripts/          # 可選:可執行腳本
│   └── tool.cs
├── references/       # 可選:詳細參考文件
│   └── REFERENCE.md
└── assets/           # 可選:靜態資源
    └── template.json

SKILL.md 格式:包含 YAML frontmatter 和 Markdown 正文:

---
name: split-pdf
description: Split PDF files into separate single-page documents. Use when you need to divide a PDF into multiple files.
license: MIT
---

# Split PDF

將 PDF 檔案拆分為多個單頁檔案。

## 使用方法
dotnet scripts/split-pdf.cs input.pdf output-dir/

.NET 10 的獨特優勢:File-Based Apps 讓 C# 成為 Agent Skills 腳本的理想選擇:

#!/usr/bin/env dotnet
#:package PdfSharpCore@1.3.65
#:package Spectre.Console@0.49.1

using PdfSharpCore.Pdf;
using PdfSharpCore.Pdf.IO;
using Spectre.Console;

if (args.Length < 2)
{
    AnsiConsole.MarkupLine("[red]用法: dotnet split-pdf.cs <PDF 檔案> <輸出目錄>[/]");
    return1;
}

var pdfPath = args[0];
var outputDir = args[1];
Directory.CreateDirectory(outputDir);

usingvar doc = PdfReader.Open(pdfPath, PdfDocumentOpenMode.Import);
for (int i = 0; i < doc.PageCount; i++)
{
    usingvar output = new PdfDocument();
    output.AddPage(doc.Pages[i]);
    output.Save(Path.Combine(outputDir, $"page_{i + 1:D3}.pdf"));
}

AnsiConsole.MarkupLine($"[green]✅ 拆分完成!產生 {doc.PageCount} 個檔案[/]");
return0;

與 Python 相比,.NET File-Based Apps 的優勢:依賴宣告內聯在檔案中(#:package)、編譯時型別檢查、支援 Native AOT 編譯實現毫秒級啟動。


四、展望2026

4.1 技術趨勢預測

Agent 能力持續增強

2026 年,我們將看到更強大的 Agent:

  • 更長的上下文:處理更複雜的任務
  • 更好的規劃:多步驟任務的成功率提升
  • 更強的工具呼叫:支援更複雜的工具組合

多模態 AI 成為標配

圖像、音訊、影片的理解和生成將成為 AI 的基礎能力,而不是進階功能。.NET 開發者需要準備好處理多模態資料。

AI 原生應用架構演進

**"AI 原生"**將成為新的架構範式,就像「雲原生」改變了我們構建應用程式的方式一樣。我們需要重新思考:

  • 如何設計 AI 友善的 API
  • 如何構建可被 AI 呼叫的服務
  • 如何處理 AI 的不確定性

4.2 .NET 開發者的機遇

AI Agent 開發需求增長

企業對客製化 AI Agent 的需求正在爆發。根據 Gartner 預測,到 2026 年,超過 80% 的企業將部署某種形式的 AI Agent。熟悉 .NET 和 AI 的開發者,有機會在以下領域大展身手:

企業級應用場景

  • 智慧客服 Agent:基於企業知識庫的 7x24 小時智慧問答系統
  • 業務流程自動化:訂單處理、報表生成、資料分析等重複性任務的自動化
  • 程式碼助手:企業內部的程式碼審查、文件生成、技術債務檢測工具
  • DevOps Agent:自動化部署、監控告警分析、故障診斷

技術實現路徑

  • 開發 MCP Server:將企業內部系統(ERP、CRM、資料庫)封裝為 MCP 工具,供 AI 呼叫
  • 構建多 Agent 協作系統:使用 MAF 的 Workflow 模式,實現複雜業務流程的智慧編排
  • 建立領域專用 Agent:結合 .NET 生態優勢(如金融、製造、醫療),打造行業客製化解決方案

職業發展機遇

  • AI 應用架構師:設計企業級 AI 應用架構
  • Agent 開發工程師:熟練掌握 MEAI/MAF,成為團隊核心
  • AI 工具開發者:開發開源 MCP Server 和 Agent Skills,構建個人品牌

.NET 在 AI 領域的獨特優勢

.NET 在 AI 領域有其獨特的優勢:

  • 效能:對於需要高效能的 AI 應用,.NET 是理想選擇
  • 企業基礎:大量企業系統基於 .NET 構建,AI 增強有天然優勢
  • 工具鏈成熟:Visual Studio + Copilot 是目前最好的 AI 輔助開發體驗之一
  • 生態完善:MEAI/SK/MAF 提供了完整的 AI 開發工具鏈

持續學習建議

作為 .NET 開發者,建議重點關注:

  1. 學習 Vibe Coding:提升 AI 輔助開發效率
  2. 關注 AI 模型發展:了解最新的 AI 能力和趨勢
  3. 掌握 MEAI:這是 .NET AI 開發的基礎
  4. 學習 Microsoft Agent Framework:Agent 開發的核心框架
  5. 了解 MCP/AG-UI/A2A 協議:AI 工具開發的事實標準
  6. 實踐 Agent 開發:透過實際專案累積經驗

五、總結

2025 年是 .NET 與 AI 融合的里程碑之年。

回顧這一年:

  • AI 進入 Agent 時代:從程式碼補全到自主完成任務,AI 能力發生質變
  • 協議標準化推動生態繁榮:MCP、A2A、AG-UI 等協議構建了互通基礎
  • .NET 10 帶來重要升級:直接執行 .cs 檔案、效能最佳化、AI 整合增強
  • Visual Studio 2026 全新體驗:AI Copilot 深度整合,開發效率大幅提升
  • .NET AI 工具鏈日趨成熟:MEAI、SK、MAF 提供了完整的開發能力

對於 .NET 開發者來說,這是最好的時代。我們有成熟的語言和平臺,有完善的工具鏈,有活躍的社群。現在,我們又有了強大的 AI 助力。

擁抱 AI,不是選擇,而是必然。

未來已來,你準備好了嗎?


本文寫於 2025 年 12 月 25 日,預祝所有開發者新年快樂,身體健康,工作順心,心想事成,萬事如意,家庭幸福美滿!

繼續探索

延伸閱讀

更多文章
同分類 / 同標籤 2023/11/17

.NET8 正式發佈,C#12 新變化

雖然 8 又帶來了許多方面的增強,比如:人工智慧、雲原生、效能、native AOT 等,但我還是最關注 C# 語言和一些框架層面的變化,下面介紹下 C# 12 和框架中我認為比較實用的新增功能。

繼續閱讀