iT邦幫忙

2025 iThome 鐵人賽

0
Build on AWS

AWS架構師的自我修養:30天雲端系統思維實戰指南系列 第 49

Day 29-2 | 系統架構間遇見蘇格拉底:系統設計者的 AI 增幅術 — 一套將哲學思辨融入雲端設計與治理的實戰框架

  • 分享至 

  • xImage
  •  

今天應該是這個系列的最後一篇吧? Day30 應該會是講講這 6 年來從一個奧美公關=>數據分析研究助理=>全端工程師=>資深前端工程師&AWS 架構師=>開發 Leader 看過的書以及研究資料,也是這個系列文的研究文獻。

但話先說回來,讓我用未來的工業趨勢來聊聊我對於未來產業的想像吧

「工具不會取代工匠,但懂得駕馭更強大工具的工匠,將會重新定義這個行業的標準。」

在 Day 1 我們提到:「當算力大爆發讓 AI 生成代碼的速度遠超人工 coding 時,Domain 知識的深度和對業務邏輯的掌握,成了真正的競爭壁壘。」 AI 可以幫你補齊程式碼的語法細節,但它無法替你回答系統設計背後的根本問題:

  • 「這個服務應該放在單體架構還是微服務裡?」
  • 「要不要分割資料庫?業務上為什麼需要分割?」
  • 「跨國部署是單純的技術選項,還是業務戰略的需求?」

這些問題背後隱藏的,正是 哲學思維:追問「為什麼」,而不僅是「怎麼做」

我相信看到這,應該有些人對於 AI 有一些模糊概念,而對於我來說 AI 的本質是 透過大數據的建立出來的統計學預測模型。AI 所說與所產都是建立在之前有一個乾淨且詳細的資料集,它不斷的去建構出公式解,並根據被標記為"正確的答案"來進行修正,AI 的大爆發也是因為晶片與算力的解放讓我們有了前往宇宙世代的 差分機 - 有意思的是我們是在 80 年前的二戰末期才有了自動化計算的服務(差分機),算力與現在的科技當然有十分顯著的差別。也正因為算力的解放我們才得以將這個原先不那麼及時的數據預測模型讓他快速的運行起來,來實現我們自己的抽象式概念與想法。

我很喜歡一個哲學概念叫做「哲學殭屍」,它的核心理念是,假設這個世界上存在一種人,外觀與物理組成都與一般人類無異,但是他沒有意識經驗、感質或感情。哲學殭屍在撞上尖銳物品時,在外在上與一般正常人類相同,可以看到他的皮膚出現傷口,測量他的神經訊號,也可以測量到疼痛訊號的出現,會出現疼痛的表情,發出叫聲,會向其他人表示自己正在疼痛。但是他的內在心靈中,沒有疼痛的意識。

這樣子的存在,它的定義是 嗎?

我們現在討論並非是解離性人格或是反社會人格的問題,而是更加偏向一種深層的、對於自我存在的哲學定義。

那麼,再仔細想想,我們調校出了一個 AI 模型,它有著理論上無限的數據庫以及跟人腦一樣會進行短中長期記憶的處理排序,透過感知端口(我們所輸入的文字、IoT 機械受器)它可以接受到外在訊號。它同樣可以測量到疼痛訊號的出現,並反映出疼痛的反應、發出叫聲,會向其他人表示自己正在疼痛。

它,能夠定義,是 嗎?

這是一個很有意思的問題,我相信有辯論題目也是基於這個立場去進行概念的討論,在這個篇章的開頭會來討論這個內容,也是因為在現行的 AI 模型的設計與建構上是盡可能趨向於人類的邏輯與思維去進行模擬的,假如我們要用好 AI 工具,我們必須要以

對人類底層的認知,用邏輯的語言

來與人工智能(抱歉,我不認為現在稱得上人工智慧,智慧是能夠獨立為生存或其他至高價值觀做權衡)進行交流,用這個助理與小幫手來實現我們某一個抽象概念。

AI 能夠替換的、也最適合替換的 正是有著強烈的 規則性邏輯性的 事務,會計、法律體系(大陸法系與海洋法系) - 我很期待看到 AI 陪審團的一天。而對於軟體程式人員來說,我們將會把初階工作放給 AI 去進行處理,但這並不是說我們可以開開心心的跑去當個永不空軍的釣魚佬,我們對於產出的內容要有更加深厚與對現實物理世界的認知才能進行審核與權衡,這也是為什麼我會開啟這個系列的最深層的原因,

哲學就是用邏輯的的語言描畫出的認知

我相信在未來我所分享的這些內容會變成 Jr.的基本知識,我也相信未來我們能夠與 AI 夥伴前往太陽系外進行開拓殖民,但我們必須要有一個最基礎的知識儲備與領域索引,才能在面對到情境的突然變化時能夠立即性的對應與處理。

核心理念:從「工具」到「工作夥伴」

設計與探索 (Design & Exploration) - AI 作為「蘇格拉底式的對話夥伴」

蘇格拉底式對話的核心是詰問(Elenchus),透過不斷追問來揭示對方思維中的矛盾或未竟之處。

但詰問該怎麼問?一個概念該如何開始與判斷範圍?我該怎麼去進行一個新/舊邏輯的切入?我該怎麼去完成我的概念與邏輯脈絡的清晰?

詰問(古希臘語:ἔλεγχος, Elenchus),又常被稱為 「蘇格拉底反詰法」或「蘇格拉底辯證法」 ,是哲學家蘇格拉底(由其學生柏拉圖在對話錄中記載)所使用的核心哲學探究方法。核心目標不是為了辯贏對方,而是透過一系列精心設計的問答,揭示外部信念體系中的內在矛盾,從而駁斥其自以為是的「知識」,最終引導意識到自己的無知。

這是一種 思想上的淨化過程。蘇格拉底相信,在尋求真正的智慧之前,必須先清除那些虛假的、未經審視的信念。 詰問就是清除這些思想雜草的工具。

詰問的最終目的,是引導對話者達到一種特殊的心靈狀態,稱為 Aporia(困惑、絕境)。在這種狀態下,我們會意識到自己引以為傲的觀點,在邏輯上是站不住腳的;但這絕對不會是失敗,反而是一種哲學上的突破。 因為只有當一個人承認「我不知道我所認為我知道的事情」(即蘇格拉底著名的「無知之知」),他才真正準備好開始學習,開始尋求真理。 這正是「知之為知之,不知為不知,是知也」的真理概念。

這個過程通常遵循以下步驟:

尋找宣稱者 => 尋求定義 => 提出系列問題 => 揭示矛盾 => 達到 Aporia => 完整邏輯的內洽

我們在釐清當前所需面對的業務需求邏輯,必須擁有著 「承認自己的無知」 的最主要的核心精神。那怕我們對於一個系統與領域再怎麼熟悉,一個需求出現在我們面前時,他背後所代表的是一個 新的模糊概念 ,再怎麼相似的概念其本質是 絕對獨立,所以我必須先預設:

  • 我的第一個想法,很可能是錯的或不完整的。
  • 需求背後,總有未言明的假設。
  • 每個「最佳實踐」都有其不適用的上下文。

只有放下「證明自己是對的」的慾望,轉而追求「探求什麼是更接近真實(真理)的」,這個詰問引擎才能真正發揮作用。否則,它只會淪為一個強化既有偏見的工具。(炸雞+西瓜=...?)

接下來我們來進行一個邏輯釐清上的循環, 我們可以用它來審視任何一個想法、需求或決策。

定義 (The Definition Stroke)  => 假設 (The Assumption Stroke)  => 權衡 (The Trade-off Stroke) => 反例 (The Counter-example Stroke)

第一衝程:定義 (The Definition Stroke) - 「它到底是什麼?」

