跳至主要内容

TechSummary 2025-09-18

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

🚀 將 GitHub Copilot 編碼代理更深入地整合到您的工作流程的 5 種方法

Source: https://github.blog/ai-and-ml/github-copilot/5-ways-to-integrate-github-copilot-coding-agent-into-your-workflow/

  • GitHub Copilot 編碼代理不僅限於基礎任務指派與 PR 審核,本教學將探討五種策略,將其更深入地整合到開發工作流程中。
  • 透過代理面板處理技術債務: 將重複但必要的任務(如依賴升級、小型重構)批次交給 Copilot 處理,讓開發者專注於功能開發。
    • 任務範例:
      “Update the extension manifest to support VS Code 1.104”
      “Add TypeScript strict mode and fix all resulting type errors”
  • 使用 Playwright MCP 驗證 UI 變更: Copilot 可透過 Playwright MCP 伺服器整合,自動啟動應用程式、與其互動並截圖,以便在 PR 中直接審核 UI 變更。
    • 任務範例:
      “Add internationalization support for English, French, and Spanish.”
  • 安全地試驗分支策略: Copilot 支援從任意分支作為起點建立 copilot/ 分支進行實驗,並開啟草稿 PR 供審閱與回饋,無需影響主分支。
  • 選擇正確的任務入口點: 針對不同情境選擇最適合的入口點,例如:代理面板適用於瀏覽 GitHub 時的臨時任務;GitHub Issues 適用於團隊追蹤工作;VS Code 適用於即時重構;GitHub Mobile 適用於離線小任務。
  • 使用 MCP 伺服器擴展 Copilot 編碼代理: 除了內建的 Playwright 和 GitHub MCP,還可透過自訂 MCP 伺服器(如 Notion MCP、Hugging Face MCP)提供更多上下文,提升 Copilot 的智慧,並可透過開源 MCP Registry 發現或發佈整合。

🤖 使用 cagent 建構與分發 AI 代理及工作流程

Source: https://www.docker.com/blog/cagent-build-and-distribute-ai-agents-and-workflows/

  • cagent 是 Docker 推出的一個開源專案,簡化了 AI 代理的建構、運行和共享過程,無需編寫程式碼,只需透過單一 YAML 檔案定義代理的行為、工具和角色。
  • cagent 支援使用 OCI 註冊表來共享和提取社群建立的代理,有效解決了代理的建立和分發問題。
  • 核心功能:
    • 宣告式與簡潔: 透過 YAML 檔案定義模型、指令和代理行為,使代理具備可移植性、易於版本控制和共享。
    • 靈活的模型支援: 支援遠端模型或透過 Docker Model Runner 運行本地模型,提升隱私性。
    • 強大的工具整合: 內建常用工具(如 shell 指令、檔案系統存取),並透過 MCP 支援外部工具,可連接幾乎任何 API。
    • 多代理系統: 支援定義代理團隊,各具專業技能和工具,可協同合作並委派任務。
  • 實際應用案例:
    • GitHub 任務追蹤器: 將 GitHub 儲存庫的 Issues 作為待辦事項清單,由 AI 代理管理、創建、列出和關閉 Issue。
      version: "2"
      models:
      gpt:
      provider: openai
      model: gpt-5
      max_tokens: 64000
      agents:
      root:
      model: gpt
      description: "GitHub Issue Manager - An agent that connects to GitHub to use a repo as a todo-list"
      instruction: |
      You are a to-do list agent, and your purpose is to help users manage their tasks in their "todo" GitHub repository.
      ...
      add_date: true
      toolsets:
      - type: mcp
      command: docker
      args: [mcp, gateway, run]
      tools:
      [
      "get_me", "add_issue_comment", "create_issue", "get_issue",
      "list_issues", "search_issues", "update_issue",
      ]
    • Advocu Captains 代理: 透過自訂 MCP 伺服器整合 Advocu 平台,查詢 Docker Captains 的資訊及其近期貢獻。
      #!/usr/bin/env cagent run
      version: "2"
      agents:
      root:
      model: anthropic/claude-sonnet-4-0
      description: Agent to help with finding information on Docker Captains and their recent contributions to Docker
      toolsets:
      - type: mcp
      command: docker
      args:
      - run
      - -i
      - --rm
      - --env-file
      - ./.env
      - olegselajev241/mcp-advocu:stdio
      instruction: You have access to Advocu - a platform where Docker Captains log their contributions. ...
  • cagent 讓開發者能以 Docker 原生方式,輕鬆管理系統提示、模型整合及正確工具,加速建立客製化 AI 助理。

