跳至主要内容

17 篇文章 含有標籤「LLM」

檢視所有標籤

TechSummary 2025-09-04

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

💡 使用 MCP 引導機制打造更智能的互動:從繁瑣的工具呼叫到流暢的使用者體驗​

Source: https://github.blog/ai-and-ml/github-copilot/building-smarter-interactions-with-mcp-elicitation-from-clunky-tool-calls-to-seamless-user-experiences/

  • 本文探討了如何透過 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 配置範例:
    models:
    worker:
    model: ai/llama3.2
    context_size: 10000
    此配置可啟動一個運行 Llama 3.2 模型並擁有 10k 上下文視窗的本地 worker。
  • 權衡: 儘管顯著降低雲端成本,但由於任務拆分、本地處理和聚合,回應時間可能會較慢(約 10 倍)。

🔍 靜態程式碼分析提升開發者體驗的五種方式​

Source: https://blog.jetbrains.com/qodana/2025/09/improve-developer-experience/

  • 靜態程式碼分析 (Static Code Analysis) 是一種強大的工具,無需運行程式碼即可檢查潛在問題,從而減少開發人員的摩擦,使他們能更專注於解決問題。
  • 提升開發者體驗的五種方式:
    1. 更快的反饋循環: 直接整合到開發環境或 CI/CD 管線中,提供即時的錯誤、風格違規和安全漏洞洞察,讓開發者在編碼時就能即時修復問題。
    2. 降低認知負荷: 作為安全網,自動捕捉程式碼標準違規、不安全結構,並提醒最佳實踐,減少記憶所有規範的心理負擔。
    3. 改進程式碼品質和一致性: 強制專案的編碼標準,確保一致性和可讀性;檢測常見錯誤模式,如空指針解引用、未初始化變數。
    4. 整個生命週期的時間節省: 在開發早期階段捕獲問題,大幅降低發布後修復缺陷的成本;透過預過濾瑣碎問題,讓程式碼審查更專注於架構和邏輯。例如,Qodana 提供的快速修復功能能節省大量時間。
    5. 與現代開發者體驗工具整合: 與 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 動作或開啟擴充功能選單後可能凍結的問題。
      • 恢復了異步上下文中程式碼自動完成的正確行為。
  • 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 下載最新版本。

🗓️ JetBrains JavaScript Day 2025 開放報名​

Source: https://blog.jetbrains.com/webstorm/2025/09/jetbrains-javascript-day-2025-registration-is-now-open/

  • JetBrains 宣布第五屆年度 JavaScript Day 免費線上活動已開放報名。
  • 活動資訊:
    • 日期: 2025 年 10 月 2 日
    • 時間: 美東時間上午 9:00 / 中歐夏令時間下午 3:00
    • 地點: 線上舉行
    • 費用: 免費
  • 活動內容: 將匯集 JavaScript 領域具啟發性的講者,分享他們的故事、想法和經驗教訓,提供實用的見解,幫助參與者在快速發展的 JavaScript 生態系統中保持領先。
  • 部分講者與主題包括:
    • Craig Spence: Quantumania.js
    • Alexander Lichter: Faster Builds and Fewer Headaches with Modern JavaScript Tooling
    • Victor Savkin: Beyond Build Orchestration: What It Takes to Build Modern JavaScript Monorepos
    • Kent C. Dodds: The New User Interaction Model
    • Ryan Carniato: Beyond Signals
    • Jan-Niklas Wortmann: JetBrains Doesn’t Want Me To Give This Talk
    • Lydia Hallie: Bun: The Fast JavaScript Runtime
    • Jessica Janiuk: Tough Decisions: the complexities of maintaining a popular open source project

✨ Kotlin 2.2 改善註解處理:減少樣板程式碼,減少意外​

