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 Agent | issue 驅動的非同步實現、團隊 review | plan、branch、commits、checks、PR |
| Code review | PR 風險發現、review suggestions | review comments、作者確認、CI |
只要任務進入分支和 PR,就不要用“AI 已完成”做驗收。真正驗收的是 diff、checks、review 和責任人確認。
6. 選擇規則
快速判斷:
- 只補一小段程式碼:用 inline suggestions。
- 先理解或討論:用 Chat。
- 本地跨檔案修改:用 IDE Agent mode。
- 終端裡的明確任務:用 Copilot CLI。
- 非同步 issue 實現:用 Cloud Agent。
- PR 風險審查:用 Copilot code review 加人工 review。
風險越高,越要把 Copilot 的動作拆成計劃、diff、測試、review 和回復路徑。
本章自檢
讀完後你應該能回答:
- 當前任務是建議、討論、本地執行、終端執行,還是雲端分支執行?
- Copilot 在這個入口能看到哪些上下文?
- 它是否會寫檔案、跑命令、開分支或建立 PR?
- 驗收證據是 diff、test、terminal output、checks 還是 PR review?
透過標準:你能按任務風險選擇 Copilot 層級,而不是所有問題都丟給 Agent mode。
官方來源
- GitHub Copilot features:官方 assistive、agentic、customization、administrator 功能分類。
- GitHub Copilot code suggestions in your IDE:官方程式碼建議概念頁。
- Using agents in Visual Studio Code:VS Code 官方 Agent Mode、agent 型別和許可權說明。
- What is GitHub Copilot?:官方 Copilot 定義、入口和產品範圍。