TechSummary 2025-09-04
· 閱讀時間約 13 分鐘
💡 使用 MCP 引導機制打造更智能的互動:從繁瑣的工具呼叫到流暢的使用者體驗
- 本文探討了如何透過 MCP (Multi-Modal Chat Protocol) 中的引導 (elicitation) 機制,改進 AI 應用(如 GitHub Copilot)與使用者的互動體驗,使其更加自然和無縫。引導機制讓 AI 在缺少必要資訊時能主動暫停並提問,而非僅依賴預設值。
- 範例應用: 在建立回合制遊戲(如井字遊戲、剪刀石頭布)時,若使用者未提供難度、玩家名稱或先手順序等資訊,AI 會透過引導機制提問,而不是直接使用預設值。
- 實作挑戰與解決方案:
- 工具命名混淆: 過去因工具名稱相似(如
create-tic-tac-toe-game
與create-tic-tac-toe-game-interactive
),導致 AI 選錯工具。解決方案是合併工具並使用清晰、獨特的名稱(例如:將八個工具縮減為create-game
、play-game
、analyze-game
、wait-for-player-move
)。 - 處理部分資訊: 直播時發現引導機制會重複詢問所有偏好,即使部分資訊已提供。修復方式是在工具被呼叫後檢查已提供的資訊,只引導詢問缺失的部分。
- 工具命名混淆: 過去因工具名稱相似(如
- 內部工作原理: MCP 伺服器在呼叫
create_game
工具時,會檢查所需參數、將選用參數傳遞給獨立方法、若資訊缺失則啟動引導機制、呈現基於 schema 的提示、收集回應,最終執行createGame
方法。 - 重要學習: 使用者體驗、工具命名清晰度和迭代開發對於建立更優質的 AI 工具至關重要。
🧠 混合式 AI 已來臨,並在 Docker 中運行
Source: https://www.docker.com/blog/hybrid-ai-and-how-it-runs-in-docker/
- 核心概念: 混合式 AI (Hybrid AI) 結合了強大的雲端模型(監督者,Supervisor)與高效的本地模型(小兵,Minions),在效能、成本和隱私之間取得平衡,解決了 GenAI 應用在處理大型文件或複雜工作流程時,品質與成本之間的權衡問題。
- Minions 協議: 遠端模型(Supervisor)不直接處理所有數據,而是生 成可執行程式碼來分解任務;本地模型(Minions)在 Docker 容器中執行這些平行子任務;遠端模型最終聚合結果。
- Docker 化實作範例:
- 使用
docker compose up
啟動 Minions 應用伺服器。 - 遠端模型接收請求,生成協調程式碼。
- 協調程式碼在 Docker 容器內的 Minions 應用伺服器中執行,提供沙盒隔離。
- 本地模型平行處理子任務(如分析文件塊、摘要、分類)。
- 結果返回給遠端模型進行彙總。
- 使用
- 優勢:
- 成本降低: 本地模型處理大部分 tokens,顯著減少雲端模型使用量(MinionS 協議可降低 5.7 倍成本,同時保持 97.9% 效能)。
- 可擴展性: 將大型任務分解為小型任務,可在本地模型間水平擴展。
- 安全性: 應用伺服器在 Docker 容器中運行,提供沙盒隔離,確保動態協調的安全性。
- 開發者簡便性: Docker Compose 將所有配置整合到單一檔案,無需複雜環境設定。
- Docker Compose 配置範例:
此配置可啟動一個運行 Llama 3.2 模型並擁有 10k 上下文視窗的本地 worker。
models:
worker:
model: ai/llama3.2
context_size: 10000 - 權衡: 儘管顯著降低雲端成本,但由於任務拆分、本地處理和聚合,回應時間可能會較慢(約 10 倍)。
🔍 靜態程式碼分析提升開發者體驗的五種方式
Source: https://blog.jetbrains.com/qodana/2025/09/improve-developer-experience/
- 靜態程式碼分析 (Static Code Analysis) 是一種強大的工具,無需運行程式碼即可檢查潛在問題,從而減少開發人員的摩擦,使他們能更專注於解決問題。
- 提升開發者體驗的五種方式:
- 更快的反饋循環: 直接整合到開發環境或 CI/CD 管線中,提供即時的錯誤、風格違規和安全漏洞洞察,讓開發者在編碼時就能即時修復問題。
- 降低認知負荷: 作為安全網,自動捕捉程式碼標準違規、不安全結構,並提醒最佳實踐,減少記憶所有規範的心理負擔。
- 改進程式碼品質和一致性: 強制專案的編碼標準,確保一致性和可讀性;檢測常見錯誤模式,如空指針解引用、未初始化變數。
- 整個生命週期的時間節省: 在開發早期階段捕獲問題,大幅降低發布後修復缺陷的成本;透過預過濾瑣碎問題,讓程式碼審查更專注於架構和邏輯。例如,Qodana 提供的快速修復功能能節省大量時間。
- 與現代開發者體驗工具整合: 與 CI/CD 管線整合,建立自動化的品質門禁;與 IDE 整合,提供即時回饋;甚至可將發現結果與合規標準對齊。
- 結論: 靜態程式碼分析不僅是錯誤捕獲工具,更是改善開發者體驗、提高生產力和交付更高品質軟體的關鍵。
🛠️ ReSharper 與 Rider 2025.2.1 更新與修正已發布!
Source: https://blog.jetbrains.com/dotnet/2025/09/04/resharper-and-rider-2025-2-1-is-out/
- JetBrains 發布了 ReSharper 和 Rider 2025.2 的首個錯誤修復更新,帶來了重要的修正和品質改進,以及針對性的效能優化。
- ReSharper 2025.2.1 關鍵更新:
- Unity 支 援整合至命令列工具 (CLT): ReSharper 的 Unity 專屬檢查和清理規則現在可以在
inspectcode
和cleanupcode
等命令列工具中運行,確保 IDE 和 CI/CD 管線之間的一致性。 - 重要修正:
- ReSharper C++ 在獨立安裝時可在 Out-of-Process (OOP) 模式下運行。
- C++ 單元測試可在 OOP 模式下執行。
- Search Everywhere 對話框即使在解決方案未完全載入的情況下也能在 OOP 模式中獲得焦點。
- 恢復了 OOP 模式下 IDE 快捷鍵的正確行為。
- 修復了 Visual Studio 觸發 ReSharper 動作或開啟擴充功能選單後可能凍結的問題。
- 恢復了異步上下文中程式碼自動完成的正確行為。
- Unity 支 援整合至命令列工具 (CLT): ReSharper 的 Unity 專屬檢查和清理規則現在可以在
- Rider 2025.2.1 關鍵更新:
- 單元測試: 單元測試探查器不再顯示重複條目,包括 xUnit 專案。
- 偵錯: 使用嵌入式偵錯符號時,Edit & Continue 功能恢復正常;修復了偵錯器在異常處停止但不允許恢復執行的問題。
- AI 助手: 修復了 AI 助手在 C# 專案中可能生成 C++ 程式碼片段的問題。
- 其他修正: Encapsulate Field 重構快捷鍵恢復;GDScript 檔案正確識別;環境變數中的分號值處理問題;Frame Viewer 相關修復;Create Branch 操作的可用性恢復;Windows 上 Dynamic Program Analysis (DPA) 快照檔案未清理的問題;macOS 上 Monitoring 工具視窗的 CPU 使用率優化。
- 下載方式: 可透過 JetBrains 網站或 Toolbox App 下載最新版本。