🤝 Docker 與 CNCF:攜手推動開源的未來

Source: https://www.docker.com/blog/docker-cncf-partnership/

  • Docker 宣布與 Cloud Native Computing Foundation (CNCF) 建立正式合作夥伴關係,此舉不僅為開源專案帶來資源,更體現 CNCF 認可 Docker 為領先的容器化軟體分發平台,以及現代軟體供應鏈安全值得信賴的夥伴。
  • Docker Hub 是全球使用最廣泛的容器註冊表,每月服務超過 220 億次映像下載,託管超過 1,400 萬個映像。
  • 此合作夥伴關係的重要性:
    • CNCF 專案透過 Docker Sponsored Open Source (DSOS) 計劃,可獲得專屬的 Docker 服務套件,包含無限映像提取、專屬 OSS 狀態以提升信任和可發現性、Docker 使用指標與參與洞察、以及透過 Docker 開源管道提供的簡化支援。
    • Docker 將被列為 CNCF 專案服務頁面上的官方服務提供商,提升其工具和服務的可發現性。
    • CNCF 專案將獲得 Docker Scout 的無限存取權,這是一個映像分析和策略評估工具,有助於檢測漏洞、執行策略並維護安全的容器。
    • 提供自動化構建 (Docker autobuilds),實現從原始碼自動建立映像。
    • 透過 Docker Scout 和 Docker Hardened Images 等工具,Docker 強化了開源供應鏈的安全性。

💡 Docker Model Runner 全面上市 (GA)

Source: https://www.docker.com/blog/announcing-docker-model-runner-ga/

  • Docker Model Runner (DMR) 現已全面上市 (GA),旨在讓開發人員輕鬆管理、運行和分發本地 AI 模型(特別是 LLM)。
  • DMR 專為開發人員設計,可從 Docker Hub(OCI 兼容格式)或 HuggingFace(GGUF 格式模型會即時打包為 OCI Artifacts)提取、運行和分發 LLM。
  • 與 Docker Desktop 和 Docker Engine 緊密整合,DMR 透過 OpenAI 兼容 API 提供模型服務,並可透過命令列、圖形介面或 REST API 進行互動。
  • 開發人員最喜愛的 11 大功能:
    • 基於 llama.cpp (未來將支援 MLX 或 vLLM)。
    • 支援 macOS (Apple Silicon) 和 Windows (NVIDIA GPU) 上的 GPU 加速,以及原生 Linux 支援。
    • 提供 CLI 和 Docker Desktop UI 介面,具引導式新手入門。
    • 靈活的模型分發 (Docker Hub OCI,HuggingFace GGUF)。
    • 開源免費,在隔離環境中運行,提供安全性和控制 (沙盒機制)。
    • 可配置的推論設置(上下文長度、llama.cpp 運行時參數)。
    • 內建請求/響應追蹤和檢查功能,便於調試和優化。
    • 與 Docker 生態系統(Compose、Offload、Testcontainers)整合。
    • Docker Hub 上提供策展過的熱門 AI 模型目錄。
  • 未來展望: 簡化使用者體驗(更豐富的回應渲染、多模態支援、MCP 整合)、性能增強(更多推論函式庫、模型級別配置、獨立部署)、無縫新手入門(逐步引導、範例應用),以及持續更新模型目錄。

🗓️ JetBrains .NET Days Online 2025 活動公告

