👋 嘿,我是 Browny。
Informal Writing 書寫琢磨 技術趨勢、溝通領導、概念理解與生活實踐。
每週一四派送,訂閱起來👇。也在 threads 上面分享比較 即時的 insight,歡迎關注 👀
❏ 引言
隨著 AI 逐漸融入生活之中,各種對於 生產力 以及 AI 是否取代某些角色 的討論方興未艾,經常能看到像是 "AI 將如何改變/取代 XXX (某種職業角色)" 的討論與研究 (例如: How close is AI to replacing product managers?)。
上週和客戶聊 AI 的時候,對方有感而發:「AI 是我們可以善用的工具,讓我們空出雙手去從事更有價值的創造。以設計工作為例,AI 可以快速生成影像,但是創意的發想主要還是由設計師驅動。AI 取代的是那些空出雙手後,發現自己無事可做的人。」
這番話不禁讓我對自己提問:我空出雙手後,有從事哪些更有價值的創造嗎?在未來 AI 漸漸走進職場,我的角色會受到怎樣的影響,我又應該做出怎樣的準備呢?
今天就來聊聊,(軟體)架構師 在這股 AI 浪潮之中應該如何自處,看看當中的變與不變,以及應該對未來做出什麼準備:
❏ 技術架構本質
✔ 架構師讓其他人更聰明
✔ 架構師看到更多維度
✔ 架構師跨層連結
❏ AI 對架構工作的影響
✔ AI 如何改變 架構的實務操作
✔ AI 如何改變 我們所設計的架構內容
❏ AI 時代的重要技能
.
❏ 技術架構本質
優秀的架構師不一定有"架構師"的頭銜,而那些擁有這個頭銜的人也不一定都很優秀。
”架構” 更多是一種 思考方式 和 生活方式。[1]
「架構更多是一種思考方式和生活方式」這句話直指核心,經常在被問到是從事什麼工作的時候,在嘴巴說出 “架構師” 之前,心裡總有一種不踏實感,彷彿能預期對方臉上將出現的困惑表情。
關於這個角色的產出,很難找到一致且具象名詞來描述。在看到這句話之前,我能想到最貼近內心想法的描述大概是:「做選擇:在各種利弊得失下,做出選擇 (並給出原因,說服別人認同你的選擇)」。現在我明白了,架構的本質更貼近一種精神,一種思考的精神、一種生活的精神,人人都可以具備架構思維。
後端工程師依照不同資料存儲的需求選擇合適的資料庫、前端工程師依照不同的使用者體驗選擇合適的 UI 元件、產品經理依照不同的專案需求選擇合適的管理工具 …,這些都是架構思維的展現。那麼,架構師具體指涉怎樣的架構思維?少了主詞 (後端/前端/產品經理),架構師這個名詞又變得隱晦。
最近看到 Gregor Hohpe 在 2024 QCon 倫敦上發表的一篇 Thinking Like an Architect [1],解開了這層迷霧:
.
✔ 架構師讓其他人更聰明
架構師不應該是房間裡最聰明的人。
他們的角色是幫助其他人做出更好的決策:例如從不同的角度看待問題、更好地理解權衡或考慮其他選擇。他們讓其他人變得更聰明。[1]
架構師經常需要面對的是沒有明確答案的問題,有時候甚至連問題的輪廓都很模糊,需要透過訪談溝通與調查研究,逐步勾勒出來。 因此,沒有主詞是架構師的家常便飯,他們需要對各行業、各場景有普遍的認識,產業與技術的橫向覆蓋要廣。
橫向覆蓋要廣,自然沒有辦法做到深入,需要仰賴與各領域的專才協作。好的架構師並不意味著你需要成為最聰明的人,而在於如何讓其他人變得更聰明,讓他們的專才可以在問題上有所發揮!
.
✔ 架構師看到更多維度
多維思維 → 簡化&抽象 → 使用隱喻 → 銷售取捨
架構師經常遇到複雜的問題,這些問題通常沒有明確的答案,像是:
我想在公司導入客服聊天機器人,我應該怎麼做?
公司各個部門各自開始使用生成式 AI 的解決方案,我應該如何進行資安管控與稽核?
團隊想對整個應用系統進行容器化,我應該用 Serverless 嗎? 還是 K8S?
這類的問題有個共通之處,或者說架構師有個萬用的回答,就是:「It depends」。這個回答如果就此打住,那跟 “I don’t know” 其實沒有差別,架構師需要提問以了解更多上下文,就上下文提出相應的解決方案,吸引客戶繼續對談推進合作的意願。
整合 [1] 當中提到的要點,架構師在面對複雜問題時候的思維歷程 (多維思維 → 簡化&抽象 → 使用隱喻 → 銷售取捨) 需要具備環環相扣的能力:
💡 多維思維
架構師通過擴展問題和解決方案空間,使他人能夠更結構性地處理問題。
將一維思維轉變為多維思維,例如在標準化和創新之間尋找平衡。
💡 簡化&抽象
最強大的模型往往是最簡單的。好的模型應該簡化和抽象,提供清晰而非混淆。
不同的問題需要不同的模型,就像地球的不同地圖 (地形圖、街景圖,等等…),服務於不同目的。
💡 使用隱喻
隱喻是架構師的強大工具,能夠將複雜的技術概念轉化為易於理解的形式。
通過使用與行業相關的隱喻 (講對方的行話),可以邀請對方參與決策過程,而不僅僅是尋求批准。
💡 銷售取捨
技術架構經常在協調性和靈活性之間做取捨 (個體越靈活,群體就越難協調),以實現創新和標準化。
像是容器編排技術 Kubernetes,犧牲個體(容器) 的彈性,以達成容器編排的協調。
不確定性越大,取捨的價值就越高,架構師的價值越得以展現。
.
✔ 架構師跨層連結
架構師統一組織中不同層面的理解,而不是呈現不同的故事 [1]
前文 “技術人也該懂點銷售” 提到:「不管技術或銷售,都是透過解決問題來達成商業目標」。
人,通常是最大的問題之一。除了對橫向硬實力(場景和技術)的寬廣覆蓋,縱向的跨層連結能力,也是架構師必須配備的思維能力之一。
架構師需具備多方溝通的能力:
對內:在實作層面能與工程師/外部合作夥伴溝通專案細節,在業務推進上能與決策層傳達清晰的目標和進度。
對外:與客戶的技術單位達成技術共識,與客戶的決策層達成目標共識。
Gregor Hohpe 提出架構師電梯的概念,描述了執行與策略脫節的危險,因為專案與策略目標不一致,而戰略也脫離了現實。最有價值的架構師是那些能夠弭平這一差距的人。
.
❏ AI 對架構工作的影響
軟體架構並不僅僅是撰寫程式碼,也不只是繪製類別圖。
它的核心在於深入理解問題及其產生的背景脈絡。架構師需要洞悉環境對解決方案所帶來的各種限制,並在理想、可行性和經濟效益之間做出全面的權衡取捨。[2]
回到一開始提到的話題 "AI 將如何改變/取代 XXX (某種職業角色)",對架構師來說 AI 的出現又意味著什麼呢?他可以讓架構師空出雙手,去從事更具有創造性的事務嗎?
剛好,我又遇到了另一篇 O’reilly 整理的 Software Architecture in an AI World [2],面對這個問題,我們可以分成 流程 (AI 如何改變 架構的實務操作) 和 產出 (AI 如何改變 我們所設計的架構內容) 來討論:
.
✔ AI 如何改變 架構的實務操作
架構的基本原則仍然不變:讓別人更聰明、看到更多維度、促進跨層連結。
AI 為商業場景帶來新的可能,對架構提出新的挑戰 (模型幻覺、決策責任、等等…)
架構的基本原則仍然不變:
理解客戶需求並設計滿足這些需求的系統。
重點在於發現和理解問題的背景上下文,而非直接回答問題。
新的商業場景帶來新的挑戰:
架構師需要面對新的約束、要求和能力 (例:確定性的 I/O 在 AI 應用當中不再適用,需要額外引入護欄 Guardrail 技術)。
需要處理大量複雜的問題,這些問題通常沒有明確的答案 (原本架構就已經沒有明確的答案了,模型的幻覺又讓這個不明確加劇 XD)。
AI 可以提供技術建議,但無法做出關鍵的判斷決策。
.
✔ AI 如何改變 我們所設計的架構內容
實作面的產出可以透過 AI 加速 (程式碼、類別圖、等…),
空出的雙手可以更多投入在理解問題和背景,更好地與實作連結起來
架構師的角色演變 (與人的溝通變得更為重要):
尋找"最不糟糕的解決方案",而非完美方案。
重點從編碼轉向理解問題和背景,並將其與實施連接起來。
需要設計新的組件來應對AI的隨機性,如護欄和評估系統。
新的架構模式和挑戰:
新的架構模式,如RAG、Judge、專家選擇等。
安全性、數據保護和用戶體驗等問題。
設計能夠代表用戶做出決策和採取行動的應用程序。
.
❏ AI 時代的重要技能
從 Deloitte 的報告中 [4] 可以看到 (如上圖),”Human-centered skills” 在 AI 時代下的重要性大幅提升,Technology-centered skills 在資料分析和信息篩選上有所提升,Coding 和手動內容的產出則下降許多。
以架構師這個角色來說,我也有同樣感受。AI 工具加速了資料查找、信息組織、統計分析、圖表/報告產出、等等…,以往要花很多時間的 paper work 瞬間被 AI 做掉了。
雖然,AI 的產出並非總是可靠 (大部分可靠,但有時候太機器感了些),架構師仍需要做最後交付的把關 (其實人才是副駕駛吧 (╯-_-)╯╧╧
),不過已經足以讓我將更多的注意力深入地投入到架構本質當中。這無疑是對於每個熱愛深度思考的工作者,一個更美好的時代。
.
❏ 結語
生成式 AI 的出現,讓一切都有所改變 — 但本質上又似乎一切如常。[2]
架構師的核心價值並沒有被動搖。那種讓別人更聰明、看到更多維度的能力,AI 目前還學不會!反而是那些繁瑣的 paper work,AI 幫我們搞定了,讓我們有更多時間來發揮創意。
空出的雙手,架構師們不會無處安放:
磨練我們的"本質":多維思考、簡化抽象、用隱喻來解釋複雜概念,還有在各種選擇中找到最佳平衡。這些技能會讓我們在面對更複雜的問題時,依然能夠游刃有餘。
加強我們的"溝通":要能夠和工程師聊得來,也要能跟老闆講明白。這種上下溝通的能力,會讓我們成為組織中不可或缺的橋樑。
擁抱 AI 工具:別抗拒,試著用它們來加速我們的工作。這樣我們就能騰出更多時間來思考那些真正重要的問題。
保持好奇心:新的架構模式、新的挑戰總是層出不窮。RAG、護欄技術...這些新概念,我們得跟上節奏!
別忘了"軟實力":同理心、創造力、批判性思維...這些看似"軟綿綿"的技能,在 AI 時代反而變得更 Hardcore 了。
.
你也是架構師嗎,在你的工作當中開始使用了哪些 AI 工具來輔助你呢?你覺得未來架構師這個職能的樣貌會是怎麼樣呢?我發現我在書寫 informal writing 電子報的時候,也帶著架構師的心,希望文章能讓你變得更聰明、也讓我自己看見每個議題更多面向的維度。
如果你也有想法,歡迎與我分享。這篇文章有幫助到你嗎,別忘了按讚、訂閱加分享喔,我們下期再見 👋
~
🔍 工人智慧猜你也喜歡
🔖 參考資料
[1] Thinking Like an Architect - https://www.infoq.com/articles/thinking-like-architect/
[2] Software Architecture in an AI World - https://www.oreilly.com/radar/software-architecture-in-an-ai-world/
[3] What we talk about when we talk about System Design - https://maheshba.bitbucket.io/blog/2023/07/12/Design.html
[4] Now decides next: Getting real about Generative AI - https://www2.deloitte.com/content/dam/Deloitte/us/Documents/consulting/us-state-of-gen-ai-report-q2.pdf