---
title: "連載介紹 - Clean Architecture in TypeScript"
date: 2025-07-04T00:00:00+08:00
publishDate: 2025-07-04T00: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/04/clean-architecture-in-ts-series-introduction/"
language: "zh-tw"
---



寫完 [Clean Architecture in Go](https://blog.aotoki.me/series/clean-architecture-in-go/) 系列後，原本預定是要探討 Ruby 相關的主題，然而剛好遇上大量的 AI（人工智慧）應用出現，加上手邊正好使用 TypeScript 做了一些實驗，才有了這一系列的出現。

<!--more-->

## 意外{#accident}

AI 技術的發展速度遠比我預期還快，最初打算以 AI Agent（代理人）為主軸，以傳統方式進行開發，搭配 [Global Game Jam 2025 - 以 Clean Architecture 思考 AI Agent 的導入](https://blog.aotoki.me/posts/2025/02/05/global-game-jam-think-about-ai-agent-with-clean-architecture/)這篇文章所提及的經驗。

然而，在 2025 年我注意到了讓我認為可以使用 AI Codegen（程式碼生成）的契機，因此在[身為工程師，我在 2025 年如何用 AI 寫程式](https://blog.aotoki.me/posts/2025/04/02/as-programmer-how-i-use-ai-codegen-in-2025/)這篇文章提及使用的心得，以及這系列會採用跟以往不同的開發方式。

最終，這系列將會呈現兩種不同的 AI 應用情境，開發的方式轉變，以及軟體使用方式的轉變。

## 開發的變化{#change-of-development}

直到 2025 上半年，我認為最大的改變是軟體工程師從「打字」這件事情被解放出來，我們不再需要耗費大量的時間跟精力，從腦中提取知識轉變成可以使用的程式碼。同樣的，也不再被大量程式語言、套件的文件束縛，這一切都被 LLM（大型語言模型）提供的文字生成功能取代。

是的，這並不代表軟體工程師失去價值。而是我們回歸到「工程」這件事情，至少我們會以 Engineer（工程師）自稱，而不是 Programmer（程式設計師）或者 Coder（碼農）

即使上述三者都能進行軟體開發，然而工程師的角色是有系統、仔細分析的在建構軟體，而不單純只是產生程式碼，或者依照需求設計一些程式（Program）也因此，有一部分人認為，在未來只會有 Architect（架構師）這樣的角色存在，或者另一種更加跨職能的角色。

不論如何，在未來我們需要思考的是工程層面的問題，這也將會這這系列會專注探討的問題。
## 軟體的變化{#change-of-software}

除了開發方式的變化，軟體使用的方式也會有很大的不同，這種差異主要表現在使用者體驗（UX，User Experience）的變化。

過去使用者體驗努力的在人機互動（HCI，Human–computer interaction）上努力，以軟體來說就是設計容易使用的使用者介面（UI，User Interface）讓使用者可以更好的使用軟體。

即使如此，我們仍然為了學習怎麼使用軟體頭痛，一個軟體中竟然有上百的快速鍵（Shortcut）要記憶，想要高效的完成工作必須記住 30% 以上的快速鍵，或者各種功能。然而，在未來我們只需要透過文字、語音告訴 AI Agent 我們想做的事情，就能共自動規劃選擇那些我們可能永遠不會知道的功能，解決當下我們需要處理的任務。

若要形容未來這個時代，也許用「知識的解放」說不定更加合適。