Source: https://blog.jetbrains.com/idea/2025/09/improved-annotation-handling-in-kotlin-2-2-less-boilerplate-fewer-surprises/

  • Kotlin 2.2 針對註解處理進行了改進,解決了與 Spring 或 JPA 等框架協作時,註解行為可能不如預期的問題,減少了樣板程式碼並帶來更可預測的行為。
  • 過去問題: 在 Kotlin 2.2 之前,諸如 @NotBlank 或 @Email 等註解若應用於建構函式參數,預設只會應用到參數本身 (@param)。這意味著屬性驗證只在物件首次創建時發生,而不會在後續屬性更新時觸發。
    public class Order {
    @Id @GeneratedValue private final long id;
    @NotNull private String name;
    @NotNull private String email;
    public Order(long id, @NotBlank @NotNull String name, @Email @NotNull String email) { /* ... */ }
    }
  • 舊的解決方案: 必須明確指定 use-site target,如使用 @field: 來確保註解應用於底層欄位或屬性,這增加了程式碼的冗餘。
    @Entity
    class Order(
    @field:Id @GeneratedValue val id: Long,
    @field:NotNull var name: String,
    @field:Email var email: String
    )
  • Kotlin 2.2 的新預設行為:
    • 自 Kotlin 2.2 起,沒有明確指定 use-site target 的註解將同時應用於建構函式參數和屬性/欄位,與大多數框架的預期行為保持一致。
    • 原始的簡潔程式碼現在能如預期般工作,無需額外的 @field: 語法。
    @Entity
    class Order(
    @Id @GeneratedValue val id: Long,
    @NotBlank var name: String,
    @Email var email: String
    )
  • 如何啟用新行為:
    • 需要 Kotlin 2.2。預設情況下,編譯器會針對行為可能改變的程式碼發出警告。
    • 在 build.gradle.kts 中添加以下編譯器選項以完全啟用新行為:
      kotlin {
      compilerOptions {
      freeCompilerArgs.add("-Xannotation-default-target=param-property")
      }
      }
    • 若想保留舊行為或過渡模式,可使用 -Xannotation-defaulting=first-only 或 -Xannotation-defaulting=first-only-warn。
  • 重要性: 此改變使註解行為更具可預測性,減少樣板程式碼,並消除了 Spring 和 JPA 開發人員多年來面臨的一類潛在錯誤,提升了 Kotlin 與主流框架的整合體驗。

🤝 如何利用 AI 增強 Scrum 儀式​

Source: https://dzone.com/articles/ai-enhance-scrum-ceremonies

  • Scrum 作為主流的敏捷開發方法,其核心儀式包括衝刺規劃、每日站會、衝刺審查和衝刺回顧,旨在促進協作、對齊和交付。
  • Gartner 的報告指出,87% 執行敏捷開發的組織採用 Scrum。
  • 人工智慧 (AI) 透過應用進階分析和基於邏輯的技術(包括機器學習),可以解釋事件、支持和自動化決策並採取行動,從而增強這些 Scrum 儀式,提升其效率和洞察力。

🔒 在 LLM 應用中保護 PII:資料匿名化的完整指南​

Source: https://dzone.com/articles/llm-pii-anonymization-guide

  • 組織渴望利用大型語言模型 (LLM) 解決業務問題,但對於將敏感資料(特別是個人身份資訊 PII)傳輸到第三方託管模型存在顧慮。
  • 本文探討了一種強大的緩解技術:資料匿名化 (anonymization) 與去匿名化 (de-anonymization),以在保護敏感資料的同時,有效利用企業環境中的 LLM。

🔗 供應鏈攻擊時代的 CI/CD:如何保護每個提交​

Source: https://dzone.com/articles/ci-cd-pipeline-security-supply-chain

  • 數位基礎設施的脆弱性日益顯現,一次受損的依賴、惡意提交或被忽視的漏洞都可能導致整個系統崩潰。例如,2024 年 3 月發現的 XZ Utils 後門事件,凸顯了精心策劃的供應鏈攻擊對開源開發基礎的威脅。
  • 本文強調在 CI/CD (持續整合/持續交付) 管道中保護每一個提交的重要性,呼籲業界應將供應鏈安全視為必須解決的關鍵問題,以應對日益複雜的網路攻擊。

🤔 建立 AI 代理前需問的 5 個關鍵問題​

