
目標設定 - Clean Architecture in TypeScript
跟以往不同的地方在於,加入 AI 到產品與開發流程過後,許多以往的思考方式會有所改變。因此這一次我們的目標除了原本實現的功能外,還要考慮新型態的軟體開發方式。
半自動
在開發上,我們會從人工的方式進入到一種類似「半自動」的狀態,跟原本我們使用 GitHub Copilot 的補全(Completion)機制不太相同,半自動是大部分的程式碼都由 AI 來實作,而不是人類撰寫一部分後產生剩下的部分。
直到這系列撰寫時(2025 年上半)使用 AI Agent 來產生程式碼還無法達到完全自動,因此會需要經過下達指示、生成、檢查這樣的循環,這樣的開發過程我們可以看做是半自動,因為有不少需要人工確認、調整的成分存在,而我們需要習慣這樣的新型態。
然而,即使未來能夠達到全自動的程式撰寫,仍會需要有人檢查以及下達初始的指示。因此比起預期全自動,不如以半自動前提思考軟體開發更加實際,而且更可能接近實際的專業開發情境,因為我們的底線是安全、穩定的系統。
彈性
在軟體上,我們從原本的 GUI(圖形化使用者介面)又獲得了一種新的 UI 形式,即使現在還沒有一個專屬的名稱,但我們現在可以透過聲音、文字進行操作,又不需要「精確」的指令。
以往透過文字的操作介面,可能會是 CLI(Command Line)或者 API(Application Interface)等形式,但都不能算是對人類方長友善的方式,即使是 Siri 這類智慧助理,也大多是根據特定的關鍵字觸發,和 CLI 的差異不大。
然而使用 AI Agent(代理人)的情境,是能夠真實的理解我們的意圖以及尋找可能的工具,那麼原本軟體的操作方式就變得更加彈性、直覺,我們就需要在操作上重新思考可能性。
對話式購物車
這一系列我們將會以「透過對話」的方式進行購物,製作一個模擬的購物車操作介面。如同我們跟線上賣場的賣家對話後,決定購買某些商品一樣,我們將會嘗試讓 AI Agent 幫助我們實現這樣的功能。
也因此,這一次我們會利用 AI 協助生成程式碼,完成更多的功能。這包括前端介面、後端的狀態保存和即時對話,透過 Clean Architecture 的幫助切分成恰當的的小,讓 AI 更容易幫助我們生成程式碼,以及近一步加速我們的開發速度。
在這一系列中,我們會減少討論實作細節(如:Controller 的實作)更加著重在如何給予好的指示、區分元件等等面向,讓我們一起重新理解「軟體開發」是怎樣的。
如果對這篇文章有興趣,可以透過以下連結繼續閱讀這系列的其他文章。
- 連載介紹 - Clean Architecture in TypeScript
- 目標設定 - Clean Architecture in TypeScript