---
title: "04 · 從補全到 Agent Mode"
description: "解釋 Copilot 如何從 inline suggestion 演進到 Chat、Agent Mode、Cloud Agent 和 PR 自動化。"
verifiedAt: "2026-05-06"
---

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

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

## 1. 先看演進線

```mermaid
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 Agent | issue 驅動的非同步實現、團隊 review | plan、branch、commits、checks、PR |
| Code review | PR 風險發現、review suggestions | review 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。

## 官方來源

- [GitHub Copilot features](https://docs.github.com/en/copilot/get-started/features)：官方 assistive、agentic、customization、administrator 功能分類。
- [GitHub Copilot code suggestions in your IDE](https://docs.github.com/en/copilot/concepts/completions/code-suggestions)：官方程式碼建議概念頁。
- [Using agents in Visual Studio Code](https://code.visualstudio.com/docs/copilot/agents/overview)：VS Code 官方 Agent Mode、agent 型別和許可權說明。
- [What is GitHub Copilot?](https://docs.github.com/en/copilot/get-started/what-is-github-copilot)：官方 Copilot 定義、入口和產品範圍。

## 接下來去哪

<Cards>
  <Card title="上一篇" description="先確認 Copilot 的入口地圖和上下文邊界。" href="/zh-Hant/docs/github-copilot/understanding/03-copilot-surfaces-map" />
  <Card title="下一篇" description="繼續學習如何用 instructions、Spaces、MCP 和上下文工程提升輸出質量。" href="/zh-Hant/docs/github-copilot/understanding/05-context-engineering-for-copilot" />
  <Card title="程式碼建議" description="回到官方重組頁深讀 ghost text、next edit suggestions 和公開程式碼匹配。" href="/zh-Hant/docs/github-copilot/official/02-code-suggestions-and-chat/code-suggestions" />
</Cards>
