DevOps 是軟體”開發”與”運作”的整合與自動化,而運作時所遇到的問題會再反饋回開發,開發修正後,再自動化重新運作,形成一閉環。不過,過去這”自動化”閉環當中,還是要有「人」去接收反饋與修正開發,因此並非全自動化。
我最近想練練功、導入 AI 代理人 (agent) 作自動化,就想到我一直有一個未解決的難題:幾年前我陸續開發、上架幾款 apps(目前有在維護的約 10 個,雖稱不上什麼大作,但起碼寫在履歷中可以混口飯吃😅 )其中幾款 apps 使用的資料來源是政府的開放資料,如免費 WiFi、充電位置,需定期連網更新。
但使用”別人的”資料這一點,就造成不好控管。例如,對方把資料網址一改,我的 app 就掛了。對方把資料格式一改,我的 app 也掛。還有對方什麼時候改資料,我可能也無法知道。只能等到有好心的 app 使用者寫信給我,才能知道,但這期間不知會流失多少一去不回的使用者🥲
我過去有稍微改善此問題:抓資料程式要檢查來源格式,如果不正確,則第一時間發通知給我。我就能及時(?)修正程式問題。但實際上修正程式的工作仍是很費勞力、又無趣,特別是平日下班我不想再去修 bug、假日也不想特別安排時間修 bug😅
最近又遇到我的 app 因為來源資料格式變動而掛掉,就讓我在想能不能用 AI 做到”一鍵修 bugs”?我只要審 code 就好。我就用自然語言用 AI (GPT-5.3-Codex) 生成一支 agent skill 定了一個工作流:叫 AI 第一步抓檔,第二步將最新資料格式更新至現有程式碼的資料格式。實際執行 skill 成功一鍵修 bugs😄
我只寫了 4 句短短的話,生成了一個 skill,就能重覆呼叫 skill 讓 AI 幫我完成一項須要做但無趣的事,修 bugs 的複雜度大大降低。與 AI 協作確實能省很多工,我可以用「高階抽象」的自然語言對 AI 說出我的需求,而 AI 將我的需求利用「低階複雜」的程式實作幫我達成目的。而我不須要去使用或開發那些複雜的程式,即使我做得到,也拼不過 AI 來做的速度。也因為要處理的問題難度降低,我也更願意去解決它,不然就是一拖再拖,逃避問題😅
再來就是將 AI agent (Copilot CLI) 與 skill 整合到我這支程式的 DevOps 閉環:
自動排程觸發 app 執行 -> app 抓取原資料,再檢查格式是否有變 -> 若有變,則觸發自動化 CI/CD 工作流 -> CI/CD 工作流呼叫 AI agent (Copilot CLI with GPT-5-mini) 執行 skill -> AI 修正 bugs -> 自動化 CI/CD 作測試、建置、部署新 app -> Telegram 發通知到我的手機。
全程全自動化!因為閉環中的收通知、修 bug 的「人」被 AI 取代了😅 往好處想就是省掉人類去做必要但無趣的工。AI 全自動 DevOps 成就解鎖成功!