cover

AI 輔助開發工具:從 Copilot 到 Agent 的演進

AI 輔助開發已經從「幫你補完一行 code」進化到「幫你寫整個 feature」。

2021 年 GitHub Copilot 剛推出的時候,大家覺得「哇,AI 居然能幫我補完 for 迴圈」。2024 年的今天,Cursor Composer 可以一次修改十幾個檔案、Claude Code 可以自己讀 codebase、跑測試、修 bug。這個演進速度比任何人預期的都快。

這篇文章整理 AI coding assistant 的演進歷程、主流工具的深入比較,以及工程師在實務中應該怎麼使用這些工具。


演進歷程

timeline
    title AI 輔助開發工具演進
    2018-2020 : 自動補全時代
                : TabNine (2018)
                : Kite (2019)
                : 基於統計模型的 code completion
    2021-2022 : Copilot 時代
                : GitHub Copilot (2021)
                : 基於 Codex (GPT-3) 的整段補全
                : Amazon CodeWhisperer (2022)
    2023 : 對話式開發
          : ChatGPT + IDE 整合
          : Cursor 推出
          : Copilot Chat
          : Cody by Sourcegraph
    2024-2025 : Agent 時代
                : Claude Code (CLI Agent)
                : Cursor Composer (Multi-file)
                : Devin (Autonomous Agent)
                : Windsurf by Codeium
                : AI 可以自主執行完整任務

第一階段:自動補全(2018-2020)

最早的 AI coding 工具只做一件事:預測你接下來要打什麼字

TabNine(2018)Kite(2019) 是這個時代的代表。它們用統計語言模型分析你的 codebase,預測下一個 token。效果大概是:

你打:const user = await db.
AI 補:findById(id);

能力有限,但已經讓很多人感受到「AI 寫 code」的可能性。

主要限制:

  • 只能補完幾個 token,無法生成完整函數
  • 不理解你的意圖,只是統計機率
  • 跨檔案的理解力很弱
  • Kite 最終在 2022 年關閉

第二階段:Copilot 的突破(2021-2022)

GitHub Copilot 在 2021 年以 Technical Preview 推出,徹底改變了遊戲規則

核心差異:它背後是 OpenAI Codex(GPT-3 的 code 特化版),能理解自然語言和程式碼的關係。這意味著:

// 你寫一行注釋
// 計算購物車中所有商品的總金額,如果有折扣碼就套用折扣

// Copilot 自動生成整個函數
function calculateTotal(cart: CartItem[], discountCode?: string): number {
  const subtotal = cart.reduce((sum, item) => sum + item.price * item.quantity, 0);
  if (discountCode) {
    const discount = getDiscount(discountCode);
    return subtotal * (1 - discount);
  }
  return subtotal;
}

Copilot 的影響:

  • 第一次讓大量工程師日常使用 AI 寫程式
  • 證明 LLM 可以理解 code context
  • 引發了「AI 會不會取代工程師」的大討論
  • 催生了整個 AI coding assistant 產業

第三階段:對話式開發(2023)

2023 年,ChatGPT 的爆發讓人們發現:跟 AI 聊天比讓 AI 猜更有效

工具開始從「被動補全」轉向「主動對話」:

  • Copilot Chat:在 IDE 內開一個聊天視窗,可以問問題、要求修改
  • Cursor Chat:Cursor IDE 內建的對話功能,可以 reference 特定檔案
  • ChatGPT + Code Interpreter:可以執行程式碼、畫圖、分析資料

這個階段的突破在於:你可以用自然語言描述你要什麼,而不是寫一個完美的 code comment 祈禱 AI 補對。

你:「這個 React component 有 performance 問題,每次 parent re-render
    它都會重新計算 filteredList。請用 useMemo 優化。」

AI:分析你的 component → 找到問題 → 給出修改後的完整程式碼

第四階段:Agent 模式(2024-2025)

這是我們現在正在經歷的階段。AI 不再只是「回答問題的助手」,而是能自主執行任務的 Agent

Agent 模式的特徵:

  • 可以自己讀取和理解整個 codebase
  • 可以自己決定要修改哪些檔案
  • 可以自己跑測試、看結果、修 bug
  • 可以執行終端機指令
  • 有 planning 能力:把大任務拆成小步驟
