AI 程式設計教程中文版
從原理到實戰

04 · 從補全到 Agent Mode

解釋 Copilot 如何從 inline suggestion 演進到 Chat、Agent Mode、Cloud Agent 和 PR 自動化。

Copilot 的能力不是一次跳到“自動寫完整專案”。它先從內聯建議(inline suggestions)減少敲程式碼,再透過 Chat 解釋和生成區域性方案,隨後進入 IDE 裡的 Agent Mode、Copilot CLI、Cloud Agent 和 code review。越往後,Copilot 的行動能力越強,驗收要求也越高——這就是把"補全 → 代理"放在一條演進線上看的意義。

本章目標:你會把 Copilot 的補全、Chat、Agent mode、CLI、Cloud Agent 和 PR 自動化放在同一條演進線上,並知道每一層應該如何驗收。

1. 先看演進線

flowchart TD
  Suggest["Inline suggestions"] --> Chat["Copilot Chat"]
  Chat --> IDEAgent["IDE Agent mode"]
  IDEAgent --> CLI["Copilot CLI"]
  CLI --> Cloud["Cloud Agent"]
  Cloud --> PR["Pull request / Code review"]
  Suggest --> Small["區域性補全"]
  Chat --> Explain["解釋 / 方案 / 小段生成"]
  IDEAgent --> LocalDiff["本地跨檔案 diff"]
  CLI --> TerminalTask["終端任務 / 分支 / PR"]
  Cloud --> AsyncBranch["雲端分支 / session / checks"]
  PR --> Review["人工 review / CI / merge gate"]

這條線有一個穩定規律:從建議到執行,從區域性上下文到協作上下文,從個人確認到團隊審查

如果你只把 Copilot 當自動補全,就會低估它在 PR、review、CLI 和 Cloud Agent 裡的作用;如果你一上來就讓 Cloud Agent 改大儲存庫,又會跳過最關鍵的 diff、checks 和 review。

2. Inline suggestions:最小行動

程式碼建議是最低風險入口。GitHub 官方把 VS Code 裡的建議分成兩類:ghost text suggestions(灰字內聯建議,跟著游標自動浮現)和 next edit suggestions(下一編輯預測,提示你最可能要改的下一處)。它們適合補區域性實現、測試樣板、重複 API 呼叫和當前檔案裡的固定模式。

這一層的關鍵詞是 候選程式碼。Copilot 給的是建議,不是結論。

使用邊界:

  • 只接受你看懂的建議。
  • 大段建議用 partial accept 拆開。
  • 接受後立刻看相鄰程式碼、型別、測試和 lint。
  • 公開程式碼匹配出現時,看來源和許可證。

不適合讓補全解決架構設計、跨模組重構、許可權策略、生產指令碼或不清楚需求的任務。

3. Chat:從寫程式碼到討論程式碼

Chat 適合解釋、生成小段方案、定位錯誤、寫測試思路、總結檔案或 PR。和補全相比,Chat 更適合先問清“為什麼”和“怎麼改”。

適合 Chat 的問題:

  • “這段程式碼的入口在哪裡?”
  • “這個 failing test 可能說明什麼?”
  • “按現有風格補一個測試方案。”
  • “這個 PR 的風險點是什麼?”

Chat 的風險是回答看起來完整,但不一定符合儲存庫事實。要主動給它檔案、選區、issue、PR 或錯誤輸出,並把結論回到原始碼和測試裡驗證。

4. Agent Mode:本地執行

VS Code 官方文件把 agent 描述為:能接收高層目標、自己拆步驟、編輯檔案、執行命令並在出錯時自我修正的 AI 助手。Agent Mode 的關鍵變化是:它不只是回答,而是開始改工作區。

適合 Agent Mode:

  • 範圍清楚的跨檔案修復。
  • 本地 bug reproduction 已經明確。
  • 需要讀檔案、改程式碼、跑測試。
  • 結果能在 pending edits、terminal output 和 diff 中審查。

不適合直接交給 Agent Mode:

  • 需求還沒定義。
  • 生產環境命令。
  • 資料刪除、許可權遷移、金鑰處理。
  • 沒有測試、沒有回復路徑的大改。

Agent Mode 的驗收要看三樣東西:它改了哪些檔案、執行了哪些命令、命令輸出是否支援結論。

5. CLI 和 Cloud Agent:從本地到非同步

Copilot CLI 更貼近終端任務。官方功能頁把它放在 agentic features(代理類能力)裡,適合在終端裡委派"加功能 / 修 bug / 順手建立 PR"這一類任務。

Cloud Agent 則把執行放到遠端分支。官方功能頁說它能完成"研究儲存庫 → 制定實現計劃 → 在分支裡改程式碼"這條鏈路,然後讓你 review diff、來回迭代,最後再把改動合成 pull request。

這兩層的驗收面不同:

能力更適合驗收位置
Copilot CLI本地終端任務、後臺修復、小分支git diff、terminal output、PR
Cloud Agentissue 驅動的非同步實現、團隊 reviewplan、branch、commits、checks、PR
Code reviewPR 風險發現、review suggestionsreview comments、作者確認、CI

只要任務進入分支和 PR,就不要用“AI 已完成”做驗收。真正驗收的是 diff、checks、review 和責任人確認。

6. 選擇規則

快速判斷:

  1. 只補一小段程式碼:用 inline suggestions。
  2. 先理解或討論:用 Chat。
  3. 本地跨檔案修改:用 IDE Agent mode。
  4. 終端裡的明確任務:用 Copilot CLI。
  5. 非同步 issue 實現:用 Cloud Agent。
  6. PR 風險審查:用 Copilot code review 加人工 review。

風險越高,越要把 Copilot 的動作拆成計劃、diff、測試、review 和回復路徑。

本章自檢

讀完後你應該能回答:

  • 當前任務是建議、討論、本地執行、終端執行,還是雲端分支執行?
  • Copilot 在這個入口能看到哪些上下文?
  • 它是否會寫檔案、跑命令、開分支或建立 PR?
  • 驗收證據是 diff、test、terminal output、checks 還是 PR review?

透過標準:你能按任務風險選擇 Copilot 層級,而不是所有問題都丟給 Agent mode。

官方來源

接下來去哪

本頁目錄