GitHub Copilot Slack 還是 Teams?Cloud Agent 權限與協作流程比較
GitHub Copilot cloud agent 現在可以從 Slack 和 Microsoft Teams 的對話啟動。兩者都能讓團隊用 @GitHub 提供脈絡、一起 steer agent、等待它在 secure cloud sandbox 中工作,最後回到 GitHub 審查產出的 issue、artifact 或 pull request;差別在於對話上下文、repository 預設、整合身分和團隊原本的工作入口。
先講選擇:如果團隊的需求從 Slack thread 開始,優先評估 Slack 的 Slack Code 與對話上下文控制;如果需求主要發生在 Teams 會議和頻道,優先評估 Teams 的頻道 repository 設定與組織政策。 這不是「哪個 agent 比較聰明」的比較,而是把同一個 cloud agent 放在哪裡啟動、誰能觸發變更、誰負責 review。
兩個整合的共同前提
Slack 與 Teams 都是 GitHub Copilot cloud agent 的 public preview 入口,實際可用性仍受 Copilot 方案、組織政策、app 安裝和 cloud sandbox 設定影響。導入前先確認:
- 管理員已允許 Copilot cloud agent,且 cloud sandboxes 已啟用。
- Slack workspace 或 Teams tenant 已安裝 GitHub app。
- 使用者已連結 GitHub 帳號,並能存取目標 repository。
- 需要 agent 修改程式碼的人對目標 repository 具有 write access。
- 組織已決定 AI credits、sandbox 使用量和 pull request 審查責任由誰管理。
Slack 文件列出的功能包含研究、規劃、triage、修改程式碼、建立 issue 和 pull request;Teams 文件與 changelog 也以相同的 cloud agent 工作流為主。這些功能仍在預覽階段,啟用前要把「可以試用」和「允許在 production repository 觸發變更」分成兩個決策。
Slack 與 Teams 功能對照
| 比較項目 | Slack | Microsoft Teams | 對流程的影響 |
|---|---|---|---|
| 啟動方式 | 在 DM、channel 或 thread 中 @GitHub | 在 channel、thread 或 DM 中 @GitHub | 都能從原本的討論開始,不必先複製到 GitHub issue |
| 對話上下文 | shared context 會使用整個 thread;DM 可縮小脈絡 | 使用 Teams 對話內容來共同提供脈絡 | 涉及機密資訊時,先選 focused DM 或乾淨 thread |
| 專用工作空間 | 可建立 Slack Code,每個 code channel 對應一個工作任務 | 以 channel/thread/DM 追蹤 session,再回到 GitHub artifact | Slack 適合把長任務從原討論抽到專用頻道 |
| 預設 repository | channel 可設定;DM 不使用 default repository | public channel 可設定;DM 不使用 default repository | DM 或新頻道的 prompt 要明確寫 OWNER/REPO |
| 誰能讓 agent 修改 | 只有對 repository 有 write access 的人能觸發變更,其他參與者可補充脈絡 | 參與者可提問和 steer;有 write access 的人能觸發變更 | 「能發言」不等於「能授權 agent 寫入」 |
| 執行環境 | secure cloud sandbox,非同步工作 | secure cloud sandbox,非同步工作 | 兩者都要把 Actions/sandbox 用量納入成本與政策 |
| 產出身分 | shared context 的 issue/PR 使用 Copilot app identity;DM 可使用連結帳號權限 | PR 可歸屬 Microsoft Teams Copilot integration identity | repository ruleset 可能要求額外 approval |
| 目前狀態 | public preview、付費 Copilot 方案 | public preview、付費 Copilot 方案 | 預覽功能與政策可能變動,需保留替代流程 |
Slack:先看 thread 上下文與 Slack Code
Slack 的重要邊界是 整個 thread 可能成為 agent 的決策脈絡。官方文件說,shared context 中的 Copilot 會使用整個 conversation,並把脈絡保存到產出的 artifacts;如果只想提供有限資訊,可以改用與 GitHub app 的 DM。這讓 Slack 很適合從事故 thread、bug 討論或設計辯論直接開始,但也代表不能隨便在原頻道貼入 secrets、客戶資料或不該進入 artifact 的內容。
當任務需要多輪規劃和 review 時,Copilot 可以建立專用的 Slack Code channel。團隊在該 channel 內查看 working repository、branch、狀態和產出,並讓其他成員加入、補充或停止 session。一次 code channel 只對應一個任務,完成後可封存;封存後歷史仍可檢索。
Slack 的另一個實務差異是 DM 與 shared context 的 agent 身分:DM 中的 agent 可以使用連結 GitHub 個人帳號的權限建立 issue 或 PR;shared context 則會用 app identity 建立 artifacts。若 repository ruleset 要求至少一次 approval,app identity 建立的 PR 可能需要額外 approval 才能合併。
Teams:先看頻道 repository 與會議脈絡
Teams 的使用方式適合把 standup、incident room 或會議 chat 裡的 action item 直接交給 agent。官方 changelog 描述的流程是:在 channel、thread 或 DM @GitHub,由所有參與者加入脈絡和 steer;有 repository write access 的參與者才能觸發 Copilot 實際修改。
Teams 的 repository 邊界要在一開始設定清楚:public channel 可以設定 default repository,若沒有設定,第一次 session 使用的 repository 可能成為該 channel 的 default;DM 不使用 default repository。因此在跨團隊頻道或沒有固定 owner 的討論中,prompt 應直接寫出 OWNER/REPO 和 branch,不要讓 agent 依頻道名稱猜測目標。
Teams 也要特別確認組織管理者是否啟用了 cloud agent 和 cloud sandbox,並允許 Microsoft Public Developer Preview。即使 app 能安裝,政策或 sandbox 沒開仍不能把會議中的一句話直接變成程式碼變更。
權限、sandbox 與 PR approval 要分層檢查
把「聊天整合」誤當成「新增一套超級權限」是最危險的誤解。導入前分三層確認:
- 對話層:哪些成員能在 Slack 或 Teams 看見 thread、DM、code channel 與 agent 回覆?整個 conversation 是否包含不應送入 AI 的資訊?
- GitHub 層:觸發變更的人對目標 repository 是否有 write access?app 能讀哪些 code、issues、pull requests、metadata,以及能否寫入 content 或 workflows?
- 交付層:agent 的 PR 是否必須跑既有 checks、code review、branch protection 和額外 approval?誰負責在合併前檢查 diff、測試和安全影響?
Slack 與 Teams 都是在 secure cloud sandbox 中非同步工作,並可能消耗 AI credits;Teams changelog 另提醒 cloud sandbox 用量可以獨立計費和設置預算。不要用「只是聊天訊息」估算成本,也不要讓 sandbox 內的成功測試取代 repository 的正式 CI。
如果團隊已經在 GitHub Copilot app 內管理 client policy,也要把 app、CLI、Slack 和 Teams 的啟用邊界分開審查,可參考 GitHub Copilot app 的獨立存取政策。跨工具委派仍應維持 PR review 與檢查流程,這點和從 Linear 委派 cloud agent 的 draft PR 工作流 相同。
一個可重複的 Slack/Teams 委派流程
不論入口是哪一個,先用同一份 prompt 結構降低 agent 猜測空間:
@GitHub 在 OWNER/REPO 的 develop branch 研究這個問題:<症狀與背景>
請先輸出:1. 可能原因與要檢查的檔案2. 不修改程式碼的驗證計畫3. 完成條件與要執行的測試
只有在我確認計畫後,才建立 branch、修改程式碼並開 draft PR。不要修改 secrets、部署設定或其他未列出的路徑。接著依序做:
- 確認 conversation 內沒有不應進入 artifact 的敏感資料。
- 明確指定
OWNER/REPO、branch、範圍、不能碰的檔案與驗收條件。 - 先讓 agent 回報研究與計畫;不要把第一個回覆視為已完成。
- 有 write access 的成員才觸發修改,其他人負責補充脈絡和挑錯。
- 在 GitHub 檢查 branch、diff、測試、Actions、dependency 變更與 PR 身分。
- 依 repository ruleset 完成必要 review 和 approval,再決定是否合併。
怎麼選:按討論發生的位置決定
可以用下面的判斷快速選入口:
- 選 Slack:問題通常從 Slack thread 開始,你需要 Slack Code 將長任務集中管理,或需要用 DM 限縮 agent 接收的上下文。
- 選 Teams:團隊以 Teams channel、會議 chat 和 Microsoft 組織政策為主要協作場所,需要把頻道 default repository 設定成固定工作區。
- 兩者都保留:不同部門使用不同聊天工具時,統一 prompt、repository write access、sandbox 預算、PR approval 和 GitHub review,不要讓兩套入口各自發明一種交付標準。
這個選擇不會替你決定哪個模型或 reasoning level 最適合;它只先把「在哪裡蒐集脈絡、誰能觸發、產出由誰審查」固定下來。若治理規則還沒有定義,先用測試 repository 導入,再擴大到 production codebase。
結論:入口可以不同,交付控制點要一致
GitHub Copilot cloud agent 在 Slack 和 Teams 都能從對話開始研究、規劃、執行與建立 PR。Slack 的關鍵是完整 thread 上下文和 Slack Code;Teams 的關鍵是頻道 default repository、組織 preview 政策與會議脈絡。兩者都需要 paid Copilot、cloud agent/sandbox 啟用、repository write access、成本預算與人工 approval。
因此,先依團隊實際討論位置選入口,再用同一份 repository、branch、prompt、測試和 PR review 標準收斂風險。agent 能在聊天裡開始工作,不代表它可以跳過 GitHub 的權限、檢查與合併規則。
常見問題
Q: Slack 或 Teams 裡任何人都能叫 Copilot 修改程式碼嗎?
A: 不能。參與者都可以提供上下文、提問或 steer,但觸發 agent 修改通常需要對目標 repository 有 write access。聊天頻道的發言權和 GitHub 的寫入權是兩個不同邊界。
Q: DM 和 channel 哪一個比較安全?
A: 沒有通用答案。Slack shared context 會使用整個 thread,DM 可用來限縮上下文;Slack 和 Teams 的 DM 都不使用 channel default repository,因此要在 prompt 明確指定 repository。先依資料敏感度和 repository 目標選擇,再確認 app、sandbox 和 GitHub policy。
Q: Copilot 開出的 PR 可以不用額外 review 嗎?
A: 不應該。Slack 和 Teams 的整合都提供由 repository administrator 要求額外 approval 的機制;既有 branch protection、checks 和 code review 仍是交付控制點。請把 agent 產出的 diff 當成需要人工審查的變更。
參考資料:
GitHub Docs:Integrating Copilot cloud agent with Slack
GitHub Docs:Integrating Copilot cloud agent with Teams
GitHub Changelog:The new GitHub Copilot experience in Slack
GitHub Changelog:Shared agentic work with GitHub Copilot in Microsoft Teams
回報錯字、失效連結,或告訴我你想看的延伸主題。