Source: https://dzone.com/articles/agentic-ai-questions-adoption

  • 代理式 AI (Agentic AI) 正在改變遊戲規則,但公司在急於建構或部署 AI 代理之前,必須提出一些關鍵問題。
  • 並非所有問題都需要 AI 代理來解決,如果沒有正確的基礎,尤其是在資料方面,代理式 AI 可能會迅速變成一個昂貴且高風險的錯誤。
  • 本文旨在引導組織在自動化代理式 AI 之前進行深思熟慮的規劃,避免資源浪費和錯失機會。

💰 手動 K8s 成本優化的無止境循環耗費組織巨大成本​

Source: https://dzone.com/articles/the-endless-cycle-of-manual-k8s-cost-optimization

  • Kubernetes (K8s) 的開發人員和 DevOps 團隊通常將重心放在效能上,而對成本方面關注較少。當工作負載運行順暢並符合服務級別協議 (SLA) 時,預算考量往往退居次位,直到外部壓力(通常來自財務團隊)要求進行優化。
  • 然而,忽略成本直到財務介入的現實,會導致效率低下和資源浪費,最終耗費大量時間和精力於成本優化,這些時間本可以用於其他戰略性計畫。這強調了需要更主動、系統化的 K8s 成本管理方法。

🚀 將 AI 帶出孤島——為何團隊經驗超越開發者工具​

Source: https://dzone.com/articles/rethinking-ai-team-productivity

  • 許多 AI 實作僅專注於單一步驟的局部優化,而忽略了團隊協作的整體情境。本文認為,在設計產品時,最佳方法是重新構想問題,而非僅做漸進式改進。
  • 質疑為何在 AI 作為近年來最大的技術創新時,許多產品卻仍專注於單獨改進每個步驟,而不是從團隊協作的角度來完成工作。
  • 提倡將 AI 應用從孤立的個人工具提升到促進團隊生產力和整體體驗的層面,強調團隊經驗在充分發揮 AI 潛力方面的重要性。

TechSummary 2025-09-03

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

🤖 撰寫 Copilot 自訂指令的 5 個技巧​

Source: https://github.blog/ai-and-ml/github-copilot/5-tips-for-writing-better-custom-instructions-for-copilot/

  • Copilot 指令文件 (copilot-instructions.md) 至關重要,它能為 Copilot 提供專案的必要上下文,如同新人入職時的背景知識,有助於避免混淆和錯誤。
  • 專案概覽: 指令文件應以專案的「電梯簡報」開頭,簡潔描述應用程式的目標、受眾和主要功能。
    # Contoso Companions

    This is a website to support pet adoption agencies. Agencies are onboarded into the application, where they can manage their locations, available pets, and publicize events. Potential adoptors can search for pets available in their area, discover agencies, and submit adoption applications.
  • 技術棧識別: 明確列出專案使用的後端、前端技術、API 和測試套件,並可簡要說明其用途,幫助 Copilot 理解開發環境。
    ## Tech stack in use

    ### Backend

    - Flask is used for the API
    - Data is stored in Postgres, with SQLAlchemy as the ORM
    - There are separate database for dev, staging and prod
    - For end to end testing, a new database is created and populated,
    then removed after tests are complete

    ### Frontend

    - Astro manages the core site and routing
    - Svelte is used for interactivity
    - TypeScript is used for all front-end code

    ### Testing

    - Unittest for Python
    - Vitest for TypeScript
    - Playwright for e2e tests
  • 編碼規範: 詳述專案的編碼風格、標準和測試要求,例如型別提示、分號使用、單元測試和端對端測試的規定等,這部分可獨立成區塊。
    ## Project and code guidelines

    - Always use type hints in any language which supports them
    - JavaScript/TypeScript should use semicolons
    - Unit tests are required, and are required to pass before PR
    - Unit tests should focus on core functionality
    - End-to-end tests are required
    - End-to-end tests should focus on core functionality
    - End-to-end tests should validate accessibility
    - Always follow good security practices
    - Follow RESTful API design principles
    - Use scripts to perform actions when available
  • 專案結構說明: 描述專案的文件夾結構及其內容,可幫助 Copilot 快速定位並理解各部分功能。
    ## Project structure

    - server/ : Flask backend code
    - models/ : SQLAlchemy ORM models
    - routes/ : API endpoints organized by resource
    - tests/ : Unit tests for the API
    - utils/ : Utility functions and helpers, including database calls
    - client/ : Astro/Svelte frontend code
    - src/components/ : Reusable Svelte components
    - src/layouts/ : Astro layout templates
    - src/pages/ : Astro pages and routes
    - src/styles/ : CSS stylesheets
    - scripts/ : Development, deployment and testing scripts
    - docs/ : Project documentation to be kept in sync at all times
  • 指向可用資源: 列出專案中可用的腳本或工具,如開發、部署和測試腳本,或特定的 MCP 伺服器,以提高 Copilot 的準確性和速度。
    ## Resources

    - scripts folder
    - start-app.sh : Installs all libraries and starts the app
    - setup-env.sh : Installs all libraries
    - test-project.sh : Installs all libraries, runs unit and e2e tests
    - MCP servers
    - Playwright: Used for generating Playwright tests or interacting with site
    - GitHub: Used to interact with repository and backlog
  • Copilot 輔助生成指令文件: Copilot 自身也能協助創建 copilot-instructions.md 文件,提供標準化的提示範本,幫助開發者釐清專案目標。
    Your task is to "onboard" this repository to a coding agent by adding a .github/copilot-instructions.md file. It should contain information describing how the agent, seeing the repo for the first time, can work most efficiently.
    ...
    ## Guidance

    Ensure you include the following:

    - A summary of what the app does.
    - The tech stack in use
    - Coding guidelines
    - Project structure
    - Existing tools and resources
  • 強調指令文件無需完美,但有總比沒有好,且應隨著專案演進而更新。

