TechSummary 2025-08-12
🔗 為何 GitHub 開源 MCP 伺服器,以及這對您的意義
- 當 LLMs(大型語言模型)缺乏外部工具和數據源的連接能力時,容易產生幻覺(hallucinations),給出看似合理但錯誤的答案。
- Model Context Protocol (MCP) 是一個開放協議,旨在標準化 LLM 應用程式如何連接並使用外部工具和數據源,其角色類似於程式語言伺服器協議 (LSP) 之於程式語言,可以視為「LLM 的 LSP」。
- GitHub 已開源其 MCP 伺服器,作為 GitHub 平台與任何 LLM 之間的「真相來源」介面,有助於減少幻覺並啟用新的自動化工作流程。
- GitHub 的 MCP 伺服器允許使用者以自然語言發出請求(例如「列出所有開放的議題」),這些請求會被自動轉換為結構化、語義豐富的 API 調用,從而獲取 GitHub 上的即時數據。
- 該架構概念上簡單但功能強大,將語言模型、用戶體驗和數據/工具訪問分離,使每一層都模組化、可測試和可替換。
- 要在 VS Code 中使用 GitHub MCP 伺服器,需添加以下設定並完成 OAuth 流程:
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
}
}
} - 實際應用案例包括:將 GitHub Issues 自動轉換為 Markdown 內容文件、編譯每週團隊摘要的輕量級機器人、基於聊天的專案助手,以及個人化的 LLM 儀表板,這些都證明了 MCP 伺服器透過提供真實、結構化的上下文,使 AI 工具更智能和安全。
🤖 使用 Goose 和 Docker 輕鬆構建 AI 代理
Source: https://www.docker.com/blog/building-ai-agents-with-goose-and-docker/
- 構建 AI 代理的核心在於結合 AI 後端、外部工具訪問能力,以及應用程式業務邏輯。常見方法是透過「系統提示」和 MCP 協議擴展 AI 助手。
- 文章展示了如何使用開源工具 (Goose、Docker Model Runner、Docker MCP Gateway) 在容器中構建一個 AI 代理,實現 YouTube 影片摘要功能,確保隔離性和可重複性。
- 系統主要組件包括:
- Goose: AI 代理,負責任務執行,連接本地 LLM 和 MCP Gateway。
- Docker Model Runner: 在本機運行 LLM 推理引擎,暴露 OpenAI 相容 API。
- MCP Gateway: 代理並隔離外部 MCP 工具在各自容器中,提供單一、驗證過的端點,降低安全風險。
- ttyd: 將容器的終端作為網頁應用程式提供。
- Cloudflare Quick Tunnel (可選): 為本地 ttyd 服務創建安全公共 URL。
- 實現細節涵蓋
Dockerfile
和compose.yml
的配置:Dockerfile
安裝ttyd
和Goose CLI
,並複製config.yaml
和.goosehints
檔案來配置 Goose 的業務邏輯。compose.yml
定義了模型 (例如qwen3
) 和服務 (例如mcp-gateway
),並將 Goose 配置為連接 Docker Model Runner 提供的 OpenAI 相容 API 端點。
models:
qwen3:
model: hf.co/unsloth/qwen3-30b-a3b-instruct-2507-gguf:q5_k_m
context_size: 16355extensions:
developer:
display_name: null
enabled: true
name: developer
timeout: null
type: builtin
mcpgateway:
bundled: false
description: 'Docker MCP gateway'
enabled: true
name: mcpgateway
timeout: 300
type: sse
uri: http://mcp-gateway:8811/sseGOOSE_PROVIDER: openai
OPENAI_BASE_PATH: engines/llama.cpp/v1/chat/completions
OPENAI_HOST: http://model-runner.docker.internal - 這種模組化架構易於模型替換、工具添加和業務邏輯更新,同時也能重新配置以運行其他相容 OpenAI API 的代理框架 (例如 LangGraph, CrewAI)。
📊 DataSpell 現已成為數據分析的 AI 優先工具
Source: https://blog.jetbrains.com/dataspell/2025/08/dataspell-is-now-an-ai-first-tool-for-data-analysis/
- 從 2025.2 版本開始,所有付費的 DataSpell 訂閱都將免費包含 JetBrains AI Pro,這體現了 JetBrains 將 AI 整合到其數據產品中的承諾。
- JetBrains AI Pro 提供了專為數據任務設計的進階 AI 工具,並支援來自 OpenAI、Google 和 Anthropic 的最新模型,無論是數據探索、程式碼編寫還是結果視覺化,都能提 供幫助。
- 專用 AI 代理:DataSpell 集成了 AI 代理,可處理常見任務,如管理解釋器和套件、組織文件夾、連接和配置資料庫、處理 Jupyter Notebooks (創建單元、運行筆記本) 以及資料轉換 (Data Wrangler)。
- JetBrains AI 增強功能:
- 「AI Edit Cell」現在可以使用單元格的上下文為 Jupyter 和 SQL 單元格生成程式碼。
- 用戶可以將文件或數據源表附加到 AI 聊天中以提供更豐富的上下文。
- AI 聊天中新增功能:提出一般問題、按名稱引用資料庫物件、從文字提示創建內聯圖表視覺化。
- 數據處理和結果導出改進:
- Notebook 中的 Data Wrangler 編輯在 Jupyter 單元中可見,一鍵即可應用更改並插入程式碼。
- 更簡單的表格導出:可將 DataSpell 表格中的數據複製並貼到 Google Sheets、Docs、Slides 或其他工具中,數據仍可編輯。
- PDF 導出功能:提供導出整個筆記本、僅輸出或 Markdown 和輸出的選項。
- 資料庫改進:現在可以將特定的資料庫物件(例如單一表格或視圖)附加到 AI 聊天中,而不是整個模式。
📰 dotInsights | 2025 年 8 月
Source: https://blog.jetbrains.com/dotnet/2025/08/12/dotinsights-august-2025/
- C# 功能提示:介紹了 C# 中的空值合併運算符 (
??
) 和空值合併賦值運算符 (??=
) 的用法。 - 開發者社群連結:彙集了關於遺留程式碼重構、MCP 入門、MIND 原則、架構測試、EventStorming、Aspire、模式匹配、函數式程式設計、ASP.NET Core 依賴注入、Blazor 開源專案、並行程式設計、SQL Server 正則表達式、Azure Functions、AI 工程師冒牌者症候群、.NET MAUI 和 MVVM 等主題的最新文章和影片。
- JetBrains .NET 指南特色:本月推薦了關於 .NET 中 MAUI 開發和異常處理的教學或技巧。
- JetBrains 新聞:公布了 Rider/R# 2025.2 版本發布會、JetBrains 成為 Godot Foundation 的白金贊助商、JetBrains .NET 工具的未來變更,以及 ReSharper 和 .NET Tools 2025.2 發布候選版本。
🎓 免費 JetBrains 學生包 — 您的科技未來工具包
Source: https://blog.jetbrains.com/education/2025/08/12/jetbrains-student-pack/
- JetBrains 為學生提供了免費的「JetBrains 學生包」,包含專業級 IDEs (如 IntelliJ IDEA, PyCharm, WebStorm, CLion, Rider, DataSpell 等)、實踐課程、AI 驅動工具 (AI Assistant, Junie) 和生產力外掛,旨在幫助學生學習編程、構建專案和準備就業。
- 該學生包旨在彌合課堂學習與實際世界的差距,讓學生使用 Google、NASA 等公司開發者所信賴的相同工具進行學習和實踐。
- 申請流程:
- 填寫申請表:透過學生電子郵件、ISIC/ITIC 學生證、GitHub 學生開發者包帳戶或其他官方入學證明驗證學生身份。
- 驗證電子郵件地址:點擊驗證連結確認。
- 安裝 IDE:申請獲批後,登錄 JetBrains 帳戶下載所需 IDE,學生授權免費且在學期間有效(需每年續期)。
- 啟用外掛:在 IDE 中安裝 JetBrains Academy (專案式課程) 和 IDE Features Trainer (掌握快捷鍵),以及 Code With Me (結對編程)。
- 試用 AI 工具:啟用 AI Assistant (程式碼生成、解釋、重構) 和 Junie (多步驟任務、複雜挑戰)。
- 畢業折扣:學生身份到期後,JetBrains 將提供所有產品兩年內 40% 的折扣,以鼓勵畢業生繼續使用其工具。
- 限時抽獎:在 2025 年 9 月 12 日前申請,有機會贏得 MacBook Pro、iPad Pro 或 reMarkable Paper Pro。
🤝 JetBrains 與其 CLion IDE 現為 ST 官方授權合作夥伴
Source: https://blog.jetbrains.com/clion/2025/08/st-authorized-partner/
- JetBrains 已加入 ST Partner Program,旨在提升嵌入式開發人員在使用 CLion 處理 ST 微控制器解決方案時的體驗。
- 此次合作為開發者帶來以下益處:
- 優化 ST 微控制器開發:CLion 將成為嵌入式開發者使用 STM32 和 STM8 微控制器 (MCUs) 及 ST-LINK 調試探頭的首選 JetBrains IDE,提供 量身定制且高效的開發體驗。
- 無縫整合和生產力提升:確保與 ST 工具鏈和工作流程的深度整合,簡化開發流程。
- 值得信賴的生態系統:結合 JetBrains 的專業知識和 ST 可靠的 MCUs,提供穩健、可靠、面向未來的嵌入式開發平台。
- STM32 開發試用:文章鼓勵開發者在 CLion 中嘗試運行 STM32CubeMX 專案,並指出專案創建流程已更新,以提高可用性並擴展對更廣泛 STM32 MCU 和專案的支援,現在完全符合官方 STM32CubeMX 工作流程和工具鏈。
- 配置 ST-LINK 調試伺服器時,可使用專為 STM32 晶片設計的配置選項,進一步簡化了配置過程。
💰 為金融科技工作流構建可擴展的 GenAI 架構
Source: https://dzone.com/articles/building-a-scalable-genai-architecture-for-fintech
- 生成式 AI (GenAI) 正在迅速改變金融服務格局。據 McKinsey 預測,GenAI 可為全球銀行業每年節省高達 3400 億美元的成本並提升生產力。
- 領先的金融科技企業正將 GenAI 嵌入關鍵工作流程,從客戶入職、信用決策到欺詐檢測和合規性。
- 金融機構面臨快速、智能、精簡運營的持續壓力,而 GenAI 透過以下方式提供戰略優勢:(文章內容在此處截斷,未完全提供詳細優勢列表)。
♿ 實作 iOS 輔助功能:開發者的實用指南
Source: https://dzone.com/articles/implementing-ios-accessibility
- iOS 開發者經常花費大量時間構建精美的應用程式,但輔助功能(Accessibility)卻常被忽略,然而它是將優秀應用程式轉化為包容且卓越的關鍵。
- 支援輔助功能不僅是為了幫助殘疾人士,更是為了讓所有人,無論他們如何與設備互動,都能舒適地使用應用程式。
- 在 iOS 上實施輔助功能相對簡單,並非困難任務。
⚡ 基於 Spanner, BigQuery 和向量嵌入的實時推薦系統
Source: https://dzone.com/articles/real-time-recommendations-with-spanner-bigquery
- 產品推薦系統是電子商務、零售、媒體娛樂、金融服務等廣泛行業不可或缺的一部分,對供應商和消費者都至關重要,能改善消費者體驗並增加銷售額。
- 企業收集並分析大量消費者使用和行為數據,以優化購買和用戶滿意度的推薦。
- 商家力求盡快提供這些推薦,並使用最新洞察,因為推薦延遲可能導致銷售損失和不良的消費者體驗。(文章內容在此處截斷,未完全提供詳細系統架構)。
⏱️ 在無服務器架構中部署實時機器學習模型:平衡延遲、成本和性能
Source: https://dzone.com/articles/deploying-real-time-machine-learning-models-serverless
- 機器學習 (ML) 在欺詐檢測和個性化推薦等實時應用中變得越來越重要。
- 由於無服務器計算具有擴展能力並消除了基礎設施管理的工作量,這些應用程式在無服務器環境中部署極具吸引力。
- 然而,在無服務器環境中部署 ML 模型存在獨特的挑戰,特別是在延遲、成本和性能方面。文章將描述這些問題並提供成功的解決方案。(文章內容在此處截斷)。
⚙️ Apache Spark 4.0 中的聲明式管道
Source: https://dzone.com/articles/build-your-first-apache-spark-declarative-pipeline
- 大數據處理領域不斷發展,數據工程師和數據科學家持續尋求更高效、直觀的方式來管理複雜的數據工作流程。
- 儘管 Apache Spark 長期以來一直是大規模數據處理的基石,但構建和維護複雜的數據管道仍可能帶來顯著的運營開銷。
- Databricks 作為 Apache Spark 4.0 的關鍵貢獻者,最近開源了其核心聲明式 ETL 框架,將聲明式編程的優勢從單個查詢擴展到整個數據管道。
- 從命令式到聲明式的轉變:多年來,數據專業人員一直利用 Spark 強大的 API(Scala、Python、SQL)命令式地定義數據轉換。在命令式模型中,您需要明確地指示數據處理的每個步驟如何發生。(文章內容在此處截斷)。
📈 擴展 Playwright 自動化測試:實用框架指南
Source: https://dzone.com/articles/scaling-playwright-test-automation
- 隨著 Web 應用程式變得越來越動態和功能豐富,確保其品質的複雜性也隨之增加。
- Playwright 已成為一個強大的端到端測試工具,支援現代瀏覽器並提供諸如自動等待、多瀏覽器測試和網絡攔截等功能。
- 然而,編寫獨立的測試案例僅是成功自動化的一小部分。為了支援可維護性、協作和長期可擴展性,一個結構化的測試自動化框架至關重要。
🔄 將舊版 VB6 應用程式遷移到現代平台
Source: https://dzone.com/articles/migrating-legacy-applications-modern-platforms
- 許多企業仍運行基於 Visual Basic 6.0 (VB6) 的關鍵任務系統,該語言的支援已於 2008 年終止,導致企業面臨「遺留地獄」環境:無補丁、安全漏洞不斷增加、專業知識流失。
- 例如,Stride 報告稱近 40% 的 VB 系統源代碼已丟失,關鍵邏輯深埋在數十年的存儲過程中,這些系統成為合規性負擔並阻礙創新。
- 將其現代化,遷移到 .NET 或 Java 等平台,可以重獲價值並確保軟體面向未來。
- VB6 遷移是一項重大任務。架構師必須在純粹重寫、自動轉換或混合方法之間做出選擇。文章探討了面對 VB6 現代化專案的架構師的實際策略、工具和最佳實踐,包括對遺留程式碼的深入分析、分階段重構、大量測試以及仔細地重新架構為模組化服務。
📚 兩次數位轉型中的架構經驗教訓
Source: https://dzone.com/articles/digital-transformation-success-failure-lessons
- 作者曾有幸作為架構師領導過兩個數位轉型專案。
- 其中一個專案是「失敗」的,作者認為這也是一種幸運,因為從失敗中可以學到寶貴的經驗。(文章內容在此處截斷)。
📦 Scoped Values:革新 Java 上下文管理
Source: https://dzone.com/articles/scoped-values-revolutionizing-java-context-managem
- 在設計用於並行執行的應用程式中,在線程之間共享數據(或上下文)是必要的。可用的設計選擇是將上下文作為方法參數傳遞,或使上下文可全局訪問(例如全局變數或等效物)。
- 前者(將上下文作為方法參數)雖然最簡單,但擴展性不佳。隨著應用程式的發展,上下文也會增長,導致方法參數增多。此外,方法需要接受自身不直接使用,但調用層次深處的其他方法會使用的參數,使得整體數據流不清晰或不直觀。
- 如果上下文是可變的,任何被調用者都可能損壞上下文,識別這種流氓行為至少令人不快。Scoped Values 旨在解決這些問題,提供一種更優雅和安全的方式來管理線程上下文。