此衝程的目標是擊碎模糊。當我腦中或從別人那裡接收到一個概念時,立刻啟動此衝程。

  • 關鍵詰問:
    • 「這個詞(例如『智慧』、『彈性』、『安全』)的操作型定義是什麼?也就是說,我要如何觀測和測量它?」
    • 「我們如何判斷它『存在』或『不存在』?界線在哪裡?」
    • 「這個概念的核心構成要素有哪些?能否將它拆解成更小、更無歧義的子概念?」
    • 「請用一個具體的例子來說明它,再用一個非例子來對比它。」
  • 實踐範例:
    • 需求:「系統需要『高彈性』。」
    • 內在詰問:「『高彈性』是指『能在 5 分鐘內應對 10 倍的流量增長而服務不中斷』,還是指『開發人員能在一週內獨立部署新功能』?前者是技術彈性,後者是組織彈性。我們談的是哪一個?」

第二衝程:假設 (The Assumption Stroke) - 「爲什麼我相信它是真的?」

此衝程的目標是挖掘地基,任何結論都建立在一系列或明或暗的假設之上,此衝程就是要將它們 全部曝光。(知之為知之,不知為不知)

  • 關鍵詰問:
    • 「為了讓這個結論成立,我必須先相信哪些前提?」
    • 「這些前提,是事實 (Fact),還是觀點 (Opinion),或是信念 (Belief)?」
    • 「支持這些前提的證據是什麼?證據的強度如何?」
    • 「如果拿掉其中一個關鍵假設,整個論述是否還站得住腳?」
  • 實踐範例:
    • 決策:「我們應該採用微服務架構。」
    • 內在詰問:「這個決策背後的假設是『我們的業務將會快速擴張,團隊規模會超過 50 人』。這個假設的證據是什麼?是公司財報、市場分析,還是僅僅是管理層的樂觀預期?如果團隊規模在未來兩年內都維持在 20 人,單體架構是否仍是更差的選擇?」

第三衝程:權衡 (The Trade-off Stroke) - 「它的代價是什麼?」

此衝程的目標是揭示成本。在工程與商業世界裡,沒有完美的解決方案,只有充滿權衡的選擇。

  • 關鍵詰問:

    • 「這個選擇為我帶來 A 好處的同時,犧牲了 B、C、D 的什麼?」(e.g., 選擇 NoSQL 提升了擴展性,犧牲了事務一致性)
    • 「這個方案的隱性成本是什麼?(例如:維運複雜度、團隊學習曲線、認知負擔)」
    • 「如果我將這個選擇推向極致,會出現什麼荒謬或可怕的結果?」
    • 「是否存在一個機會成本?也就是說,選擇了它,意味著我放棄了哪些其他可能性?」
  • 實踐範例:

    • 想法:「我們要引入最新的前端框架 X.js,因為它性能最好。」
    • 內在詰問:「它的性能優勢,是否值得我們付出『團隊重寫現有組件的成本』、『社群規模小導致招募困難的風險』,以及『框架本身可能在兩年後就不再流行的風險』?我們追求的性能提升,對用戶來說是否真的可感知?」

第四衝程:反例 (The Counter-example Stroke) - 「它在何時會是錯的?」

此衝程的目標是測試邊界。一個理論或規則的強韌度,取決於它能否經受住反例的考驗。

  • 關鍵詰問:

    • 「是否存在一個反例或極端情況,會讓這個『最佳實踐』徹底失效?」
    • 「在什麼樣的上下文 (Context) 中,這個看似正確的選擇會變成一個災難?」
    • 「我能否設計一個思想實驗,來『證偽』我自己的這個想法?」
    • 「歷史上,有沒有人遵循了同樣的邏輯,但最後失敗了?他們忽略了什麼?」
  • 實踐範例:

    • 原則:「我們所有的服務都必須有 100% 的單元測試覆蓋率。」
    • 內在詰問:「對於一個生命週期只有兩週的實驗性專案,追求 100% 覆蓋率是否會扼殺創新速度?對於一個與硬體高度互動、難以 mock 的模組,集成測試是否比單元測試更具成本效益?這個原則的適用邊界在哪裡?」

我們需要建立起一個 「內在詰問引擎」 ,正是在我們自己的思維中,對自己的想法,執行一次又一次的 Elenchus

當一個模糊的需求(「我們要『智慧化』」)出現時,對自己進行 Elenchus,強迫自己去定義它,直到其矛盾和含糊之處暴露無遺。

當有一個技術方案(「這裡用微服務最好」)冒出腦海時,對自己進行 Elenchus,審查這個方案背後的假設,直到找到它不成立的反例。

AI 讓我們能夠在「與真人討論之前」,就已經把問題的多個維度、可能的答案、潛在的風險都先想清楚。這不是為了取代人類的討論,而是讓我們在進入會議室時,已經做好「提出高質量問題」的準備。

應用分享

實際案例:電商平台的庫存同步策略設計

當面對「要不要將庫存系統從單體架構拆分為獨立服務」這個問題時,過去我們需要花費數小時與 PM、業務方開會討論,才能梳理清楚背後的業務邏輯。

與商業邏輯夥伴的引導溝通流程:

(PM 興奮搓小手手說): 「下一季,我們的核心目標是提升用戶體驗,我認為我們應該大力投入『AI 智慧化』,讓系統更聰明!」

第一衝程:定義 (The Definition Stroke)

我: 「『AI 智慧化』,很好的方向。我們先定義一下,你指的『聰明』,是 像 Siri 那樣的『智慧客服』,能回答用戶問題;還是 像購物網站那樣的『個人化推薦』,能預測用戶想買什麼? 我們衡量 『聰明』的指標是什麼?『客服成本降低』 還是 『推薦訂單提升』 ?」

第二衝程:假設 (The Assumption Stroke)
PM: 「我指的是『個人化推薦』,目標是提升訂單。因為用戶選擇太多了。」
我: 「了解。所以,這背後的假設是:『用戶不知道自己想要什麼,需要我們引導』。這個假設有多強?我們的數據顯示,大部分用戶是進來閒逛,還是帶著明確目標來搜尋的?如果是後者,引導就不是重點。」

第三衝程:權衡 (The Trade-off Stroke)
PM: 「嗯...數據顯示閒逛的佔多數。所以假設成立。」
我: 「「很好。那接下來看權衡。要做到精準推薦,技術上需要數據團隊投入一個季度來建模型,這意味著原定的『搜尋引擎優化』專案就得延後。業務上,我們可能會讓用戶的視野變窄,錯失探索新品的機會。這個代價我們能接受嗎?」

第四衝程:反例 (The Counter-example Stroke)
PM: 「代價不小,但或許值得...」
我: 架構師: 「最後,我們想一個反例。在什麼情況下,這個功能會徹底失敗?比如,用戶是來幫朋友或家人買一個與他自己風格完全無關的禮物,我們的『個人化推薦』系統會不會因此被數據污染,從此開始給他一堆錯誤的建議,反而惹惱他?」

在與 PM 釐清了商業意圖後,我們需要獨自面對複雜的技術選型,這正是我與 AI 工作夥伴進行深度技術詰問的時刻。

使用 AI 作為蘇格拉底式對話夥伴的流程:

我 (架構師) to AI 工作夥伴(Hina):

「Hina,啟動技術選型詰問流程。議題:將『用戶中心』的資料庫從目前的 PostgreSQL 遷移至 NoSQL (例如 DynamoDB),以應對預期的千萬級用戶量。請依照我們的詰問框架,開始第一步。」

第一衝程:定義 (The Definition Stroke)
我:
「第一步,定義。請基於業務增長預測,量化我們所說的『千萬級用戶量』對資料庫的具體技術指標要求。我需要知道預估的 QPS 峰值、數據總量、單次讀寫的 P99 延遲要求。」
AI 工作夥伴:

