---
title: "目標設定 - Clean Architecture in TypeScript"
date: 2025-07-11T00:00:00+08:00
publishDate: 2025-07-11T00:00:00+08:00
lastmod: 2025-11-21T10:38:12+08:00
tags: ["TypeScript","Clean Architecture","架構","經驗","AI"]
series: "clean-architecture-in-ts"
toc: true
permalink: "https://blog.aotoki.me/posts/2025/07/11/clean-architecture-in-ts-goal-setting/"
language: "zh-tw"
---



跟以往不同的地方在於，加入 AI 到產品與開發流程過後，許多以往的思考方式會有所改變。因此這一次我們的目標除了原本實現的功能外，還要考慮新型態的軟體開發方式。

<!--more-->

## 半自動{#semiauto}

在開發上，我們會從人工的方式進入到一種類似「半自動」的狀態，跟原本我們使用 GitHub Copilot 的補全（Completion）機制不太相同，半自動是大部分的程式碼都由 AI 來實作，而不是人類撰寫一部分後產生剩下的部分。

直到這系列撰寫時（2025 年上半）使用 AI Agent 來產生程式碼還無法達到完全自動，因此會需要經過下達指示、生成、檢查這樣的循環，這樣的開發過程我們可以看做是半自動，因為有不少需要人工確認、調整的成分存在，而我們需要習慣這樣的新型態。

然而，即使未來能夠達到全自動的程式撰寫，仍會需要有人檢查以及下達初始的指示。因此比起預期全自動，不如以半自動前提思考軟體開發更加實際，而且更可能接近實際的專業開發情境，因為我們的底線是安全、穩定的系統。

## 彈性{#flexible}

在軟體上，我們從原本的 GUI（圖形化使用者介面）又獲得了一種新的 UI 形式，即使現在還沒有一個專屬的名稱，但我們現在可以透過聲音、文字進行操作，又不需要「精確」的指令。

以往透過文字的操作介面，可能會是 CLI（Command Line）或者 API（Application Interface）等形式，但都不能算是對人類方長友善的方式，即使是 Siri 這類智慧助理，也大多是根據特定的關鍵字觸發，和 CLI 的差異不大。

然而使用 AI Agent（代理人）的情境，是能夠真實的理解我們的意圖以及尋找可能的工具，那麼原本軟體的操作方式就變得更加彈性、直覺，我們就需要在操作上重新思考可能性。

## 對話式購物車{#conversational-cart}

這一系列我們將會以「透過對話」的方式進行購物，製作一個模擬的購物車操作介面。如同我們跟線上賣場的賣家對話後，決定購買某些商品一樣，我們將會嘗試讓 AI Agent 幫助我們實現這樣的功能。

也因此，這一次我們會利用 AI 協助生成程式碼，完成更多的功能。這包括前端介面、後端的狀態保存和即時對話，透過 Clean Architecture 的幫助切分成恰當的的小，讓 AI 更容易幫助我們生成程式碼，以及近一步加速我們的開發速度。

在這一系列中，我們會減少討論實作細節（如：Controller 的實作）更加著重在如何給予好的指示、區分元件等等面向，讓我們一起重新理解「軟體開發」是怎樣的。
