2025年11月27日 星期四

GitHub Copilot程式代理人初體驗 - 2


本文將延續《GitHub Copilot程式代理人初體驗 - 1》一文的情境,介紹如何在與GitHub Copilot 程式代理人(GitHub Copilot coding agent)合作開發,將任務交與代理人自動處理。

GitHub Copilot 程式代理人會自動分析存放庫、開發與測試、然後建立提取請求(Pull Request)。我們需扮演人工審查的角色,來確認GitHub Copilot 程式代理人工作的結果是否符合預期。

提取要求(Pull Reques)

GitHub Copilot程式代理人(GitHub Copilot coding agent)功能可以在你要求時,或在GitHub議題(GitHub Issue 被觸發時,自動在新分支上實作程式碼,並會自動建立一個提取要求(Pull Request),方便你檢視、測試、修改與最後合併程式。

GitHub議題GitHub Issue)建立後,若使用瀏覽器登入Github官網,可以看到GitHub議題GitHub Issue)下方有一個WIP項目,表示GitHub Copilot 程式代理人(Copilot Coding Agent)已開始工作並建立一個提取請求(Pull Request),其中包含程式代理人工作的細節。

GitHub Copilot 程式代理人(Copilot Coding Agent)自動把一個提取請求(Pull RequestPR)連結到這個 GitHub議題GitHub Issue)。當該 PR 合併(merged)時,GitHub議題)會自動被關閉。

提取請求(PR)標題裡的 [WIP] 表示「Work In Progress(進行中、尚未完成)」。它表示這個提取請求目前還不是最終可合併的版本,還需要繼續進行開發或者審查,請參考下圖所示:

1WIP


做為對照,我們也可以
Visual Studio Code 開發工具看到這個提取請求(Pull Request),點選連結可以進一步開啟提取請求,以便詳細檢視程式代理人工作的細節,請參考下圖所示:

2:程式代理人工作的細節


要了解
GitHub Copilot程式代理人更詳細的工作流程資訊,我們可以點選提取請求(Pull Request)頁面中的「View Session」按鈕,請參考下圖所示:

3:點選「View Session」顯示詳細的工作流程

 

接著會開啟自動化「工作會話(session)」的詳細紀錄頁面,由於筆者測試時,在Visual Studio Code開發工具中總是顯示一片空白,下圖是從GitHub官網看到的畫面:

4:「工作會話(session)」的詳細紀錄頁面



「工作會話(
session)」會話頁面通常包含以下資訊:GitHub Copilot程式代理人(GitHub Copilot coding agent)擬定的任務清單初始計畫(Initial plan)、它所做的步驟或產生的建議、每個 commit 的簡短說明或,你也可以直接查看檔案了解變更前後的差異、以及agent 可能GitHub Copilot程式代理人進行的內部步驟、註解(例如:使用何套件、建立哪些檔案),還有「開始工作 / 完成工作」等事件的時間軸。我們可以從中審查 GitHub Copilot程式代理人(GitHub Copilot coding agent)實際做了哪些修改、檢視生成的程式碼、了解為何建立這個提取請求(Pull Request)。

回到提取請求(Pull Request頁面,在此需要稍候一下,待GitHub Copilot程式代理人完成工作。你隨時可按下取請求(Pull Request頁面中的「Refresh」按鈕,直到看到@copilot完成所有工作,它會總結執行的每項工作,請參考下圖所示:

5GitHub Copilot程式代理人完成工作


甚至也可以看到
GitHub Copilot程式代理人設計好的螢幕截圖畫面,雖然此時中文顯示不出來,但不影響程式碼正常功能,可以先略過,請參考下圖所示:

6:螢幕截圖畫面


人工審查(Review)階段

自動生成的程式碼應該像人工提取請求(Pull Request)一樣進行審查:檢查相依性、API 金鑰、密碼等機密資訊是否意外被提交(通常不會,但務必要檢查)、以及行為是否符合預期。GitHub Copilot 程式代理人是幫你產生起始實作與建議,最終的合併與責任仍屬於存放庫的擁有者或審查者。

下一步會進入到人工審查(Review)階段,由我們負責檢查看看GitHub Copilot程式代理人撰寫的程式碼是否符合需求,如果有需要調整的地方,你可以在提取請求(Pull Request)頁面上留言,讓GitHub Copilot程式代理人進行修改。按下「Reay for Review」按鈕進入審查(Review)階段,請參考下圖所示:

7:審查


按下「
Ready for review」按鈕會把工作中的提取請求從「Draft」狀態改為「Ready」(準備審查)。草稿階段的提取請求不能被合併;當狀態變更為「Ready」之後就有可能被合併(視分支保護、檢查結果與審查情況)。


合併

最後仍需人工(或 CI/CD 自動作業)執行合併動作。按下「Merge Pull Request」建立「Merge Commit,請參考下圖所示:

8:「Merge Pull Request

 

稍候一下,當目前提取請求的分支與基礎分支不衝突的情況下,我們可以按下「Create Merge Commit」按鈕,請參考下圖所示:

9Create Merge Commit


回到
Visual Studio Code開發工具「GitHub」延伸模組介面,按下「Issues」的「Refresh」按鈕,上面的GitHub議題(GitHub Issue)已不見,表示問題已解決,請參考下圖所示:

10:解決GitHub議題(GitHub Issue


到這邊,所有的步驟都完成了。最後附上
GitHub Copilot程式代理人幫我們設計完成的網站首頁畫面,請參考下圖所示:

11:待辦事項管理


還有版權宣告畫面,請參考下圖所示:

12:版權宣告說明


總結

本系列文章介紹如何透過 GitHub Copilot 程式代理人(GitHub Copilot coding agent)完成自動化開發流程,如何提取請求(Pull Request PR)與進行人工審查。當任務被指派後,GitHub Copilot 程式代理人會在新分支實作程式並建立提取請求,連結到對應的 GitHub 議題(GitHub Issue)。提取請求標題若出現 [WIP],代表工作尚在進行中,仍需後續開發或審查。開發者可在 GitHub 官網或 Visual Studio Code 開發工具中檢視提取請求細節,透過「View Session」功能追蹤 GitHub Copilot 程式代理人的任務計畫、步驟紀錄、提交內容與程式碼差異,甚至包含螢幕截圖。

進入人工審查(Review)階段後,開發者需確認程式碼是否符合需求,並檢查是否有相依性或敏感資訊外洩。若有需要,可在提取請求(Pull Request)上留言讓 GitHub Copilot 程式代理人進行修改。當工作成熟,按下「Ready for Review」即可讓提取請求進入審查狀態,最終仍需人工或 CI/CD 進行合併(Merge)。當提取請求成功合併後,相關 GitHub 議題(GitHub Issue)會自動關閉,表示任務完成。

整體流程展現了 Copilot 程式代理人高效率的自動化開發能力,但也強調人工審查與合併的重要性,確保程式碼品質與專案穩定。透過這樣的合作模式,開發者能減少重複性工作,專注於更高層次的設計與決策。

 


0 意見:

張貼留言