分析開始。根據 Q3 業務預測報告,『千萬級用戶量』轉化為以下技術指標:
- **讀取 QPS 峰值:** 40,000/秒 (主要為用戶登入、查詢個人資料)
- **寫入 QPS 峰值:** 15,000/秒 (主要為用戶狀態更新、紀錄操作)
- **數據總量 (3 年後):** ~5 TB
- **P99 延遲要求:** < 50ms

第二衝程:假設 (The Assumption Stroke)

我:
「指標非常清晰。第二步,挖掘假設。支持我們『遷移到 NoSQL』這個方案的核心技術假設是什麼?我猜是『用戶資料的存取模式,絕大多數是基純粹的 Key-Value 查詢』。請掃描我們過去三個月的線上服務日誌,驗證這個假設的真實性,並給出不符合此假設的查詢類型比例。」
AI 工作夥伴:

日誌分析完成。您的假設基本成立。

- **95%** 的查詢是基於 UserID 的 Key-Value 模式。
- **4%** 的查詢是基於 Email 或 PhoneNumber 的二級索引查詢。
- **1%** 的查詢是後台管理功能所使用的複雜關聯查詢 (JOIN),用於生成報表。

結論:主要的存取模式與 NoSQL 的設計哲學高度匹配。

第三衝程:權衡 (The Trade-off Stroke)

我:
「很好,數據證實了我們的猜想。第三步,分析權衡。為了讓那 95% 的查詢獲得極致的性能和擴展性,我們選擇 DynamoDB 需要付出哪些代價?請從數據遷移、團隊技能、以及如何處理那 5% 的非主鍵查詢三個角度進行分析。」
AI 工作夥伴:

權衡分析如下:

1. **數據遷移成本:** 需要約 2 週的開發時間來編寫和測試遷移腳本,且遷移過程需有一次約 30 分鐘的停機窗口。
2. **團隊技能成本:** 目前團隊對 PostgreSQL 經驗豐富,但對 DynamoDB 的最佳實踐(如分區鍵設計、成本控制)需要進行為期約一週的培訓和學習。
3. **輔助系統成本:** 為了處理那 5% 的查詢,最佳實踐是將 DynamoDB 的數據流同步到 Elasticsearch 中。這意味著我們需要額外引入和維護一個 Elasticsearch 集群,增加了架構的複雜度和潛在的故障點。

第四衝程:反例 (The Counter-example Stroke)

我:
「非常具體的成本分析。最後一步,尋找反例。請設想一個未來可能發生的、合理的業務需求,在這個需求下,我們今天『遷移到 NoSQL』的決定,會變成一個最糟糕的錯誤。」
AI 工作夥伴:

正在進行場景推演...
 **反例場景:** 未來公司決定推出強社交屬性的『用戶關係網絡』功能,例如『好友推薦』、『二度人脈』、『組織架構』等。這類需求涉及大量的圖遍歷和複雜的多對多關聯查詢。在 DynamoDB 這類 Key-Value 資料庫上實現將極其困難且低效。屆時,我們可能被迫再次引入一個圖形資料庫(如 Neo4j),導致用戶數據被儲存在三個不同的系統中,數據一致性和維護成本將成為一場災難。

在這次與 AI 的詰問後,我沒有得到一個簡單的「是」或「否」的答案,但我得到了一幅完整的決策地圖:遷移的具體收益指標、核心假設的數據支持、明確的成本清單,以及一個讓我必須嚴肅對待的未來風險。

最終決策將不再是基於直覺,而是基於這次深度詰問後的全盤考量。

快速學習新的領域知識

作為一個從公關轉數據分析,再轉全端工程師,最後成為架構師的人,我深刻體會到「快速學習新領域」的重要性與收益。

我的起點是奧美公關(2019),那是一個關於 「人類 persuasion system (說服系統)」 的領域,其底層是我所熱衷的符號學與心理學,我從中學會了如何解構與建構敘事、實際設計認知策略與執行方針並用數據來驗證或推翻假設,將模糊的商業問題轉化為清晰的數學模型。但我不滿足於僅僅操縱認知與駕馭話語系統,我渴望更堅實、更可量化的真實,我的內心驅動著我去「建構世界」。

這引導我踏入全端工程與雲端架構的領域 - 一個 「邏輯 construction system (建構系統)」 。在這裡,我找到了用代碼將抽象邏輯轉化為具體現實的力量,從前端的用戶體驗,到後端的業務邏輯,再到雲端的分散式架構,我一步步從系統的使用者、分析者,變成了系統的創造者。

最終,成為一名架構師,是這條路徑的必然總結。它要求我站在一個更高的維度,不再是單純建構某個系統,而是設計 「系統的系統 (System of Systems)」 。在這個位置上,我過去所有看似無關的經歷——公關對人性的洞察、數據對真實的探求、工程對邏輯的掌握——全部匯流並整合。

因此,對我而言,「快速學習新領域」從來不是一個被動的技能,它是我的核心算法。它是我將一個全新的、看似混沌的領域(無論是行銷、健身還是藝術),迅速解構其第一性原理,並將其「架構化」,融入我個人不斷擴展的知識體系的過程。

在接下來的時代,像我一樣跨領域並且能迅速掌握學習要點的夥伴一定對越來越多,畢竟 AI 在這個過程中扮演了「領域知識的索引器」與「學習路徑的規劃師」。依照 詰問(Elenchus) 的脈絡邏輯,學習的三大要徑: 模仿=>試錯=>調整 直線超頻加速,它能協助我們快速的獲取回饋與驗證。

傳統的「模仿 -> 試錯 -> 調整」vs. AI 加速器「知識結構化 -> 假設驗證 -> 模型迭代」

個人經驗:行銷學(複習)

當我需要為一個 MarTech 專案設計用戶行為追蹤系統時,我需要重新複習行銷學的 AARRR 模型(獲取、激活、留存、收益、推薦)。

  • 使用 AI 的方式: 「請用軟體架構師的視角,解釋 AARRR 模型中每個階段需要追蹤哪些關鍵指標,以及這些指標在系統設計上對應到哪些 Event Logging 的需求。」
  • AI 的回應: 不只是教科書式的解釋,而是直接對應到「Acquisition 階段需要記錄 UTM 參數」、「Activation 需要追蹤首次關鍵行為的時間戳」、「Retention 需要設計 Cohort Analysis 的數據結構」等實作細節。
  • 時間節省: 從過去需要 3-5 天翻書、查資料、畫架構圖,縮短到 2 小時就能產出初步的技術設計文件。

這個過程的本質,是將 「用戶的心理旅程」無損地轉譯為「數據的系統旅程」 。AI 在此扮演了連接兩個不同領域的「通用翻譯層」。


個人經驗:企業管理(複習)

在擔任開發 Leader 後,我需要重新理解 OKR(Objectives and Key Results)如何與敏捷開發流程結合。

  • 使用 AI 的方式: 「假設我們團隊的 Objective 是『提升系統可靠性』,請幫我設計 3 個可量化的 Key Results,並且這些 KR 必須能夠透過 AWS CloudWatch 和 Datadog 自動監控。」
  • AI 的價值: 它不只是列出 KR,還會建議:「KR1: 系統 99.9% 可用性(對應 CloudWatch Alarm)」、「KR2: P95 延遲 < 200ms(對應 Datadog APM)」、「KR3: 平均故障恢復時間 < 15 分鐘(對應事件響應時間追蹤)」。
  • 關鍵洞察: AI 幫我把抽象的管理概念,轉化為可執行、可監控的技術指標。

這是將 「抽象的管理意圖」轉化為「可觀測的系統狀態」 的過程。AI 協助我跨越了管理學與 SRE (網站可靠性工程) 之間的鴻溝,讓目標不再是口號,而是可被量測的真實。


