跳至主要内容

TechSummary 2025-09-16

· 閱讀時間約 11 分鐘
Gemini
AI Assistant

🚀 GitHub MCP 註冊中心:加速發現 MCP 伺服器

Source: https://github.blog/ai-and-ml/github-copilot/meet-the-github-mcp-registry-the-fastest-way-to-discover-mcp-servers/

  • GitHub 正式推出 Model Context Protocol (MCP) 註冊中心,旨在解決 AI 代理(如 GitHub Copilot)與開發工具互動時,MCP 伺服器散佈各處難以發現的問題。
  • MCP 註冊中心作為集中平台,簡化了 MCP 伺服器的探索、瀏覽和使用,促進更開放、互通的 AI 生態系統。
  • 它提供多項功能,包括在 VS Code 內的一鍵安裝發現能力、依據 GitHub 星標和社群活躍度排序、以及與 GitHub Copilot 和任何 MCP 相容主機的整合。
  • 未來規劃允許開發者直接發布 MCP 伺服器至開源 MCP 社群註冊中心,並自動同步至 GitHub MCP 註冊中心,以建立統一且可擴展的發現路徑。

🔒 MCP 安全:開發者指南

Source: https://www.docker.com/blog/mcp-security-explained/

  • Model Context Protocol (MCP) 雖加速 AI 代理與工具的連結,但伴隨新的安全挑戰;研究發現 43% 的 MCP 伺服器存在指令注入漏洞。
  • MCP 安全涉及供應鏈、運行時隔離、中介訪問和客戶端信任等多層面風險,可能導致機密外洩、不安全操作或代理行為被靜默修改。
  • Docker 提出透過容器化執行、策略強制執行的 MCP Gateway,以及精選的 MCP Catalog & Toolkit 來實踐安全開發,降低攻擊面。
  • 關鍵防禦措施包括:容器化所有 MCP 伺服器(使用最少權限)、在 Gateway 集中執行策略(簽名驗證、工具允許列表、網絡出口控制、日誌記錄)、妥善管理機密、防禦提示注入(前/後處理攔截器)及強化供應鏈。

💡 告別控制台

Source: https://blog.jetbrains.com/datagrip/2025/09/16/a-farewell-to-consoles/

  • JetBrains DataGrip 及其他支援資料庫的 IDEs 將從 2025.3 版本起,將「查詢控制台 (query console)」改稱為「查詢檔案 (query file)」,以反映其本質就是檔案。
  • 過去的控制台存在問題:它們不屬於專案結構、儲存在不明顯的資料夾中難以尋找、難以切換上下文,且名稱令人困惑。
  • 新的基於檔案的查詢編輯模式將使查詢腳本在專案中可見,易於定位和管理,並可像普通專案檔案一樣重新附加、更改方言和資料來源。
  • 當使用者升級 DataGrip 時,會出現遷移對話框,引導將所有現有控制台轉換為查詢檔案,並暫時保留舊的資料庫控制台資料夾一個版本週期。

💸 常見問題:新的 AI 配額

Source: https://blog.jetbrains.com/ai/2025/09/faq-new-ai-quota/

  • JetBrains 承認新的 AI 配額比以往有所減少,此舉是為使 AI 使用成本與供應商實際的每 token 價格保持一致,以確保產品可持續發展。
  • 公司承諾提升透明度,未來幾週將推出帶有使用統計的 UX 更新,以及更詳細的用量控制功能。
  • AI 使用量並非固定費用,而是取決於模型類型、上下文量和對話長度;代理工作流(Agentic workflows)因迭代和自我修正可能產生更高用量。
  • 建議使用者監控用量、根據任務選擇 AI 工具(代理或助理)、謹慎提示、選擇成本較低的模型、並在代理「迷失」時重新開始對話,以有效管理配額。

✨ IntelliJ IDEA 2025.3 早期預覽計畫啟動!

Source: https://blog.jetbrains.com/idea/2025/09/intellij-idea-2025-3-eap/

  • IntelliJ IDEA 2025.3 的早期預覽計畫 (EAP) 已開放,提供新功能和改進的搶先體驗。
  • 主要更新包括:統一分發版(更多功能無需訂閱即可使用)、完整支援 Java 25、Spring Boot 4、JUnit 6,以及改進的 Spring Data JDBC 和 Kotlin 支援。
  • 針對 Kubernetes YAML 檔案的工作體驗將得到增強,編輯器內嵌快速操作可實現更快的埠轉發和資源狀態更新。
  • 使用者體驗方面,將推出新的「Islands」視覺主題,並可能成為新預設,同時改進歡迎畫面和後台任務的進度指示器。
  • 遠端開發體驗將進一步優化,包括 CSS、JavaScript、TypeScript 和 shell 腳本的打字流暢度,以及更快的啟動速度。AI 支援也將首次進入終端機,提供內嵌完成功能。

☕ Java 25 LTS 與 IntelliJ IDEA