TechSummary 2025-09-02

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

🚀 AI 驅動的規範式開發:GitHub 開源工具包 Spec Kit 入門​

Source: https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-new-open-source-toolkit/

  • 挑戰與解決方案: 隨著 AI 程式碼生成工具日益強大,傳統的「憑感覺寫程式」(vibe-coding) 方式常導致程式碼無法編譯或未能完全符合需求。GitHub 提出「規範式開發」(Spec-driven development),將規範視為活生生的可執行文件,作為工具與 AI 代理生成、測試、驗證程式碼的單一事實來源。
  • Spec Kit 工具包: GitHub 開源工具包 Spec Kit 旨在將規範式開發引入 AI 程式碼生成工作流程,支援 GitHub Copilot、Claude Code 和 Gemini CLI 等工具。
  • 四階段開發流程:
    1. Specify (規範): 提供高層次的「是什麼」和「為什麼」,AI 生成詳細的用戶旅程和預期成果規範。
    2. Plan (規劃): 提供技術棧、架構和限制,AI 生成全面的技術實作計劃。
    3. Tasks (任務): AI 將規範與計劃分解為可單獨實作與測試的小型任務。例如,從「建置認證」變成「創建驗證電子郵件格式的用戶註冊端點」。
    4. Implement (實作): AI 根據任務逐一生成程式碼,開發者審查針對特定問題的精確變更。
  • 核心優勢:
    • 意圖即真理: 從「程式碼是真理來源」轉變為「意圖是真理來源」,使規範可執行並自動轉化為工作程式碼。
    • 減少猜測: 明確的規範、技術計劃和任務提供 AI 更高清晰度,提高其效率。
    • 適用場景: 適用於從零開始的新專案 (Greenfield)、現有系統的功能擴展 (Feature work) 及遺留系統現代化 (Legacy modernization)。
    • 大規模應用: 組織的安全政策、合規規則、設計系統限制等要求可直接整合到規範和計劃中,供 AI 使用。
  • Spec Kit 使用範例 (CLI):
    • 初始化專案:
      uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>
    • 生成規範:
      /specify "Build a new e-commerce product catalog with search functionality."
    • 生成技術計劃:
      /plan "Use Python, FastAPI, PostgreSQL, and integrate with Stripe for payments."
    • 分解任務並實作:
      /tasks

TechSummary 2025-08-29

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