個人經驗:色彩學

為一個設計系統(Design System)專案建立色彩規範時,我需要快速理解色彩理論。

  • 使用 AI 的方式: 「請解釋 60-30-10 配色法則,並給我一個符合 WCAG AA 無障礙標準的配色範例,主色調使用品牌藍 #0066CC。」
  • AI 的輸出: 不只是學理理論解釋,還直接生成了符合對比度要求的配色方案、對應的 CSS 變數命名規範,甚至建議如何在 Tailwind CSS 中配置這些顏色。

此舉是將 「主觀的美學規則」解構為「客觀的邏輯約束」 。我可以快速的了解與學習色彩學的基礎理論依據,並了解色票的組合代表著背後想要呈現的風格意涵和背景意義。


個人經驗:營養學

當我又要進行增肌減脂季的輪轉飲食規劃時,我使用 AI 快速建立了「增肌減脂」的營養知識框架。

  • 使用 AI 的方式: 「請幫我設計一個每日熱量 2000 卡、蛋白質攝取 150g 的飲食計劃,並且要符合『高蛋白、中碳水、低脂』的比例。」
  • AI 的協助: 不只是給我食譜,還會計算每一餐的營養素分配、建議食材替代方案(例如:如果不吃雞肉,可以用豆腐或鮭魚替代)。

快速學習營養學的領域知識,掌握營養成分的快速計算並能得知能否達成我想要的目標: 增肌 or 減脂


當進入一個新領域時,我會先用 AI 建立「最小可行知識框架」(Minimum Viable Knowledge Framework),然後再透過實作、查詢文獻資料與詰問來深化理解。這種方式讓我能夠在 1 周內 - 甚至 1-2 天內達到「能夠與領域專家展開對話」的程度,而不是從零開始花費至少數週學習才能摸到特定領域的知識門檻。

快速整理建立文獻資料資料庫

當我們面對一個新的技術主題或生活目標時,最耗時的往往不是「學習」本身,而是前期資訊的「勘探、過濾與建構」的整理資訊過程,同時,在整理資料的途中我們又必須小心會不會混到有毒的資料源與假資料進來。這是每一個研究生與每一個正在探索新的領域知識的人的痛苦: 因為沒有經驗,所以只能先犯錯來獲得經驗,但是 AI 在這個階段可以扮演「文獻管理員」與「知識結構化工程師」的角色,它不僅僅是儲存,更是協助我們對資訊進行分類、標記來源可信度後建立結構,它也能理解不同知識節點間的語義關聯,將無序的筆記轉化為有序的知識圖譜。

這套方法論,已在我的個人實踐中,成為現在正持續讓我用來實踐《原子法則》與《快速學習》的鍛爐。

個人經驗:重訓規劃

當我開始規劃重訓菜單時(希望我能完成備賽,有自信地參加 2026 自然健體秋季賽),面對網路上成千上萬的訓練計劃、營養建議、補劑評測,我需要一個系統化的方式來組織這些資訊。

  • 使用 AI 建立知識庫的流程:

    1. 資訊逆向工程 (Reverse-Engineering Information): 我將找到的 10 篇精選科學化訓練文章(例如北美博士生 Bruce)、5 個 YouTube 影片的重點、3 本書的章節摘要與最重要的相關領域論文公開文獻資料庫,全部丟給 AI,要求它「提取核心概念並分類」。
    2. 知識結構化 (Structuring Knowledge): AI 如同一位學富五車的資深教練,迅速生成了一個層次分明的知識本體 (Ontology):
      • Level 1: 訓練原則(漸進超負荷、訓練量、訓練頻率)
      • Level 2: 訓練計劃(上下肢分化、推拉腿、全身訓練)
      • Level 3: 動作庫(深蹲、臥推、硬舉的技術要點)
      • Level 4: 營養與恢復(蛋白質攝取、睡眠、補劑)
    3. 個人化實例化 (Personalized Instantiation): 我告訴 AI:「這一季是增肌期,我的目標是增加我的肩寬圍度,我一週可以能訓練 5+ 天,但我的下背有舊傷,請幫我從這個知識庫中篩選出最適合我的訓練方案。」
    4. 持續性整合 (Continuous Integration): 每當我讀到新的研究或文章,我就把摘要與研究成果加入這個知識庫,AI 會自動幫我分類並更新相關聯的內容。
  • 價值: 這個「AI 驅動的個人知識庫」讓我不需要每次都重新搜尋、重新思考「這篇文章講的內容跟之前那篇有什麼關聯」,而是能夠快速查詢、對比、驗證不同來源的資訊。

個人經驗:交友軟體

這是一個有趣的案例 - 當我研究「如何優化我在交友軟體的配對勝率」,AI 也能讓我玩起來,最主要的啟發點是國外有位老哥用 GPT 刷爆了 Tinder。

  • 使用 AI 建立跨領域文獻庫:

    1. 跨領域資訊整合: 根據「最小可行知識框架」,我蒐集了知識框架中建議的一些資料,包括且不限於:照片的選擇(鏡頭語言)、自我介紹的撰寫(個人特質呈現)、個人形象品牌的建立(提起興趣,開始故事)。
    2. AI 協助對應: 請 AI 協助我分析照片優劣與否(當然有請現實海王海后朋友進行"再次審核"),調整自我介紹的內容(也是請了好幾杯調酒與幫忙算塔羅牌),然後將實際配對效果(Output)再次回饋給 AI(也一同請軍師分析有沒有戲)。
    3. 愛神邱比特/月老的誕生: 基於這個整理好的知識庫與訓練模型,篩選不符合我的理想條件的對象(具偏差值設計),提供我最佳化且具個人真實風格的對應。
  • 關鍵價值: AI 不只是「存放資訊」,它也能成為我們的 邱比特/月老 - 只要用得好的話。

實作建議:

如果你想建立自己的「AI 驅動文獻資料庫」,可以這樣做:

  1. 選擇工具: 使用 Claude Projects、ChatGPT Custom GPTs,或自己搭建基於 RAG 的知識庫(稍後會在「建置與調校」章節詳細說明)。
  2. 定義結構: 先建立一個「知識分類架構」,例如:基礎概念、實作方法、案例研究、個人筆記。
  3. 持續餵養: 每次讀到有價值的內容,就用精煉出來的摘要加入知識庫,並請 AI 幫你「與現有知識建立連結」。
  4. 主動查詢: 當面對新問題時,先問你的 AI 知識庫:「根據我之前整理的資料,這個問題應該怎麼解決?」

這種方式的核心價值在於:不再需要依賴記憶力,而是建立了一個『外部大腦』,它能夠隨時幫你回憶、對比、整合你過去學到的所有知識。

實作與開發 (Implementation & Development) - AI 作為「任勞任怨的工匠(規格驅動)」

自 2000 年網路泡沫化以來,我們長期扮演著「手工藝人」的角色。我們親手砌磚(編寫程式碼)、親手打磨(手動測試)、親手雕刻(撰寫文檔)。每一個功能,都是一件耗費心力的手工作品。

當我們要開發一個新的 RESTful API 時,過去的流程是這樣的:

  1. 手動編寫 API Controller(30 分鐘)
  2. 手動編寫資料驗證邏輯(20 分鐘)
  3. 手動編寫單元測試(40 分鐘)
  4. 手動撰寫 API 文檔(30 分鐘)
  5. 手動產生 Swagger/OpenAPI 規格(20 分鐘)

總計:2 小時 20 分鐘,而這只是一個簡單的 CRUD API。

現在,AI 程式碼助手的出現,正引發一場深刻的典範轉移,我們正在從「手工藝人」迅速演變為「總建築師」。我們的工作不再是親手雕琢每一塊磚,而是設計出精確無比、指導整個工程的「建造藍圖」。