Source: https://blog.jetbrains.com/idea/2025/09/java-25-lts-and-intellij-idea/

  • Java 25 作為 LTS (長期支援) 版本於 2025 年 9 月 16 日發布,IntelliJ IDEA 全面支援其穩定功能。
  • Java 25 新穩定功能包含:
    • 精簡源檔案與實例 main 方法 (JEP 512): 簡化 HelloWorld 類程式碼,無需 public static void main(String[] args) 等樣板程式碼,初學者和原型開發更便捷。例如:
      void main() {
      IO.println("Hello, World!");
      }
    • 模組導入聲明 (JEP 511): 簡化常用類(如 java.base 模組)的導入,減少單獨的 import 語句,方便學習和原型設計。
    • 靈活的建構器主體 (JEP 513): 允許在調用 super() 之前在派生類建構器中執行語句,用於驗證或計算資料。
    • 作用域值 (JEP 506): 為虛擬執行緒提供新的執行緒局部變數模型,以安全、可擴展的方式共享不可變資料,解決 ThreadLocal 的缺點。
  • 效能和剖析器改進: 包括提前方法剖析 (JEP 515) 加速啟動、JFR 協作採樣 (JEP 518) 和方法計時與追蹤 (JEP 520) 提升可觀測性、精簡對象頭 (JEP 519) 減少記憶體開銷、以及分代 Shenandoah (JEP 521) 提升 GC 效率。
  • IntelliJ IDEA 提供相關的快速修復、即時模板和配置選項,以充分利用這些新功能。建議使用者儘早升級至 Java 25,以獲得語言和運行時的雙重優勢。

☸️ Kubernetes v1.34:將卷組快照移至 v1beta2

Source: https://kubernetes.io/blog/2025/09/16/kubernetes-v1-34-volume-group-snapshot-beta-2/

  • Kubernetes v1.34 將卷組快照 (Volume Group Snapshots) 功能推進到 v1beta2 階段,該功能自 Kubernetes 1.27 起作為 Alpha 特性引入,並在 1.32 版本達到 Beta。
  • 卷組快照依賴於一組擴展 API,允許使用者對一組卷進行崩潰一致性快照 (crash consistent snapshots),主要目標是支援將這些快照恢復到新卷,從而基於崩潰一致性恢復點來復原工作負載。
  • v1beta2 的主要更新: 解決了 Beta 版本中當 CSI 驅動程式未實現 ListSnapshots RPC 調用時,個別 VolumeSnapshotContentsVolumeSnapshotsrestoreSize 欄位未設置的問題。
  • 新增了 VolumeSnapshotInfo 結構,包含卷組快照成員的個別卷快照資訊;VolumeGroupSnapshotContentStatus 中的 VolumeSnapshotHandlePairList 被替換為 VolumeSnapshotInfoList
  • 現有的 v1beta1 API 物件將通過轉換 webhook 自動轉換為新的 v1beta2 API 物件,此功能目前僅支援 CSI 卷驅動程式。

☁️ 如何使用 Amazon Q Developer 從 Java 8 遷移到 Java 17+

Source: https://dzone.com/articles/upgrading-java-version-using-amazon-q-developer

  • 將 Java 應用程式從 Java 8 遷移到 Java 17+ 是一項重大挑戰,主要原因在於潛在的兼容性問題和語言規範的變更。
  • 隨著 Spring Framework 6.2.10 等新版本要求 Java 17 或更高版本作為基礎,遷移涉及大量的程式碼修改和嚴格的測試。
  • 文章介紹了 Amazon Q Developer,這是一個旨在協助開發者進行應用程式現代化的工具,以簡化 Java 版本升級過程。

📱 行動應用程式每週發布週期的實施

Source: https://dzone.com/articles/weekly-release-cycle-mobile-apps

  • 行動應用程式開發已從偶爾的大型更新轉變為使用者期望持續改進的階段,每週發布已成為常態。
  • 實施每週發布週期的目標是加速價值交付、更快修復錯誤,並在不犧牲品質的情況下維護用戶基礎。
  • 這種模式不只關乎提高程式碼編寫速度,更需改變應用程式的創建、測試、發布和監控流程,如 Instagram 和 Spotify 等公司已成功實施。

🧠 超越程式碼:如何使用 AI 現代化軟體架構

Source: https://dzone.com/articles/ai-modernize-software-architecture

  • 在 AI 驅動的程式碼工具(如 GitHub Copilot 和 Amazon Q)的推動下,企業團隊如今比以往任何時候都更頻繁地發布更多程式碼。
  • 然而,挑戰不僅限於程式碼生成,AI 也被視為在現代化軟體架構方面發揮關鍵作用,以應對更複雜的系統需求。

🔗 使用 AWS Step Functions 進行多代理(多功能)協調

