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

🧠 先搞懂:Subagent 到底是什麼?
Subagent 擁有獨立的上下文,不會直接帶著主對話的聊天紀錄一起跑。
Subagent 的核心特性:它會和原本的主要 Agent 切割, 擁有自己獨立的 context。也就是說,主對話裡那些已經聊過一大串的內容, 不會全部塞進 Subagent 的腦袋裡。
📌 Subagent 的三個重點
1. 獨立上下文:不直接繼承主 Agent 的聊天紀錄,任務邊界比較乾淨。
2. 專注單一任務:例如只負責畫流程圖、產生測試、做程式碼分析。
3. 回報結果給主流程:它不是另開一個人生,而是完成工作後把結果交回來。
這個設計對大型專案特別實用。主 Agent 如果已經聊了幾十輪,context 長到像台灣年節紅包袋一樣厚, 再要求它畫圖,可能會開始抓錯重點。把任務切給獨立 Subagent,至少可以降低上下文互相污染的機會。
🛠️ 實作第一關:建立專門畫流程圖的 Custom Agent
先定義一個專門根據程式碼產生流程圖的 Agent。
接著筆者開始實作。這次的需求很單純:建立一個專門分析程式碼、產生 flowchart, 而且把結果存到專案 root folder 的 Custom Agent。

透過 create agent 指令建立可重複使用的 Agent。
我使用 /create-agent,並描述這個 Agent 要做的事情,大意就是: 根據程式碼畫出 flow chart,最後把檔案存到 root。完成後,專案裡會出現類似 .github/agents/code-flowchart.agent.md 的設定檔。
請分析目前專案的程式碼,
使用 Mermaid 語法產生流程圖,
並將結果儲存到專案根目錄的 flowchart.md。
這裡要注意,Custom Agent 本質上就是一份可管理的設定與指令,不是什麼神秘黑魔法。 把角色、任務範圍、輸出格式交代清楚,後面才不會每次都靠抽卡。

Agent 根據程式碼產生 Mermaid 流程圖,並在編輯器中檢視結果。
🧩 筆者這次的任務設計
輸入目前工作區的程式碼與專案檔案
分析找出主要流程、使用者操作、API 呼叫與錯誤路徑
輸出Mermaid 格式的流程圖,寫入 flowchart.md
檢查在 Mermaid Preview 中確認圖是否真的畫得出來
🎨 產出結果:程式碼終於可以「看圖說故事」
產生 flowchart.md 後,直接在 VS Code 中查看 Mermaid 內容。
沒想到畫面真的產生了流程圖,包含前端啟動、使用者輸入、資料驗證、API 呼叫、 成功與錯誤處理等路徑。對筆者來說,這種輸出比單純叫 Copilot 解釋一段程式碼更有價值, 因為流程圖可以拿去和團隊討論,也可以放進文件裡補完系統脈絡。

透過 Mermaid Preview 檢查流程圖的實際呈現。
🚦兩種使用方式:單獨跑,或跟主 Agent 一起跑
Custom Agent 建好之後,筆者實際整理出兩種使用模式。這兩種我覺得都值得學會, 因為一種適合自己單獨處理專門任務,另一種則適合讓主 Agent 在工作途中呼叫它。
▶️ 模式一:直接使用 Custom Agent
在 Chat 介面選取剛建立的 Agent,直接把任務交給它。這種方式的好處是很直覺, 我可以明確知道目前是哪一個 Agent 在工作,也比較適合重複執行同一類任務。
例如:選擇 Code Flowchart Designer,請它分析目前專案並更新 flowchart.md。完成後再透過 Mermaid Preview 檢查。

🛰️ 模式二:由主 Agent 呼叫 Subagent
另一種是讓主 Agent 在處理任務時,把特定工作委派出去。筆者示範使用 #runSubagent,並下達「分析程式碼並畫出流程圖」的要求。
這時候主 Agent 會根據需求尋找適合的 Agent 執行,Subagent 用自己的上下文完成分析, 最後再把成果回傳到主流程。簡單講,就是主 Agent 不用什麼都自己來, 可以把畫圖這個工作外包出去,自己繼續處理其他事情。

使用 #runSubagent 將分析與畫圖工作委派出去。
這裡筆者特別提醒一下:不要只看畫面上出現「Run agent」就以為大功告成, 還是要確認它到底跑了哪一個 Agent、修改了哪些檔案,以及輸出的內容是否符合需求。 AI 工具最怕的不是不做事,而是很認真地做錯事 😅
更多實作細節,請參考完整版影片囉
🏁 本日總結:把 Agent 分工好,流程圖就不再靠手工磨
這次實作讓筆者比較清楚 Custom Agent 和 Subagent 的差異: Custom Agent 是先建立一個專門角色,Subagent 則是把這個角色獨立派出去執行。 前者像是建立工具箱,後者像是把工具交給專人處理。
如果你的日常工作常常重複做程式碼分析、文件整理、測試產生或流程圖繪製, 這類 Agent 非常值得建立。也能讓團隊把常見任務標準化,實務上非常實用,絕對是 GitHub Copilot 的必學技能之一啊~![]()