🚀 GitHub Copilot AI 模型進化與多模型架構​

Source: https://github.blog/ai-and-ml/github-copilot/under-the-hood-exploring-the-ai-models-powering-github-copilot/

  • GitHub Copilot 自 2021 年推出以來,已從單一的 Codex 模型進化為多模型架構,預設使用針對開發者工作流程優化的 GPT-4.1。
  • 為了應對快速變化的 AI 環境,Copilot 採用多模型架構,讓開發者能根據任務需求選擇不同的 LLM,提供更高的靈活性。
  • 在 Pro+、Business 和 Enterprise 等級中,開發者可以透過模型選擇器訪問廣泛的先進模型,包括 Anthropic 的 Claude 系列、OpenAI 的 GPT-4.1、GPT-5 (預覽) 及 Google 的 Gemini 2.0 Flash、Gemini 2.5 Pro 等。
  • Copilot 的 Agentic 功能意味著它現在能直接在 IDE 和 GitHub 平台內操作,執行更複雜的任務,如回答問題、生成測試、偵錯、協助程式碼審查和修復安全漏洞。
  • 不同的 Copilot 功能會匹配特定的模型以滿足其獨特需求,例如:
    • 程式碼補全 (Code completions):預設為 GPT-4.1,針對速度、準確性和相關性進行優化。
    • Agent 模式 (Agent mode):預設為 GPT-4.1,但可選擇其他先進模型來處理多步驟複雜任務。
    • Copilot Chat:預設為 GPT-4.1,並可選擇 Claude 或 Gemini 等模型進行自然語言查詢。
    • Coding agent (新):將 Copilot 轉變為可委派任務的助手,處理問題分類、生成 Pull Request、修補漏洞等。
    • 程式碼審查 (Code review (新)):由 GPT-4.1 提供支援,並可選擇 Claude 等模型進行深度推理。
  • 最近的升級將 Copilot Chat、程式碼補全和 Pull Request 摘要都整合到 GPT-4.1,帶來約 40% 更快的響應速度和更大的上下文視窗。

TechSummary 2025-08-19

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

Agents panel: Launch Copilot coding agent tasks anywhere on GitHub 🚀​

Source: https://github.blog/news-insights/product-news/agents-panel-launch-copilot-coding-agent-tasks-anywhere-on-github/

  • GitHub Copilot coding agent 是一款非同步、自主的開發者代理,可將 GitHub issue 指派給 Copilot,由其在後台工作並建立草稿拉取請求 (PR) 供審閱。
  • 新推出的 Agents panel 允許開發者從 GitHub.com 上的任何頁面快速將任務委託給 Copilot,並追蹤其進度而無需中斷工作流程。
  • Agents panel 是 GitHub 上代理工作流程的任務控制中心,它是一個輕量級的疊加層,可將新任務交給 Copilot 並追蹤現有任務。
  • 可用的功能包括:無需切換頁面即可分配後台任務、實時監控運行中的任務、以及在準備好審閱時跳轉到拉取請求。
  • 支援從 GitHub.com、GitHub Mobile、Copilot Chat、VS Code 或支援 MCP 的工具發起任務。
  • Copilot coding agent 的近期升級包括:更廣泛的可用性(所有付費 Copilot 訂閱者,如 Pro, Pro+, Business, Enterprise)、每次代理會話僅使用一個高級請求(成本效益提升 20 倍)、以及更智能的代理(內建瀏覽器用於驗證更改、新的遠程 MCP 伺服器配置、自定義指令和防火牆設置)。
  • 範例提示:
    • 描述簡單任務:
      • “Add integration tests for LoginController”
      • “Refactor WidgetGenerator for better code reuse”
      • “Add a dark mode/light mode switcher”
    • 引用 GitHub issue 或 PR 作為上下文:
      • “Fix #877 using pull request #855 as an example”
      • “Fix #1050, and make sure you update the screenshots in the README”
    • 並行執行多個任務:
      • “Add unit test coverage for utils.go” + “Add unit test coverage for helpers.go”

TechSummary 2025-08-08

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

🚀 提升程式碼審查與 Pull Request 效率:GitHub Copilot 的應用​