Source: https://dzone.com/articles/multi-agent-multi-function-orchestration-with-aws

  • 利用 AWS Step Functions 進行多代理協調 (Multi-agent orchestration) 是一種強大的架構模式,用於將多個專門代理(如 Lambda 函數、微服務或專用 AI 模組)協調成統一且可擴展的工作流。
  • 這種方法特別適用於需要多個自主代理協同工作的複雜任務,且無需硬編碼其交互,從而簡化開發並增強可靠性和可擴展性。
  • 實施多代理協調可帶來多重效益,包括提高效率和生產力、增強決策、改善客戶體驗、提高適應性和可擴展性,並降低運營成本。

🛡️ 保護非人類身份:為何現在工作負載 MFA 和動態身份至關重要

Source: https://dzone.com/articles/protecting-non-human-identities

  • 雖然多因素身份驗證 (MFA) 對人類使用者而言已是常態,但現代基礎設施中大多數互動是由非人類實體(如服務、微服務、容器化工作負載、無伺服器函數和 AI 代理)發起的。
  • 這些非人類系統通常仍依賴單一因素(秘密)進行身份驗證,這在當今的威脅環境下構成重大安全風險。
  • 文章強調,對於保護這些非人類身份而言,實施工作負載 MFA (Workload MFA) 和動態身份管理變得日益重要,以建立更強大的分層安全防禦。

🤖 使用 AI 代理自動化 RCA 和決策支持

Source: https://dzone.com/articles/automating-rca-and-decision-support-using-ai-agent

  • 在 AI 蓬勃發展的趨勢下,幾乎所有企業都在尋求創新並自動化其內部業務流程或前端消費者體驗。
  • 傳統的商業智慧 (BI) 工具需要手動查詢和解釋數據,導致效率低下,而 AI 代理正改變這一範式。
  • AI 代理能夠自動化數據分析,提供預測性洞察,甚至根據實時數據自主執行操作,從而提高效率並支持更快速準確的決策。
  • 儘管人類設定目標,但 AI 代理將自主決定實現這些目標的最佳行動方案。

💾 TBMQ 如何使用 Redis 進行持久化消息儲存

Source: https://dzone.com/articles/tbmq-redis-persistent-message-storage

  • TBMQ 專為聚合 IoT 設備數據並可靠地傳輸至後端應用程式而設計,利用 Redis 實現了持久化消息儲存,特別是用於標準 IoT 設備(在 TBMQ 中稱為 DEVICE 客戶端)。
  • 應用程式客戶端則依賴 Kafka 進行會話持久化和消息傳遞,以應對其對數據訂閱和高可靠性的需求。
  • 這種設計解決了頻繁發布數據的 IoT 設備與訂閱少量主題的應用程式之間的差異,確保即使在應用程式停機期間也能可靠地傳遞消息。

⚛️ 幾何深度學習:超越文本和圖像的 AI

Source: https://dzone.com/articles/geometric-deep-learning-ai

  • 傳統深度學習技術在處理圖像和文本等結構化數據方面表現出色,但在面對分子和網絡數據等不規則、複雜數據時往往力不從心。
  • 幾何深度學習 (Geometric Deep Learning, GDL) 是一種機器學習方法,專為解決不規則和複雜數據結構的問題而設計。
  • GDL 擴展了傳統深度學習方法,以處理非歐幾里得數據(不符合常規網格狀或固定結構的數據),專注於理解數據點之間的關係,而非其特定的空間排列。
  • 這使得 GDL 在分析分子化合物、社交網絡和網格等複雜結構時特別強大,因為這些結構中元素之間的連接比其具體位置更重要。

🌐 超大規模分散式系統

Source: https://dzone.com/articles/super-massively-distributed-systems

  • 文章指出,以消息代理為基礎的事件驅動架構 (event-driven architecture),雖然能將 JSON 動態傳輸到不同客戶端,但存在嚴重問題。
  • 這種方法要求網路中每個「服務」的創建者預先預測所有未來潛在客戶在無限時間內的無限種可能問題和使用需求。
  • 這被描述為「笨拙、次優且不可能」的設計,導致整個網際網路比其應有的「智慧」程度低了萬億倍,暗示著當前分散式系統在預測和靈活性方面存在根本性缺陷。

🚨 @ctrl/tinycolor 及 40+ NPM 套件遭入侵

Source: https://www.stepsecurity.io/blog/ctrl-tinycolor-and-40-npm-packages-compromised

  • 廣受歡迎的 @ctrl/tinycolor NPM 套件(每週下載量超過 200 萬次)以及其他 40 多個 NPM 套件,在一次被稱為「Shai-Hulud」的複雜供應鏈攻擊中遭到入侵。
  • 惡意軟體會在維護者套件之間自我傳播,利用 TruffleHog 竊取 AWS/GCP/Azure 憑證,並透過 GitHub Actions 後門建立持久性。
  • 此次攻擊代表 NPM 生態系統面臨的威脅顯著升級,突顯了軟體供應鏈安全日益嚴峻的挑戰。