flowchart TD
    Task["使用者給任務\n「加一個 dark mode 功能」"]
    Plan["Agent 規劃\n1. 建立 theme context\n2. 修改 component\n3. 加 CSS variables\n4. 加 toggle 按鈕\n5. 跑測試"]
    Read["讀取 Codebase\n理解現有架構"]
    Code["逐步實作\n建立/修改檔案"]
    Test["執行測試\nnpm test"]
    Fix["自動修復\n根據測試結果調整"]
    Done["完成\n所有測試通過"]

    Task --> Plan --> Read --> Code --> Test
    Test -->|失敗| Fix --> Code
    Test -->|通過| Done

    style Task fill:#4a90d9,color:#fff
    style Plan fill:#f5a623,color:#fff
    style Code fill:#7ed321,color:#fff
    style Test fill:#9013fe,color:#fff
    style Fix fill:#d0021b,color:#fff

代表工具:

  • Claude Code:Anthropic 的 CLI Agent,直接在終端機操作
  • Cursor Composer:Cursor 的多檔案編輯模式
  • Devin(Cognition):號稱「第一個 AI 軟體工程師」,完全自主
  • Windsurf(Codeium):AI-native IDE,內建 Agent 功能

主流工具深入比較

GitHub Copilot

定位:嵌入式 AI 助手
模式:行內補全 + Chat
IDE:VS Code、JetBrains、Neovim、Xcode
價格:$10/月(Individual)、$19/月(Business)、$39/月(Enterprise)
底層模型:GPT-4o(Chat)、自家模型(補全)

優點:

  • 與 GitHub 生態深度整合(PR review、issue 解析)
  • 幾乎所有 IDE 都支援
  • 行內補全的速度和品質穩定
  • 企業方案有 IP 保護和安全合規
  • 學習曲線最低

缺點:

  • 多檔案操作能力有限
  • 無法自主執行指令
  • Chat 的上下文理解有時不夠好
  • 不能自己跑測試或 debug

最適合: 需要穩定 AI 補全、不想換 IDE、企業環境

Cursor

定位:AI-first IDE
模式:Tab 補全 + Chat + Composer(多檔案)
IDE:自帶(VS Code fork)
價格:免費版(有限額度)、$20/月(Pro)、$40/月(Business)
底層模型:可選 GPT-4o、Claude 3.5 Sonnet、等

優點:

  • Composer 模式可以跨檔案重構,這是殺手級功能
  • 可以 @ 標記檔案、資料夾、文件,精確控制 context
  • 底層模型可以切換
  • .cursorrules 可以定義專案級的 AI 行為
  • IDE 體驗流暢(VS Code fork,學習成本低)

缺點:

  • 必須用 Cursor IDE,無法在其他 IDE 使用
  • Pro 方案的快速請求有額度限制
  • Composer 偶爾會「改太多」,需要仔細 review
  • 自動 apply diff 有時會出錯

最適合: 想要最全面 AI 開發體驗、願意切換 IDE

Claude Code

定位:CLI Agent
模式:終端機對話 + 自主執行
IDE:不綁定(任何 terminal)
價格:依 API 用量計費
底層模型:Claude Sonnet / Opus

優點:

  • 真正的 Agent 模式:可以讀檔、寫檔、跑指令、跑測試
  • 不綁定 IDE,terminal-first 的開發者最愛
  • 可以處理大規模任務(建立整個 feature、跨多檔案重構)
  • 支援 MCP(Model Context Protocol)擴展工具
  • 可以自訂 rules 和 workflow

缺點:

  • 沒有 GUI,純 CLI 操作
  • 費用取決於用量,可能比固定月費貴
  • 對新手不太友善
  • 需要給予檔案系統和終端機權限

最適合: Terminal-first 開發者、大規模重構、自動化任務

三者比較表

維度GitHub CopilotCursorClaude Code
月費$10-39$0-40依用量
IDE 支援幾乎所有限 Cursor不需 IDE
補全品質良好優秀N/A(Agent 模式)
多檔案編輯有限強(Composer)強(Agent)
自主執行不行有限
企業合規最佳良好基本
學習曲線最低中高
Codebase 理解中高
最大優勢穩定、普及、整合Composer 多檔案Agent 自主能力