Source: https://blog.jetbrains.com/dotnet/2025/09/18/announcing-jetbrains-net-days-online-2025/

  • JetBrains .NET Days Online 2025 是一個免費的線上活動,專為 .NET 社群舉辦。
  • 日期:2025 年 10 月 8 日至 9 日。
  • 地點:線上直播,設有即時聊天室。時區為中歐夏季時間 (CEST, UTC+2:00)。
  • 所有會議內容將在活動結束後提供隨選觀看。
  • 議程亮點包括:
    • 使用 .NET Aspire 輕鬆構建分散式系統 – Jason Taylor
    • ASP.NET Core 的 Clean Architecture – Steve Smith
    • #nullable enable – 釋放 C# 可空性的力量 – Maarten Balliauw
    • 為您的架構選擇正確的訊息解決方案 (訊息佇列) – Poornima Nayar
    • 使用 Semantic Kernel 和 .NET Aspire 構建可擴展的 GenAI 應用程式 – Mehdi Hadeli
    • Blazor 的測試驅動開發 (TDD) – Scott Sauber
    • 我們如何在 5 分鐘內發現 2 GB/天的記憶體洩漏 – dotMemory 遇上 Akka.NET – Aaron Stannard

🛠️ ReSharper 與 Rider 2025.2 的更多更新與修復

Source: https://blog.jetbrains.com/dotnet/2025/09/18/resharper-rider-2025-2-2/

  • JetBrains 發布 ReSharper 2025.2.2 和 Rider 2025.2.2 的第二批更新和錯誤修復。
  • ReSharper 2025.2.2 亮點:
    • 為 Visual Studio 2026 提供了輕量級遷移擴展,確保升級後的無縫過渡。
    • 支援 xUnit v3 3.x,解決了從早期版本升級時的兼容性問題。
    • "Search Everywhere" 對話框在 Out-of-Process 模式下會自動填充編輯器中選定的文本。
    • 修正了 C# 程式碼中有效 XML 文件引用報告為 "Cannot resolve symbol" 的誤報。
    • 從 License Vault 獲取的許可證再次在 Visual Studio 啟動時自動應用。
  • Rider 2025.2.2 亮點:
    • Junie(AI 編碼代理)結束 Beta 階段: 現在為 Rider 中所有支援的語言和技術提供穩定支援。
    • .NET Aspire 支援: 內置的 .NET Aspire 插件新增 Add .NET Aspire Orchestration 動作,可直接從 IDE 建立、運行和管理 Aspire 專案。
    • 主要修復包括:修正 .NET 運行配置的工作目錄問題、運行配置中「Deployment mode」下拉菜單消失問題、C# 程式碼自動完成時崩潰問題、XML 文件引用誤報、方法參數的「Flip context」動作,以及 Xbox 上的運行和調試穩定性。

⚙️ Kubernetes v1.34: DRA 可消耗容量