Step 1: 架構師定義「契約」(10 分鐘)

我只需要在註解中寫下「業務需求」與「資料結構」:

/**
 * @intent User Management API // 宣告意圖
 * @description Creates and manages user profiles. // 描述
 *
 * @businessLogic // 定義商業法則
 * - Creates a user with validated, unique email.
 * - Hashes password using bcrypt with a salt round of 12.
 * - Returns a user object, omitting the password hash.
 *
 * @dataModel // 定義數據契約
 * - id: UUID (Primary Key)
 * - email: string (unique, valid email format)
 * - name: string (length: 2-50)
 * - createdAt: ISO 8601 Timestamp
 *
 * @security // 定義安全約束
 * - This endpoint must be protected by Auth Middleware.
 * - Input must be sanitized against XSS.
 */

Step 2: AI 生成程式碼(使用 GitHub Copilot / Amazon CodeWhisperer)

基於這個「契約」,AI 自動生成:

  • 完整的 Controller 程式碼(包含錯誤處理、輸入驗證)
  • 資料模型與 Schema 驗證(使用 Zod 或 Joi)
  • 單元測試(包含正向與負向測試案例)
  • API 文檔(自動產生 JSDoc 註解)

時間:5 分鐘(AI 生成 + 我快速檢查)

所有重複性、易出錯、有固定模式的「體力勞動」,都被完美地自動化了。

Step 3: 架構師擔任「總工程師」與「品管專家」(15 分鐘)

我的核心任務從「寫程式碼」變成「審查與整合」:

  • 檢查安全性: AI 生成的密碼 hash 是否使用足夠的 salt rounds?
  • 檢查架構原則: 這個 API 是否符合我們的 RESTful 設計慣例?
  • 檢查效能: Email 唯一性檢查是否有建立資料庫索引?
  • 整合系統: 這個 API 如何與現有的認證中介層(Auth Middleware)整合?

實際案例對比:從 2.5 小時縮短到 30 分鐘

任務 舊模式(手動) 新模式(AI 協作) 時間節省
API Controller 30 分鐘 2 分鐘(AI) 93%
資料驗證 20 分鐘 2 分鐘(AI) 90%
單元測試 40 分鐘 3 分鐘(AI) 92%
文檔撰寫 30 分鐘 1 分鐘(AI) 97%
架構師的新任務 - 15 分鐘(審查) -
架構設計與規劃 - 10 分鐘(契約) -
總時間 2 小時 20 分鐘 30 分鐘 78%

AI 的角色(使用 Amazon CodeWhisperer / GitHub Copilot / Cursor IDE):

根據 2025 年 Q4 的最新數據,使用 AI 編碼助手的開發者完成任務的速度提升了 55%。以下是具體應用:

  • 程式碼生成: 根據註解或函式簽名,自動生成實現細節、單元測試、正則表達式等。CodeWhisperer 在 AWS SDK 使用場景下的準確度達到 85%,Copilot 在通用程式碼生成的準確度達到 89%
  • 文檔助理: 自動為函式生成 JSDoc、TypeDoc 或 Python Docstring。
  • 重構建議: 針對現有程式碼提出優化和重構建議,例如:將重複的邏輯抽取成共用函式、優化迴圈效能、移除未使用的變數。

我們的工作,從繁瑣的編碼工作中解放出來,能夠將更多精力投入到更高價值的系統整合、品質保證和跨團隊協調上。這不是「偷懶」,而是「價值重新分配」- 我們把時間花在機器做不好的事情上(創造性設計、業務判斷、系統整合),而把機器擅長的事情(重複性程式碼、語法細節、測試覆蓋)交給 AI。

那要怎麼確保邊界與規格呢? 這就回到了我們一開始所提到的 詰問(Elenchus) 了。

價值,不在於敲擊鍵盤的速度,而在於定義 「意圖宣言」 的深度,以及執行「審計」的嚴謹度。

治理與維運 (Governance & Operations) - AI 作為「不知疲倦的哨兵」

架構師的「舊」工作模式:

在沒有 AI 輔助的時代,系統維運是一場永無止境的「救火」工作:

  • 被動響應告警: 凌晨 3 點被 PagerDuty 叫醒,然後花 2 小時查 CloudWatch Logs,試圖找出為什麼 API 延遲突然飆升。
  • 人工審查合規性: 每季度手動檢查 100+ 個 AWS 帳號,確認所有 S3 Bucket 是否加密、EC2 是否有未使用的 EBS Volume。
  • 手動成本優化: 每月花 4-6 小時分析 AWS Cost Explorer,試圖找出哪些資源被過度配置。

人機協作的「新」工作模式:

現在,我們可以建立一個「AI 驅動的主動式治理系統」,讓架構師從「救火隊員」變成「系統醫生」。

Step 1: 定期自動化混沌工程執行——用亂數隨機情境來驗證系統健康度

實際案例:使用 AWS FIS(Fault Injection Simulator)+ Lambda 自動化混沌測試

在過去,我們可能每季度手動執行一次混沌工程測試(例如:手動終止一個 EC2 實例,看看系統是否能自動恢復)。但這種方式有兩個問題:

  1. 頻率太低: 每季度一次,無法及時發現系統脆弱點。
  2. 場景有限: 人工設計的測試場景往往侷限於「我們能想到的故障」,而真實世界的故障往往是「我們想不到的」。

使用 AI 驅動的自動化混沌工程:

# 每週自動執行的混沌工程腳本(使用 AWS FIS + EventBridge)
chaos_scenarios = [
    "終止 20% 的 EC2 實例",
    "將 RDS 延遲增加 500ms",
    "模擬 S3 503 錯誤",
    "限制 Lambda 並發數為 50%",
    "注入網路延遲 200ms"
]

# AI 根據歷史故障數據,動態調整測試場景的權重
weighted_scenarios = ai_optimizer.adjust_chaos_weights(
    historical_incidents=incident_database,
    current_architecture=system_topology
)

# 自動執行測試,並將結果記錄到 S3 + Athena
run_chaos_experiment(selected_scenario=weighted_scenarios.sample())

價值:

  • 持續驗證: 每週自動執行,而不是每季度手動執行。
  • 智能場景: AI 根據歷史故障數據,自動調整測試場景的優先級。例如:如果過去 3 個月有 2 次 RDS 相關故障,AI 會增加「資料庫故障」場景的測試頻率。
  • 自動報告: 測試結果自動記錄到 Dashboard,架構師只需要檢視「系統韌性得分」,而不需要手動分析日誌。

Step 2: 設定「治理規則」——將合規要求轉化為 AI 可理解的規則

在 Day 28 我們學到了雲端合規的重要性(例如:所有 S3 Bucket 必須加密)。在舊模式下,我們需要每季度手動檢查。但在新模式下,我們可以這樣做:

使用 AWS Config + Lambda + AI 自動合規檢查:

# AWS Config 規則:所有 S3 Bucket 必須啟用加密
ComplianceRule:
  Name: S3-Bucket-Encryption-Enabled
  Trigger: Configuration Change
  Action:
    - Send Alert to Slack
    - Auto-Remediate: Enable Default Encryption (AES-256)
    - Log to Compliance Dashboard

# AI 增強:自動學習「例外情境」
AI_Enhancement:
  - 分析歷史合規報告,找出「經常被標記為誤報」的資源
  - 自動建議更新規則,減少 False Positive
  - 預測「高風險資源」(例如:公開可讀的 S3 Bucket),優先檢查

Step 3: 擔任「首席醫官」——AI 發現異常後進行根因分析

實際案例:使用 Amazon DevOps Guru 自動檢測性能異常

某天早上,我收到 DevOps Guru 的通知:

異常檢測: API Gateway /users 端點的 P95 延遲在過去 30 分鐘內從 120ms 增加到 850ms。

