iT邦幫忙

2026 iThome 鐵人賽

DAY 24
0
Vibe Coding

重新認識Github Copilot (續)系列 第 24 篇

Day24 - GitHub Copilot Custom Agents 與 Subagents 實測:把畫流程圖這件事外包出去

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20261008/20103333EAsMtsM0mZ.png

看到這張鎮樓圖,筆者想先講結論:GitHub Copilot 不只是幫忙補幾行程式碼而已, 現在還可以建立自己的 Custom Agent,再把特定工作切出去交給 Subagent 處理。今天筆者就拿「根據程式碼產生流程圖」這個很實際的任務來練手, 順便把兩種使用方式一次補完~

https://ithelp.ithome.com.tw/upload/images/20261008/20103333EMD6iHLbnW.jpg

🧠 先搞懂:Subagent 到底是什麼?
Subagent 擁有獨立的上下文,不會直接帶著主對話的聊天紀錄一起跑。
Subagent 的核心特性:它會和原本的主要 Agent 切割, 擁有自己獨立的 context。也就是說,主對話裡那些已經聊過一大串的內容, 不會全部塞進 Subagent 的腦袋裡。

📌 Subagent 的三個重點
1. 獨立上下文:不直接繼承主 Agent 的聊天紀錄,任務邊界比較乾淨。

2. 專注單一任務:例如只負責畫流程圖、產生測試、做程式碼分析。

3. 回報結果給主流程:它不是另開一個人生,而是完成工作後把結果交回來。

這個設計對大型專案特別實用。主 Agent 如果已經聊了幾十輪,context 長到像台灣年節紅包袋一樣厚, 再要求它畫圖,可能會開始抓錯重點。把任務切給獨立 Subagent,至少可以降低上下文互相污染的機會。

🛠️ 實作第一關:建立專門畫流程圖的 Custom Agent
先定義一個專門根據程式碼產生流程圖的 Agent。
接著筆者開始實作。這次的需求很單純:建立一個專門分析程式碼、產生 flowchart, 而且把結果存到專案 root folder 的 Custom Agent。

https://ithelp.ithome.com.tw/upload/images/20261008/20103333cR6ByXBPp5.jpg

透過 create agent 指令建立可重複使用的 Agent。
我使用 /create-agent,並描述這個 Agent 要做的事情,大意就是: 根據程式碼畫出 flow chart,最後把檔案存到 root。完成後,專案裡會出現類似 .github/agents/code-flowchart.agent.md 的設定檔。


name: Code Flowchart Designer
description: Analyze code and draw a Mermaid flowchart

請分析目前專案的程式碼,
使用 Mermaid 語法產生流程圖,
並將結果儲存到專案根目錄的 flowchart.md。
這裡要注意,Custom Agent 本質上就是一份可管理的設定與指令,不是什麼神秘黑魔法。 把角色、任務範圍、輸出格式交代清楚,後面才不會每次都靠抽卡。

https://ithelp.ithome.com.tw/upload/images/20261008/20103333NGpF4PtOQp.jpg

Agent 根據程式碼產生 Mermaid 流程圖,並在編輯器中檢視結果。

🧩 筆者這次的任務設計
輸入目前工作區的程式碼與專案檔案

分析找出主要流程、使用者操作、API 呼叫與錯誤路徑

輸出Mermaid 格式的流程圖,寫入 flowchart.md

檢查在 Mermaid Preview 中確認圖是否真的畫得出來

🎨 產出結果:程式碼終於可以「看圖說故事」
產生 flowchart.md 後,直接在 VS Code 中查看 Mermaid 內容。
沒想到畫面真的產生了流程圖,包含前端啟動、使用者輸入、資料驗證、API 呼叫、 成功與錯誤處理等路徑。對筆者來說,這種輸出比單純叫 Copilot 解釋一段程式碼更有價值, 因為流程圖可以拿去和團隊討論,也可以放進文件裡補完系統脈絡。

https://ithelp.ithome.com.tw/upload/images/20261008/20103333P0GtIy6bzL.jpg

透過 Mermaid Preview 檢查流程圖的實際呈現。

🚦兩種使用方式:單獨跑,或跟主 Agent 一起跑
Custom Agent 建好之後,筆者實際整理出兩種使用模式。這兩種我覺得都值得學會, 因為一種適合自己單獨處理專門任務,另一種則適合讓主 Agent 在工作途中呼叫它。

▶️ 模式一:直接使用 Custom Agent
在 Chat 介面選取剛建立的 Agent,直接把任務交給它。這種方式的好處是很直覺, 我可以明確知道目前是哪一個 Agent 在工作,也比較適合重複執行同一類任務。

例如:選擇 Code Flowchart Designer,請它分析目前專案並更新 flowchart.md。完成後再透過 Mermaid Preview 檢查。

https://ithelp.ithome.com.tw/upload/images/20261008/201033337KDc2GaGdj.jpg

🛰️ 模式二:由主 Agent 呼叫 Subagent
另一種是讓主 Agent 在處理任務時,把特定工作委派出去。筆者示範使用 #runSubagent,並下達「分析程式碼並畫出流程圖」的要求。

這時候主 Agent 會根據需求尋找適合的 Agent 執行,Subagent 用自己的上下文完成分析, 最後再把成果回傳到主流程。簡單講,就是主 Agent 不用什麼都自己來, 可以把畫圖這個工作外包出去,自己繼續處理其他事情。

https://ithelp.ithome.com.tw/upload/images/20261008/201033334gNynJ75ux.jpg

使用 #runSubagent 將分析與畫圖工作委派出去。
這裡筆者特別提醒一下:不要只看畫面上出現「Run agent」就以為大功告成, 還是要確認它到底跑了哪一個 Agent、修改了哪些檔案,以及輸出的內容是否符合需求。 AI 工具最怕的不是不做事,而是很認真地做錯事 😅

更多實作細節,請參考完整版影片囉

🏁 本日總結:把 Agent 分工好,流程圖就不再靠手工磨
這次實作讓筆者比較清楚 Custom Agent 和 Subagent 的差異: Custom Agent 是先建立一個專門角色,Subagent 則是把這個角色獨立派出去執行。 前者像是建立工具箱,後者像是把工具交給專人處理。

如果你的日常工作常常重複做程式碼分析、文件整理、測試產生或流程圖繪製, 這類 Agent 非常值得建立。也能讓團隊把常見任務標準化,實務上非常實用,絕對是 GitHub Copilot 的必學技能之一啊~/images/emoticon/emoticon07.gif


上一篇
Day23 - AGENTS.md:讓 Github Copilot、Codex、Claude Code 遵守同一套開發規則
下一篇
Day25 - 把自己的工具包打包成 GitHub Copilot Plugin😁
系列文
重新認識Github Copilot (續) 共 25 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言