Source: https://kubernetes.io/blog/kubernetes-v1-34-dra-consumable-capacity/

  • Kubernetes 1.34 引入了動態資源分配 (DRA) 的「可消耗容量」(Consumable Capacity) 功能 (Alpha 階段),以支援更細粒度的設備共享。
  • 背景: DRA 透過 ResourceClaims 實現資源請求和設備共享,v1.33 引入了可分區設備。可消耗容量進一步支援驅動程式根據使用者需求動態管理設備資源的細粒度部分,例如網路頻寬。
  • 可消耗容量支援的優勢:
    • 跨多個 ResourceClaims 或 DeviceRequests 共享設備: 允許來自不同命名空間的 Pod 同時共享同一個設備或設備切片。
    • 設備資源分配: 調度器會擴展其分配演算法,以支持分配設備資源的特定部分,確保總分配容量不超過設備總容量,即使跨多個 ResourceClaims 或 DeviceRequests 共享。這對於虛擬 GPU 的記憶體分配或虛擬網路介面的頻寬限制非常有用。
    • DistinctAttribute 約束: 引入新的 DistinctAttribute 約束,防止在單個 ResourceClaim 中多次分配相同的底層設備,確保每次分配都指向一個獨特的資源。
  • 如何使用 (需啟用 DRAConsumableCapacity=true 功能門控):
    • DRA 驅動開發者:ResourceSlice 中將設備的 AllowMultipleAllocations 設為 true。並在 DeviceCapacity 中定義 RequestPolicy,規範設備容量如何被每個 DeviceRequest 消耗 (例如 GPU 記憶體請求至少 5GiB,且以 5GiB 為步長)。
      Device {
      ...
      AllowMultipleAllocations: ptr.To(true),
      ...
      }
      DeviceCapacity{
      Value: resource.MustParse("40Gi"),
      RequestPolicy: &CapacityRequestPolicy{
      Default: ptr.To(resource.MustParse("5Gi")),
      ValidRange: &CapacityRequestPolicyRange {
      Min: ptr.To(resource.MustParse("5Gi")),
      Step: ptr.To(resource.MustParse("5Gi")),
      }
      }
      }
      ShareID (位於 claim.Status.Allocation.Devices.Results[i].ShareID) 用於區分指向相同設備或靜態分區切片的不同分配。
    • 使用者: 透過 ResourceClaim 請求指定容量的設備。可使用 CEL 表達式 device.allowMultipleAllocations == true 來篩選支援多重分配的設備。
      apiVersion: resource.k8s.io/v1
      kind: ResourceClaim
      ...
      spec:
      devices:
      requests: # for devices
      - name: req0
      exactly:
      - deviceClassName: resource.example.com
      capacity:
      requests: # for resources which must be provided by those devices
      memory: 10Gi
  • 與 DRA 設備狀態的整合 (需啟用 DRAResourceClaimDeviceStatus 功能門控) 允許驅動程式暴露額外的動態資訊,如分配的 IP 位址。

🐞 LLM 協助程式碼偵錯

Source: https://dzone.com/articles/llms-for-debugging-code

  • 大型語言模型 (LLM) 正在轉變軟體開發生命週期,其用途涵蓋程式碼理解、程式碼生成和偵錯等領域。
  • LLM 已經證明其在各種程式碼相關任務中的卓越性能,包括程式碼生成和翻譯,並為 GitHub Copilot 和 Cursor 等 AI 編碼助手提供支援。
  • 儘管存在幻覺等問題,但將 LLM 透過複雜的代理式偵錯框架整合到開發環境中,已證明能顯著提高開發人員的效率。
  • 本文深入探討 LLM 在程式碼偵錯方面的核心功能、訓練方法,以及未來應用的演變。

💾 在 JDK 中 CPU 和記憶體節點不對齊時禁用 UseNUMA 標誌

Source: https://dzone.com/articles/usenuma-flag-misalignment-jdk

  • Java 仍是廣泛使用的語言,因此衡量其性能至關重要。
  • 在多 NUMA (Non-Uniform Memory Access) 記憶體節點上運行 Java 應用程式時,若存在遠端存取,可能導致延遲增加,進而降低性能。
  • libnuma 核心函式庫提供了多種策略(例如 localalloc、preferred、membind 和 interleave),讓使用者能根據需求對應用程式進行親和性設置,以最佳化伺服器節點的利用率。
  • 在 CPU 和記憶體節點不對齊時,禁用 JDK 的 UseNUMA 標誌有助於避免性能下降。

🧠 代理式 AI 的藍圖:Azure AI Foundry、AutoGen 及未來趨勢

Source: https://dzone.com/articles/blueprint-agentic-ai-azure-foundry-autogen

  • 2025 年的 AI 發展趨勢已超越單一模型執行單一任務的範疇,轉向智慧代理協同工作的多代理系統。
  • 這意味著一群各具專長的 AI 系統,能夠協同合作,即時解決複雜問題。
  • Azure AI Foundry 和 AutoGen 是推動這一轉變的關鍵工具。
  • 本文將探討如何利用這些平台構建代理式 AI 系統的藍圖。