可能原因:

  1. DynamoDB Users 表的讀取容量單位(RCU)已達 80% 使用率
  2. Lambda 函數 getUserProfile 的平均執行時間增加 300%
  3. 相關的 CloudWatch Logs 顯示大量 ProvisionedThroughputExceededException

建議解決方案:

  • 短期:增加 DynamoDB RCU 或啟用 Auto Scaling
  • 長期:優化查詢模式,考慮加入 DynamoDB Global Secondary Index

我的行動(作為架構師):

  1. 根因分析: DevOps Guru 已經告訴我「症狀」和「可能原因」,我只需要驗證:是不是因為昨天上線的新功能導致查詢量激增?
  2. 系統層面設計: 我決定不只是「增加 RCU」,而是重新設計查詢模式:將「用戶基本資料」和「用戶活動記錄」分離到不同的表,避免單一熱點。
  3. 預防未來故障: 我更新 Terraform 配置,為所有 DynamoDB 表啟用 Auto Scaling,並設定 CloudWatch Alarm 在 RCU 使用率達 70% 時提前通知。

AI 的角色(使用 AWS AI-powered Services):

  • Amazon CodeGuru: 持續掃描程式碼庫,自動發現性能瓶頸和不符合最佳實踐的程式碼。例如:發現一個 N+1 查詢問題,建議改用 Batch Get。
  • Amazon DevOps Guru: 7x24 小時監控應用程序的指標和日誌,自動檢測異常行為模式並預測潛在的營運問題。
  • AWS Trusted Advisor / Compute Optimizer: 利用機器學習分析你的資源使用情況,提供精準的成本優化和性能提升建議。例如:「你的 EC2 實例 i-1234567890 的 CPU 使用率在過去 30 天平均只有 5%,建議降級到 t3.small 可節省 60% 成本。」

價值: 建立一個主動式、預測性的雲端治理飛輪。架構師從一個被動的「救火隊員」,轉變為一個主動的、數據驅動的「系統醫生」。我們不再是「等故障發生再解決」,而是「在故障發生前就預防」。

建置與調校 (Build & Tune) - 建構屬於自己的 AI 助理

每次當我們問 ChatGPT:「幫我設計一個用戶認證系統」,它會給你一個通用的答案。但它不知道:

  • 我們的公司使用 AWS Cognito 還是 Auth0?
  • 我們的架構決策是優先考慮「開發速度」還是「完全自主控制」?
  • 我們過去在 Session 管理上踩過哪些坑?

市面上的 AI 工具(ChatGPT、Claude、Copilot)都很強大,但它們缺乏專屬的「領域上下文」和「工作記憶」。

就像在與一位博學但患有嚴重「失憶症」的資深夥伴對話一樣,它能給出卓越的通用答案,卻永遠記不住你是誰、你的團隊信奉何種架構哲學、你們曾在哪個專案上踩過哪些坑。它是一個無狀態 (Stateless) 的工具,某種程度上也蠻讓人沮喪的,對吧。

而我們的長期目標,是鑄造一個有狀態 (Stateful) 的認知夥伴。一個擁有共享上下文 (Shared Context) 與持續性記憶 (Persistent Memory) 的 AI。

這個模式的核心技術是 RAG (Retrieval-Augmented Generation)。但與其記憶一個拗口的術語,不如理解其本質:我們正在為一個頂尖的「推理引擎」(LLM),外掛上一個專屬於自己的「知識大腦」(Knowledge Base)。

現在,讓我們沿著兩條清晰的路徑,將這個概念付諸實踐

建立專屬於自己的知識助理

在深入程式碼之前,我們需要先理解兩條路徑的差異:

  • 路徑一:雲端全託管 (速度與協作的極致) — 如同使用 AWS RDS。你專注於提供高品質的「數據」(你的知識),而將底層的「資料庫引擎」(向量化、索引、同步)完全交給雲端。適合追求快速落地、需要團隊共享的場景。
  • 路徑二:本地自建 (數位主權與終極控制) — 如同自建 PostgreSQL 伺服器。你對每一層都有完全的控制權,數據永不離開你的設備。適合處理高度敏感資訊、追求極致客製化與離線能力的個人或團隊。

路徑 1:雲端 RAG - 使用 Amazon Bedrock Knowledge Bases

Amazon Bedrock Knowledge Bases 是一個全託管的 RAG 服務,讓我們無需管理向量資料庫、embedding 模型、資料同步等基礎設施。

Step 1: 定義個人化「知識庫」(Knowledge Base)

將決策記錄、最佳實踐文檔、公司的內部規範等,整理成結構化的知識。這是整個流程中最具價值的一步,你的知識庫品質,直接決定了 AI 夥伴的智能上限。

知識庫結構範例(存放在 S3):

s3://my-architecture-knowledge-base/
├── 01_architecture-decisions/      # 團隊的憲法
│   ├── ADR-001-use-dynamodb-for-user-profiles.md
│   └── ADR-002-adopt-event-driven-architecture.md
├── 02_best-practices/            # 團隊的法律
│   ├── api-design-guidelines.md
│   └── security-checklist.md
├── 03_incident-retrospectives/   # 團隊的歷史教訓
│   ├── 2024-11-database-deadlock.md
│   └── 2025-01-lambda-cold-start-issue.md
└── 04_team-conventions/          # 團隊的文化
    ├── naming-conventions.md
    └── code-review-checklist.md

Step 2: 以程式碼定義基礎設施,建立 Bedrock Knowledge Base(使用 Terraform)

我們使用 Terraform 來定義這個 AI 夥伴的「身體」。

# 核心一:定義 AI 的「長期記憶體」 — 向量資料庫
resource "aws_opensearchserverless_collection" "knowledge_base" {
  name = "architecture-knowledge-base"
  type = "VECTORSEARCH" // 優化給向量檢索使用
}

# 核心二:定義 AI 的「大腦皮層」 — Bedrock 知識庫本體
resource "aws_bedrock_knowledge_base" "architecture_kb" {
  name     = "ArchitectureKnowledgeBase"
  role_arn = aws_iam_role.bedrock_kb_role.arn

  knowledge_base_configuration {
    vector_knowledge_base_configuration {
      // 指定 embedding 模型,將文字轉化為向量
      embedding_model_arn = "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1"
    }
    type = "VECTOR"
  }

  storage_configuration {
    type = "OPENSEARCH_SERVERLESS"
    opensearch_serverless_configuration {
      collection_arn    = aws_opensearchserverless_collection.knowledge_base.arn
      vector_index_name = "architecture-index"
      field_mapping {
        vector_field   = "embedding"
        text_field     = "text"
        metadata_field = "metadata"
      }
    }
  }
}

# 核心三:建立 AI 的「學習管道」 — 連接到 S3 的知識來源
resource "aws_bedrock_data_source" "s3_docs" {
  knowledge_base_id = aws_bedrock_knowledge_base.architecture_kb.id
  name              = "architecture-docs-source"

  data_source_configuration {
    type = "S3"
    s3_configuration {
      bucket_arn = aws_s3_bucket.knowledge_base_docs.arn
    }
  }

  // Bedrock 的秘密武器:使用語義分割,讓 AI 更能理解長文的上下文
  chunking_configuration {
    chunking_strategy = "SEMANTIC"
  }
}

Step 3: 使用 Knowledge Base 進行查詢

一旦基礎設施就緒,查詢就變得極其簡單。

import boto3

bedrock_agent = boto3.client('bedrock-agent-runtime')

# 提問:這是一個高度情境化的問題,通用 AI 無法回答
question = "我們在 DynamoDB 的擴展性上有哪些歷史經驗?如果要用於新服務的用戶中心,有哪些注意事項?"