Source: https://github.blog/ai-and-ml/github-copilot/how-to-use-github-copilot-to-level-up-your-code-reviews-and-pull-requests/

  • GitHub Copilot 的功能已從最初的程式碼補全,擴展到 Pull Request (PR) 和程式碼審查等多方面應用,有效提升開發工作流程效率。
  • 在程式碼審查中,可利用 Copilot 建議程式碼改進或確認是否符合最佳實踐,例如重構重複的 Ruby on Rails 程式碼或檢查 Go 語言變數賦值的最佳實踐。
    "Can you refactor this Ruby on Rails code to reduce repetition?"
    "Is this code addition following Go best practices for variable assignment? If not, can you suggest improvements?"
  • Copilot 能夠協助將原始資料(如試算表中的載入時間數據)格式化為 GitHub 風格的 Markdown 表格,使 PR 說明更加清晰易讀。
    Load Time Before (in seconds)   Load Time After Updates (in seconds)
    1.3 1.2
    1.2 1.1
    1.1 0.885
    1.3 1.3
    1.2 0.918

    Average 1.22 1.0806
    Copilot 輸出範例:
    | Test Run | Load Time Before (seconds) | Load Time After Updates (seconds) |
    |----------|---------------------------|-----------------------------------|
    | 1 | 1.3 | 1.2 |
    | 2 | 1.2 | 1.1 |
    | 3 | 1.1 | 0.885 |
    | 4 | 1.3 | 1.3 |
    | 5 | 1.2 | 0.918 |
    | **Average** | **1.22** | **1.0806** |
  • Copilot 可為 Pull Request 摘要提供撰寫起點,即使需要編輯,也能有效降低撰寫門檻。
  • 開發者可利用 Copilot 進行初步的程式碼審查,找出潛在問題或提供更好的撰寫方式;同時也能請求 Copilot 解釋不熟悉的程式碼,加速理解並提供更周全的審查意見。

TechSummary 2025-08-07

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

🚀 初級開發者並未過時:如何在 AI 時代蓬勃發展​

Source: https://github.blog/ai-and-ml/generative-ai/junior-developers-arent-obsolete-heres-how-to-thrive-in-the-age-of-ai/

  • 人工智慧並不會讓初級開發者過時;相反地,新進學習者因具備 AI 工具的應用能力,反而處於有利位置。
  • GitHub 執行長 Thomas Dohmke 強調,熟悉 AI 程式碼生成工具的新人才,能帶來更好的想法。
  • 提供初級開發者在 AI 時代脫穎而出的五種方法:
    1. 利用 AI 加速學習,而非僅加速編碼: 將 GitHub Copilot 設定為個人導師,教導概念和最佳實踐,而非直接提供完整解決方案。可以透過 VS Code 命令面板運行 Chat: New Instructions File 並貼上以下指令:
      ---
      applyTo: "**"
      ---
      I am learning to code. You are to act as a tutor; assume I am a beginning coder. Teach me concepts and best practices, but don’t provide full solutions. Help me understand the approach, and always add: "Always check the correctness of AI-generated responses."
      此外,練習在不使用自動完成功能的情況下解決問題(可透過在專案根目錄 .vscode/settings.json 中設定 {"github.copilot.enable": {"*": false}} 來禁用)。
    2. 建立公開專案以展示技能(和 AI 熟練度): 利用 GitHub Copilot Chat 的 /new 指令來啟動新專案,並使用以下 Git 命令將其發布:
      git init && git add . && git commit -m "Initial commit" && git push
    3. 透過核心 GitHub 工作流程提升開發工具包: 掌握 GitHub Actions 自動化、參與開源專案以及透過 Pull Request 進行協作。Copilot Chat 可協助排除故障。
    4. 透過程式碼審查磨練專業知識: 積極提問、尋找模式、做筆記並保持謙遜。
    5. 運用 AI 更智慧、更快速地除錯: 使用 Copilot Chat 指令如 /fix、/tests、/explain 和 /doc 來即時解釋錯誤、生成修復方案、創建測試案例和理解根本原因。