2026/03/09

用 GitHub Copilot 程式開發小試身手心得

### 前言 透過 Coding Agent 完全不動手寫 Code 來開發,最初都會卡在起手式,不知道從何下手。 剛好前陣子手邊有一個小專案可以拿來試試,就用它來分享我的漸進開發心得! ### 開發環境 - Windows 10 - VS Code + GitHub Copilot Chat - .NET 10 目標是建立一個 .NET 的 Console App,讀取 Excel 資料,依資料擷取資訊,再輸出成 Excel 結果。 ### 第一階段: 正常開發模式 整個 App 是照著我原本的開發流程來走,還沒完全讓 Coding Agent 介入的開發模式。 因為完整的功能需求及流程是手刻完成,每行程式都是有 review 過的,在專案中會使用到的套件也都很明確。 我把這個手刻的版本當成我要跟 AI 協作過程的成果依據來開始作試驗。 ### 第二階段: Vibe Coding 有了一個完整的成果,也有明確的規則,直接用 Agent 模式,打一大串提示詞,包含技術規格及輸入輸出格式,就讓它自由發揮。 第一版出來的結果大致上有想要的結果,但是因為初次嚐試,沒讓它幫我寫測試,所以當發現有某些欄位沒有預期的值時,會需要這裡修那裡修,反覆下提示詞做修改。 我覺得如果是很小的專案,像是一頁式網頁或小遊戲,是可以讓 Agent 一次做足想要的功能。 ### 第三階段: SDD 開發模式 大家也知道 Vibe Coding 想要讓專案一次到位是有困難的,然後也不免會改A壞B的狀況發生。 所以 SDD(Specification-Driven Development,規格驅動開發)的出現,把開發流程變得可控一點。 說實在,要全放手讓 AI 完全介入到開發這件事,我本身沒有一開始就追,所以呢,讓子彈飛一下也是有好處的,就在這一兩月的時間裡,不管是開發模式或是 AI 模型,都大幅地進步,也造就許多前人先踩過很多雷再帶出新方法。 至於 SDD,我就試著用 GitHub Spec Kit 以及 OpenSpec 做相同的 app 開發,試試哪一種更適合我的習慣及可接受的開發流程。 先試著用 Spec-Kit 開發,把 Vibe Coding 用的提示詞,再經過修正後,讓它建立規格,校正我要的規格後,再做執行開發。效果的確也有達到成果,只是我本身會卡在若要加功能,起手式好像有點無所適從。 接下來再試 OpenSpec 做相同的事,先提案產生規格,執行改變,到確認歸檔。有新功能,再重覆做 propose, apply, 最後 archive。我好像找到了目前適合我與 AI 協作的開發模式。 ### 小結心得 透過不同的方法,即便提示詞大同小異,使用不同的模型也會幫你建出不同的程式碼,初次嚐試 Coding Agent 也實在是驚豔。 AI 掘起的現今,不得不與 AI 同行,要怎麼協作是很大的功課。開發流程的改變,不得不說真的也有影響,隨著各大廠推陳出新的模型,要怎麼運用愈來愈聰明的模型來幫助自己,需要自己動手動腦下去找答案。 我的嚐試方式就是以上的三個階段,先從自己熟悉的開始,然後再用不同的方法,來試著達到相同的成果。未來也許做法又會有所改變,也只能跟著改變,那就靜觀其變吧!

2026/03/01

[Copilot] 近期驚呼有感之 AI 時代一起協作程式開發

markdown 2026 年也才剛過兩個月,近期與 AI 的協作開發有很大的改變。 去年此時,還只是跟 AI 聊聊天,生成一些需要的程式片斷,或者在 IDE 讓 AI 做程式補全。 去年底開始到今年初,各家 AI 推陳出新,快到讓人有種追著跑的感覺。 各式各樣的 AI 工具接連推出,現在程式開發者或多或少都有用過 Claude Code、OpenAI Codex 和 GitHub Copilot 其中之一的 AI 工具吧?! 我個人本身都是用 GitHub Copilot 來協作開發,去年主要都以程式補全為主,而今年開始接觸試著 Vibe Coding 到 SDD 開發,有感 AI 發展的神速。 也許去年沒有緊追 AI 也不算壞事,大家都在找方法,找與 AI 更好的協作方式。 而今年開始,似乎摸索出與 AI 有著更好的協作雛形,不論是不懂程式的小白或是懂程式的工程師。
上個月用 GitHub Copilt 協作做了兩個小工具,有興趣的可以看看,小工具完全開源,坐落在輕工具小鎮:Winnie @ Tiny Tool Town 還有一個我很喜歡玩的小遊戲 Sudoku,瀏覽器打開就可以玩。 以前要是開發這個程式,至少也要耗上好幾個小時甚至幾天研究並開發。誰能想像現在只要給文字描述就能請 AI 在幾分鐘內幫忙完成至少九成以上功能。 玩完一盤的時間,還比開發它的時間還長,你說誇不誇張?
Play Game: Sudoku 先聊到這裡,之後再來分享一些協作開發心得!