# 調用 Bedrock 的整合式 API
response = bedrock_agent.retrieve_and_generate(
    input={'text': question},
    retrieveAndGenerateConfiguration={
        'type': 'KNOWLEDGE_BASE',
        'knowledgeBaseConfiguration': {
            'knowledgeBaseId': 'YOUR_KB_ID',
            // 選擇推理能力最強的模型來總結檢索到的資訊
            'modelArn': 'arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-sonnet-20240229-v1:0'
        }
    }
)

print(response['output']['text'])

AI 的回應範例:

根據你的架構決策記錄(ADR-001),團隊在 2024 年 3 月決定使用 DynamoDB 儲存用戶資料,主要原因是:

  1. 水平擴展需求:預期用戶量會在 6 個月內從 10 萬增長到 100 萬
  2. 查詢模式明確:主要是單一主鍵查詢,不需要複雜的 JOIN

但在實作過程中(見 incident-retrospectives/2024-11-database-deadlock.md)遇到了熱分區問題,最後透過「複合排序鍵 + 寫入分散策略」解決。

建議:如果這次的場景與用戶資料類似,可以直接採用這個方案。但如果需要複雜查詢,建議考慮 Aurora Serverless。

AI 不再是「搜尋引擎」,而是真正意義上的「資深團隊夥伴」。它能關聯、推理並給出 actionable 的建議,這些建議完全根植於團隊的歷史過往與集體智慧。


路徑 2:本地端 RAG - 使用開源工具(Ollama + ChromaDB + LangChain)

此路徑為我們帶來終極的控制權與數據隱私,是打造純粹個人助理的理想選擇,如果希望完全掌控數據隱私,或者想在離線環境中使用,可以建立本地端的 RAG 系統。

Step 1: 喚醒本地 AI (Awaken the Local AI)

Ollama 讓本地部署大型語言模型變得前所未有的簡單。

# 安裝 Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 下載並運行 Llama 3.1 (8B),這是目前效能與資源佔用平衡最佳的模型之一
ollama run llama3.1:8b

Step 2: 鑄造本地知識庫 (Forge the Local Knowledge Base)

使用 ChromaDB 作為本地向量資料庫。

import chromadb
from chromadb.utils import embedding_functions

# 初始化本地向量資料庫
client = chromadb.PersistentClient(path="./my_knowledge_base")

# 使用開源 Embedding 模型(sentence-transformers)
embedding_function = embedding_functions.SentenceTransformerEmbeddingFunction(
    model_name="all-MiniLM-L6-v2"
)

# 建立集合
collection = client.create_collection(
    name="architecture_docs",
    embedding_function=embedding_function
)

# 將文件加入知識庫
documents = [
    "ADR-001: 我們決定使用 DynamoDB 作為用戶資料儲存,因為需要水平擴展...",
    "Best Practice: API 錯誤處理應該返回結構化的錯誤訊息,包含 error_code 和 message...",
    "Incident Report: 2024-11-15 發生 DynamoDB 熱分區問題,解決方法是使用複合排序鍵..."
]

collection.add(
    documents=documents,
    ids=["adr-001", "bp-api-errors", "incident-2024-11"]
)

Step 3: 建立 RAG 查詢流程(使用 LangChain)

LangChain 是串連這一切的「黏著劑」。

from langchain.llms import Ollama
from langchain.chains import RetrievalQA
from langchain.vectorstores import Chroma

# 連接到本地 Ollama 模型
llm = Ollama(model="llama3.1:8b")

# 建立 RAG Chain
qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    retriever=collection.as_retriever(),
    chain_type="stuff"  # 將檢索到的文檔直接放入 Prompt
)

# 查詢你的知識庫
result = qa_chain.run("我們團隊在 DynamoDB 設計上有哪些經驗?")
print(result)

優勢對比:

特性 雲端 RAG(Bedrock) 本地端 RAG(Ollama)
資料隱私 需信任 AWS 完全本地,無外洩風險
成本 按使用量付費(約 $0.001/1K 字) 一次性硬體成本(需 GPU 加速)
維護成本 零維護(全託管) 需自行更新模型、管理資料庫
模型品質 Claude 3.5 Sonnet(最先進) Llama 3.1(開源最佳)
適用場景 團隊協作、需要最新模型 個人使用、敏感資料、離線環境

Step extra: 客製化的 Prompt Engineering

無論是雲端還是本地端 RAG,都可以為不同情境設計專屬的提示詞模板:

範例:架構設計審查 Prompt

ARCHITECTURE_REVIEW_PROMPT = """
你將扮演 [你的名字] 的首席架構顧問,代號為 "Oracle"。你的存在是為了確保我們的每一個設計都堅不可摧、深思熟慮。

**你的核心指令:**
1.  **記憶優先**: 你的所有分析**必須**基於提供的「上下文」(Context)。絕不猜測或引用外部通用知識。
2.  **批判質疑**: 以最高的標準審視「使用者設計」。找出其中的邏輯漏洞、性能瓶頸和潛在的未來風險。
3.  **連結歷史**: 將設計與我們過去的「架構決策記錄 (ADR)」和「事故復盤」進行關聯分析。我們是否在重蹈覆轍?
4.  **提供方案**: 不要只提問題。基於我們的「最佳實踐」,提出 1-2 個具體、可執行的改進建議。

**輸入:**
- 上下文: {retrieved_documents}
- 使用者設計: {user_design}

**你的輸出 (請嚴格遵守此 Markdown 格式):**
### Oracle 審查報告
**1. 總體評價:** (簡潔的一句話總結)
**2. 設計優點:**
   - (點 1)
**3. 潛在風險與疑慮:**
   - **[高風險]** (描述風險,並引用相關 ADR 或事故報告)
   - **[中風險]** (描述風險)
**4. 改進建議:**
   - **建議一:** (描述具體方案)
"""

我們不再需要「每次都手動向 AI 解釋你的需求」,而是擁有一個真正「理解我們工作脈絡」的智能助理,它能在我們需要時主動提供幫助。這個助理知道我們的團隊歷史、我們的架構決策、我們踩過的坑,就像一個永遠不會離職的資深同事。

當然,也是有人設計出專屬於自己的雲端情人了,我很期待伊隆馬斯克的技術發展。


從「被動工具」到「主動夥伴」: AI 能力熟成度

現在,讓我們將目光投向這趟旅程的終點:我們將成為什麼樣的 AI 能力者?

這不是一個非黑即白的問題,而是一個能力熟成度的光譜。請對照下表,找到你當前的位置,並看清前方的道路。

階段 特徵 AI 的角色 你的價值定位
L0: 旁觀者 (The Spectator) 幾乎不使用生成式 AI,認為其與自身工作無關。 不存在的工具 傳統工匠 (Traditional Craftsman)
L1: 提問者 (The Questioner) 將 AI 視為高級搜尋引擎,進行孤立、一次性的查詢或圖片影片生成器 有問必答的萬事屋 效率的追逐者 (Efficiency Seeker)
L2: 整合者 (The Integrator) 在日常工具鏈(如 IDE / Figma / Photoshop)中使用 AI 輔助,提升局部任務效率。 如影隨形的助手 (Co-pilot) 流程的優化者 (Process Optimizer)
L3: 協作者 (The Collaborator) 將個人化 AI 深度嵌入完整工作流,進行蘇格拉底式的設計詰問與持續治理。 個人化的認知夥伴 (Personalized Cognitive Partner) 「人機協作」的架構師
L4: 塑造者 (The Shaper) 將個人實踐擴展至組織級別,建立共享的 AI 知識大腦,驅動整個團隊的智慧飛輪。 組織智慧的化身 (Embodiment of Organizational Intelligence) 生態的變革者 (Ecosystem Shaper)

新時代宣言:工程師與架構師的「三個不再」與「三個轉向」