📱 遠端 Android 管理:一步步指南

Source: https://dzone.com/articles/remote-android-management-guide

  • 許多人在睡前觀看 YouTube 影片或串流媒體,尤其是兒童,可能因音量失控而影響睡眠品質。
  • Google Play 商店中的免費音量限制或控制應用程式通常不穩定或功能不足。
  • 作為一名家長和開發者,作者親身經歷了這個問題,凸顯了開發可靠遠端 Android 管理解決方案的迫切需求。
  • 本文提供了一份逐步指南,旨在解決 Android 設備的遠端管理問題,特別是針對音量控制或類似的家長控制需求。

🗣️ FOSDEM 2025 回顧:開源貢獻者齊聚合作,推動 Apache 軟體專案發展

Source: https://dzone.com/articles/fosdem-2025-recap-apache-software

  • FOSDEM 2025 已圓滿落幕,Apache Software Foundation (ASF) 的成員、提交者和貢獻者積極參與並分享了豐富的內容。
  • ASF 參與者分享了本次頂級自由軟體活動的摘要和觀察,展示了 ASF 社群成員為開源軟體發展所做的部分工作。
  • 回顧中提及了演講:「開源專案的 SBOM 歷程 – Apache NuttX RTOS」(附影片連結)。
  • 此部落格提供了演講概述和影片連結。

🛍️ 透過微前端架構實現統一的結帳體驗

Source: https://dzone.com/articles/unified-checkout-experience-microfrontend-architecture

  • 現今的大型零售系統 (如 Walmart) 在各服務 (藥房、汽車護理、加油站、照相中心等) 運行多種結帳系統,導致結帳解決方案碎片化。
  • 這種碎片化問題造成使用者體驗不一致、員工培訓成本高昂以及開發週期延長。
  • 因此,迫切需要一種統一的微應用程式結帳體驗,該體驗能抽象底層服務的複雜性,並為客戶和員工提供一致的介面。
  • 微前端架構被視為實現這種統一結帳體驗的關鍵解決方案。

☁️ 為資料庫管理系統建立分散式運算叢集:第一部分

Source: https://dzone.com/articles/creating-dcc-for-dbms-part-1

  • 長期以來,為資料庫管理系統 (DBMS) 建立分散式運算叢集 (DCC) 的構想一直備受關注。
  • 簡而言之,DCC 軟體能將多個伺服器組合成一個「超級伺服器」(叢集),並在各個伺服器之間均勻地平衡所有查詢。
  • 對於在 DCC 上運行的應用程式來說,它就像在一個伺服器和一個資料庫上運行一樣,所有的網路協定、複製交換和代理重定向都將隱藏在 DCC 內部。
  • 目標是均勻且高效地利用分散式伺服器的所有資源,特別是 RAM 和 CPU 時間。
  • DCC 技術的意義在於,它允許將多個實體伺服器合併為一個虛擬的 DBMS 超級伺服器,這與在雲端資料處理中心將一個實體超級伺服器劃分為多個虛擬 DBMS 伺服器形成對比。

⚙️ 系統配置管理發展:總結與反思

Source: https://dzone.com/articles/system-configuration-management-summary-reflections

  • 本文是「系統配置管理發展」多部分系列文章的第四部分。
  • 內容重點為對系統配置管理發展的總結和反思。

🔒 介紹 StepSecurity 威脅情報:為您的 SIEM 提供即時供應鏈攻擊警報

Source: https://www.stepsecurity.io/blog/introducing-stepsecurity-threat-intelligence-real-time-supply-chain-attack-alerts-for-your-siem

  • StepSecurity 威脅情報 (Threat Intelligence) 提供即時供應鏈攻擊警報,保護您的軟體供應鏈。
  • 透過提供受損套件的即時警報,確保軟體供應鏈安全。
  • 具備與 SIEM (Security Information and Event Management) 無縫整合的功能。
  • 提供可操作的情報,以縮短平均檢測時間 (MTTD) 和平均恢復時間 (MTTR)。