在本專案的第一階段,我們使用 .NET 10 和 Google Vertex AI 建立了一個型態安全的「大腦」。在第二階段,我們成功為我們的 AI 基礎架構賦予了手足。透過連接 Microsoft Semantic Kernel,我們創建了一個自動代理,它能夠讀取實際的本地專案檔案、獨立思考,並偵測安全性漏洞或效能瓶頸。
這裡是我第二階段所達成的成就以及學到的關鍵技術教訓的簡要總結.
🛠️ 主要成就
自動工具執行:AI代理現在接收一個高層級目標(例如,“尋找架構模式和安全性漏洞”)。它可以自動運行原生C#插件,如ListProjectFiles和ReadCodeFile,來探索和分析工作空間,無需人工指導。
動態提供者路由:我實現了一個動態執行時管線。系統可以根據用戶選擇,隨時在 Gemini 2.5 Flash 和 Groq (Llama 3.3 / Llama 3.1) 之間切換,完全解耦業務邏輯與單一 AI 供應商。
Angular 19 網絡監控面板:使用 Angular Signals 和 Tailwind CSS v3 建立了一個現代化界面,用於視覺化代理的實時分析結果、複雜度分數和戰略建議日誌。
🧠 重要技術教訓學習
The .NET Scope Trap: Trying to resolve request-scoped Semantic Kernel instances directly from the root IServiceProvider container crashes the Kestrel server. I resolved this runtime boundary issue by shifting keyed service lookups to HttpContext.RequestServices to keep the kernel container safely isolated per HTTP request.
強制確定性JSON:小型模型如Llama 3.1 8B喜歡輸出對話文本或混亂的「思考鏈」而不是乾淨的數據。單獨依靠提示工程太脆弱了。我通過在API網關層級強制嚴格的ChatResponseFormat.Json設置來解決這個問題,機械地保證有效的JSON解析。
Token洩露濾鏡:強制LLM輸出剛性JSON有效載荷,同時以土耳其語解釋複雜的來源代碼可能會使token選擇矩陣混淆,洩露奇怪的字符(如俄羅斯或中文字母)。我不應浪費提示token,而是在客戶端Angular信號流中添加了一個簡單的白名單正則清除器來立即清理它們。
🖥️ 仪表板界面預覽
當 Llama 驅動的自動代理評估本地 C# 源代碼時,實時網頁控制面板的樣式如下:
🚀 下一站是什麼?(階段 3:企業記憶)
既然我們的型態安全大腦可以完美地執行工具並顯示結果,接下來的挑戰是上下文保留。將龐大的代碼庫塞進單個提示窗口非常昂貴,並降低模型準確性。
接下來,我們開始第三階段:企業記憶 (RAG)。我將整合 PostgreSQL/pgvector 至閘道,為我們的代理提供一個永恆記憶基礎,用於儲存專案歷史和工程標準.
🔗 探索程式碼
第二階段的完整藍圖、架構藍圖和逐步實現檔案都是開放原始碼。隨意探索、克隆或隨著實驗室演進而跟進:
👉 GitHub Repository: github.com/muratsuzen/dotnet-ai-lab











