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

07 · Cloud Agent 到 PR 的閉環

解釋 Cloud Agent 如何從 prompt 或 issue 出發,研究儲存庫、建分支、改程式碼、給出 diff 並進入 PR 審查。

Cloud Agent 最適合的不是你盯著螢幕等三分鐘的小改,而是可以非同步推進、最後回到 branch 和 PR 審查的儲存庫任務。GitHub 官方說明,Copilot cloud agent 能完成"研究儲存庫 → 制定實現計劃(implementation plan)→ 在分支裡改程式碼"這條鏈路,並在你準備好時建立 pull request。

本章目標:你會把 Cloud Agent 當成 GitHub PR 工作流的一部分使用,而不是當成一個“幫我自動寫完”的黑箱。

1. PR 閉環

flowchart TD
  Source["Issue / Prompt / Agents tab"] --> Research["Research repository"]
  Research --> Plan["Implementation plan"]
  Plan --> Branch["Agent branch"]
  Branch --> Diff["Diff / commits / test output"]
  Diff --> Iterate{"需要繼續改?"}
  Iterate -->|是| FollowUp["Follow-up prompt"]
  FollowUp --> Branch
  Iterate -->|否| PR["Create pull request"]
  PR --> Review["Human review / checks"]
  Review --> Merge{"透過?"}
  Merge -->|是| Ship["Merge"]
  Merge -->|否| More["Comment / request changes"]
  More --> Branch

這個閉環裡,Cloud Agent 的產物不是“回答”,而是可審查的 branch、commits、diff、checks 和 PR 討論。

2. 兩種啟動方式

官方啟動任務頁有一個重要分工:

  • Assign issue to Copilot(把 issue 直接指派給 Copilot):適合 issue 已經寫清目標、範圍和驗收標準;Copilot 會基於 issue 標題、描述和已有 comments 工作,並建立 PR 或請求 review。
  • Agents prompt / Agents tab(在 Agents 標籤頁裡發起 prompt):適合任務還需要研究和迭代;預設先在 branch 上工作,你可以 review diff、繼續追加 prompt,然後再決定是否建立 PR。

一個容易踩的坑:issue assignment 後新增到 issue 的 comments,Copilot 不一定自動看到。後續上下文要寫到它建立的 PR 或 session 裡。

3. Prompt 要像 issue spec

Cloud Agent prompt 不應該是“幫我最佳化一下”。它至少要包含四件事:

目标:
修复登录错误提示不清楚的问题。

范围:
只处理 Web 登录页和 auth 错误映射。

不要改:
认证协议、数据库 schema、billing、workflow。

验证:
运行 auth 相关测试,说明未覆盖风险。

如果任務包含 UI 差異,可以附 screenshot 或 mockup。上傳前要遮住賬號、客戶資料、token、內部 URL 和生產資訊。

4. Research、Plan、Iterate

Cloud Agent 的高質量用法不是直接 PR,而是先 research、plan、branch iterate,再 PR。

Research 階段:

  • 讓它列相關檔案、測試、入口和不確定點。
  • 明確“不要改程式碼”。
  • 檢查它是否讀到了正確模組。

Plan 階段:

  • 看目標和非目標是否清楚。
  • 看檔案範圍是否合理。
  • 看測試命令是否真實存在。
  • 看開放問題是否需要你回答。

Iterate 階段:

  • 審 branch diff。
  • 要求撤銷無關改動。
  • 補測試或收窄範圍。
  • 準備好後再建立 PR。

5. 什麼任務適合 Cloud Agent

適合:

  • backlog 裡的中低風險改進。
  • 文件、測試、技術債、錯誤提示。
  • 能透過 branch、CI、PR review 驗收的小功能。
  • 需要先讀儲存庫再給方案的任務。

不適合:

  • 本地未提交現場。
  • 必須依賴本機登入態、私密 UI 或本地環境。
  • 生產部署、資料遷移、許可權調整。
  • 沒有測試和 review 路徑的模糊需求。

Cloud Agent 在 GitHub Actions 驅動的臨時開發環境中執行,但臨時環境不等於沒有風險。它仍然可能改 workflow、依賴、許可權配置或業務邏輯。

6. 審查清單

PR 出來後,至少檢查:

  1. 是否符合 issue 或 prompt 的範圍。
  2. 是否新增依賴、workflow、許可權或配置。
  3. 是否刪除測試或跳過失敗。
  4. commit 和 diff 是否可理解。
  5. checks 是否跑過並透過。
  6. Copilot 的說明是否和程式碼一致。
  7. 是否需要人工補充測試或回復說明。

Cloud Agent 能提高非同步吞吐,但不能替代程式碼負責人。

本章自檢

你應該能回答:

  • 這個任務應該 assign issue 直接 PR,還是先 prompt 到 branch 迭代?
  • prompt 是否寫清目標、範圍、不可觸碰內容和驗證方式?
  • PR 前是否已經審過 branch diff 和測試輸出?
  • 失敗時能否關閉 PR 或人工接管分支?

透過標準:Cloud Agent 的每一步都能被 GitHub 物件追蹤,而不是隻靠自然語言總結。

官方來源

接下來去哪

本頁目錄