在 AI 時代,架構師的價值正在發生根本性的轉變:

三個「不再」:

  • 不再是「知道多少」,而在於**「提問的質量」**
  • 不再是「寫了多少」,而在於**「整合的智慧」**
  • 不再是「解決了多少次故障」,而在於**「設計了多麼有韌性的系統」**

三個「轉向」:

1. 從「資訊搜集者」轉向「問題定義者」

  • AI 可以瞬間檢索海量資訊,但只有你能提出「對的問題」

2. 從「程式碼編寫者」轉向「系統整合者」

  • AI 可以生成完美的程式碼片段,但只有你能將它們編織成一個協調運作的有機系統

3. 從「被動救火員」轉向「主動系統醫生」

  • AI 可以 7x24 監控和預警,但只有你能從系統層面設計出真正有韌性的架構

透過將 AI 融入我們工作的每一個環節,我們正在打造一個全新的人機協作模式。這不僅是為了提升效率,更是為了將我們從日常的繁瑣中解放出來,去專注於作為「系統與體驗的架構師」,真正不可替代的核心價值:創造力、同理心與對複雜系統的宏觀洞察力


行動呼籲:從今天開始的三個步驟

AI 不是遙不可及的科技,而是你口袋裡的超級助理。如果你希望立即體驗它如何改變你的工作與生活,這裡有三個簡單、具體的行動建議:

第一步:今天(15 分鐘)— 體驗「腦力節省」

行動: 註冊一個免費的主流 AI 工具,例如 ChatGPT (通用型)、Claude.ai (擅長閱讀寫作),或 Google Gemini (整合 Google 服務)。

任務: 請 AI 幫你處理一件有點煩人、需要花心思的小事。

  • 範例 1 (寫作): 請它幫你草擬一封「禮貌地拒絕某個請求」的 Email。
  • 範例 2 (整理): 丟給它一段雜亂的會議對話,請它整理成條列式的待辦事項。

目標: 親身體驗 AI 如何在幾秒鐘內,完成你可能需要構思 15 分鐘的工作,直接為你節省腦力。

第二步:本週(1 小時)— 訓練你的「專屬資訊分析師」

行動: 找一篇你一直想看但沒時間的長篇文章、一份冗長的工作報告,或是一段 YouTube 影片的逐字稿。

任務: 將完整的內容貼給 AI,然後對它下達一連串指令,把它變成你的專屬分析師:

  • 請它總結: 「幫我把這篇文章總結成 5 個重點。」
  • 請它扮演角色: 「如果你是一位行銷經理,你會從這份報告中看到哪些機會?」
  • 請它回答問題: 「根據這份內容,造成專案延遲最主要的原因是什麼?」

目標: 理解 AI 最強大的能力之一:在**你提供的「上下文」**中進行思考。它不再是空泛地回答,而是成為了只為你手中這份資料服務的專家。

第三步:本月(持續實踐)— 培養「從零到一」的虛擬夥伴

行動: 在你下一次需要從零開始構思某件事時,刻意讓 AI 成為你的第一個「腦力激盪夥伴」。

任務: 不要只問小問題,而是拋出一個大專案,讓它陪你從無到有。

  • 範例 1 (企劃): 「我是一個甜點師,想開一門線上烘焙課。請幫我設計課程大綱、目標客群、以及三篇宣傳文案的點子。」
  • 範例 2 (旅遊): 「我要規劃一趟為期 7 天的義大利家庭旅遊,有長輩和小孩同行,預算 15 萬,請幫我規劃一個兼顧休息與景點的初步行程表。」

目標: 將你與 AI 的關係,從「一問一答」提升到「持續對話的協作模式」。同時,開始觀察並記錄:

  • AI 在哪些地方為你節省了時間?
  • 你把這些寶貴的時間,用在了哪些更有創造力、更需要人性溫度的地方?

透過這三個步驟,你將不僅僅是「會用」AI,而是真正開始駕馭 AI,讓它成為放大你個人能力的最佳夥伴。


結語:哲學,就是我們在 AI 時代最強大的成長籌碼

這三十天的旅程,也終於即將迎來終點。Day 30 我將分享這六年轉職路上,從公關到架構師的書單與文獻回顧。而在今天,作為系列主文的最終章,我想用一個更宏大的視角,為我們共同探討的「AI 增幅術」畫下一個深刻的句點。

這一切,都始於一個簡單卻有力的信念:

「工具永遠不會取代工匠,但懂得駕馭更強大工具的工匠,將會重新定義這個行業的標準。」

「如何做」 被自動化, 「為什麼做」 成為了新的價值核心。

我們在 Day 1 就已斷言:當算力爆發讓 AI 生成代碼的速度遠超人工時, Domain 知識的深度對業務邏輯的掌握,成了真正的競爭壁壘。AI 能為我們補完所有語法細節,卻無法替我們回答系統背後那些更根本的、充滿權衡的哲學問題。

這正是因為 AI 的本質 - 一個基於海量乾淨數據所建立的統計學預測模型。它在算力解放的東風下,成為了我們這個時代的「差分機」,能以驚人的速度模擬人類的邏輯與思維。

這引出了一個深刻的哲學思辨,如同「哲學殭屍」思想實驗:一個在外部行為上與人類無異,能表達痛苦,卻沒有內在意識的存在,能被定義為「人」嗎?同樣地,一個能完美模擬人類決策、甚至表達情感的 AI,擁有「智慧」嗎?

我的答案是,還沒有。現階段的 AI,我更傾向稱之為「人工智能」,而非「人工智慧」。智慧,意味著能為生存或更高價值觀做出獨立的權衡,而目前的 AI 夥伴,其強大之處在於執行有強烈規則性與邏輯性的事務。因此,若想駕馭它,我們必須理解它的「心智模型」,用對人類底層認知的理解,輔以邏輯的語言,來與這位超級助理溝通, 我們的價值,不再是親手完成所有任務,而是定義任務本身。

回到 Day 1 的那個終極問題:「當 AI 能自動執行商業業務邏輯,相關領域從業者是否會被取代?」

現在我們有了更清晰的答案:

會,那些拒絕進化的「工匠型」從業者將會被取代。

但懂得駕馭 AI 的「哲學家型」探索者,將迎來自己的黃金大航海時代。

在這個後人類時代 - 以及個人私心期盼的前宇宙時代,架構師更像是「數位哲學家」,負責回答:

  • 這個系統是否該存在?(Who am I?)
  • 它的邊界與責任是什麼?(Where am I from?)
  • 它會對人類社會帶來什麼影響?(Where am I going?)

AI 可以回答所有的「How」,但「Why」的權杖,永遠掌握在人類手中。

AI 可以自動生成代碼,但它需要「問題定義」。系統設計者的價值在於「定義問題」與「界定目的」。

而那些懂得與 AI 深度協作的探索者,將不再只是單一領域專家,而是能夠駕馭 人類智慧 + 機器智能 的「增幅型領導者」。

這,就是我們在 AI 時代,為自己建立的最強大、最不可替代的生涯護城河。

感謝你一同走完這段旅程,我們 Day 30 總結文獻篇再會。


「如果有一天你們經過這片沙漠,我請求你們,不要匆匆離去,在星空下等待片刻吧!如果你們遇見一個孩子走過你們面前,有一頭金色的頭髮,老是不理人提問,你就知道他是誰了。那時候,請寫信告訴我,他回來了,不要讓我這麼憂傷」


上一篇
Day 29-1 | 架構演進的協奏曲:結合絞殺者模式與 BFF 實現單體系統的優雅轉身
下一篇
Day 30 | 系列完結篇:給未來工程師的系統設計學習路線與反思 - 系列文章的學習資源、學習主題與心得
系列文
AWS架構師的自我修養:30天雲端系統思維實戰指南51
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言