實務建議

AI 最適合做什麼

1. Boilerplate 和重複性程式碼

建立新的 CRUD endpoint、寫 migration、設定檔案——這些結構性強的工作,AI 做得又快又好。

2. 寫測試

給 AI 一段 function,讓它生成 unit test。通常能覆蓋你沒想到的 edge case。

「請為以下 function 寫 Jest 測試,包含:
- 正常輸入 (happy path)
- 邊界值 (空陣列、null、undefined)
- 錯誤情況 (invalid input)
- 至少 90% branch coverage」

3. 文件生成

JSDoc、README、API 文件、CHANGELOG——AI 能從程式碼中提取資訊並整理成文件。

4. Code Review 輔助

讓 AI 先掃一遍,找出明顯的問題(型別錯誤、security issue、performance concern),再由人做最終 review。

5. 學習和探索

遇到不熟悉的 library 或 pattern,直接問 AI 解釋,比翻文件快得多。

AI 不適合做什麼

1. 架構決策

AI 不了解你的團隊規模、技術債、業務脈絡、組織文化。架構決策需要人類的判斷力。

❌ 「我該用 microservices 還是 monolith?」
→ AI 會給你一個「看起來很對」但完全不考慮你的 context 的答案

✅ 自己分析 context,用 AI 幫你整理 pros/cons

2. Security-critical 程式碼

認證、授權、加密、支付——這些領域的錯誤可能造成嚴重後果。AI 生成的安全相關程式碼必須經過專業審查。

3. 複雜的商業邏輯

涉及 domain-specific 規則的程式碼(金融計算、保險規則、稅務邏輯),AI 很容易出錯,而且錯誤很難被發現。

4. 效能關鍵路徑

AI 生成的程式碼通常「能跑」,但不一定「跑得快」。Hot path 的優化仍然需要人類工程師的 profiling 和調校。

使用 AI coding 工具的黃金原則

1. Code review 還是要自己做

不管程式碼是誰寫的——是你自己、是同事、還是 AI——code review 都是必要的。AI 會生成看起來完美但有隱藏 bug 的程式碼。

2. 不要盲信 AI 生成的程式碼

AI 可能:

  • 使用已被廢棄的 API
  • 引入不存在的 library
  • 生成有 subtle bug 的邏輯
  • 忽略你專案的 coding convention

3. 理解你 commit 的每一行

如果你無法解釋 AI 生成的某段程式碼在做什麼,不要 commit 它

4. AI 是 pair programming partner,不是外包

最佳的使用方式是把 AI 當作一個非常快的 junior developer——它能快速產出初稿,但你需要 review、修改、指導方向。


我的日常工作流

分享我目前的 AI 工具搭配方式:

日常 coding(寫新 code、小修改)
→ Cursor(Tab 補全 + Chat)

大規模重構、建立新 feature
→ Claude Code(Agent 模式,自主讀 codebase + 修改 + 測試)

PR review 輔助
→ Claude(對話模式,貼上 diff 請它 review)

技術問題研究
→ Claude 或 ChatGPT(對話模式,快速理解新概念)

文件撰寫
→ Claude(200K context 可以一次讀整個專案,生成文件)

這個搭配不是固定的。工具在快速演進,每幾個月重新評估一次。


未來展望

AI coding assistant 的演進方向很明確:

  1. 從補全到 Agent — 工具會越來越自主,能處理更完整的任務
  2. 從單檔到整個專案 — Context 理解能力持續增強
  3. 從生成到驗證 — AI 不只寫 code,還會自己跑測試、做 review
  4. 更好的 codebase 理解 — 能理解架構、設計模式、業務脈絡
  5. 多 Agent 協作 — 不同 Agent 負責不同角色(coder、reviewer、tester)

但有一件事不會變:工程師的判斷力和設計能力,依然是不可取代的。 AI 能加速你寫 code 的速度,但決定寫什麼 code、為什麼寫、怎麼設計——這些仍然是人類的工作。


延伸閱讀

推薦資源: