AI 時代的軟體開發變革-系統邊界

AI 時代的軟體開發變革-系統邊界

延續前一篇AI 時代的軟體開發變革-趨勢,本篇接著談我認為軟體開發即將發生的其他改變。

系統邊界的改變 - 先談客製化

在AI 時代,系統的 codebase 我認為會變小,也就是預先定義,並且被開發出來的功能會減少。或者大家可以解讀為,許多功能會由 AI 完成,甚至是不寫 code 就完成,因此實際人類要寫,或由 AI 代勞寫出來的 code,整體應該是減少的

但因為 AI 的出現,也讓系統本身得以延伸,包含讓自己成為一個資訊中心,將自身的功能與數據極大化的與其他系統連結,又或者反過來,跟盡可能多的系統進行數據交換藉此完善自身功能

在這邊先援引 Happy 的文章:

AI 時代下的軟體產品發展指引
AI 正在重塑軟體開發,未來的軟體產品將不再需要完整實現所有功能,而是透過 AI Agent 動態生成客製化功能,滿足不同客戶的需求。軟體產品應該專注於開發 核心功能 + AI Agent 介面,讓 AI 負責 70% 的延伸需求,這將大幅提升軟體開發效率,並改變 SaaS 的市場格局。

Happy 文章中提到的客製化我非常有感,因為過往我們為了滿足不同的客戶需求,我們總會需要撰寫額外的 code,而這通常導致架構開始變亂,要維護的程式分支增加,技術債愈堆愈多。可偏偏,客製化在業務推進過程,經常都是必要之惡。

我們通常只能盡可能的框好客製化的範圍,讓多數的開發資源還是投入在產品的標準功能上,而非單一客戶的客製化需求。

可是隨著業務擴展開了,客製化需求通常也會愈來愈多,而成熟的開發團隊也會開始認真思考(至於不成熟的團隊就不好說了XD)。如何讓客製化不再需要投入工程師進行開發,而是客戶透過設定,或者我們所提供的工具就能完成他所需要的功能

上述是我對軟體客製化的四種層級:

Lv1:用戶設定,以使用者為單位,使用者介面上讓他根據自己的喜好做設定。
Lv2:系統參數,以系統為單位,系統管理員可以針對整個系統進行偏好設定。
Lv3:模組化工具,像是 PowerBI、Salesforce 的流程工具,軟體廠商提供了工具,讓使用者可以透過一些學習便能做到更多元的客製化。
Lv4:開發整合,可能是提供一個 PaaS 平台,或者提供更多的 API 或元件,讓客戶端的 IT 或工程師能透過撰寫程式來實現標準產品所沒有的功能。

L1、L2 基本上都還是得修改系統,Lv3 則可以在系統內,也可以是個外掛程式,Lv4 的靈活度最高,但進入門檻也是相對高的。但如果開發團隊有做了上述四件事,公司是有相對大的機會將客製化這件事降到最低。

對團隊來說,關鍵任務是將這些客製化、個人化的需求委由使用者、企業 IT、外部開發人員來處理。如果真的需要開發團隊處理,那工作量要盡可能降到最低。

而要做到這件事,我們得重新定義系統邊界,也就是系統做什麼與不做什麼。嚴格來說,那些不在產品 roadmap 上的項目,是盡可能不做的,但今天客戶需求來,在有業績目標壓力時,有多少人可以很堅定的說「NO」呢?我認為這挑戰性非常大。

如果今天接收到的需求,我們必須得做,但需求又在系統邊界之外時怎麼辦?我們必須得開放系統介面(interface),讓外部能夠存取

上述的四種客製化模式,本質也是開放系統介面,差別在於形式與深入程度。

從 API 到 Agentic AI

而開放系統介面最常見的方式,就是開放 APIs(Application Programming Interface),把系統中資料的存取權限,透過一個個的 API 開放出去。讓外部系統可以讀取(read)跟寫入(write)系統中的資料,進而達到跨系統間的整合。

而近兩年大家談論的最多的議題,應該是關於代理 AI(Agentic AI),指的是透過 Agent 來進行系統間的整合。但 Agent 並不能完全取代 API,Agent 比較像是做為外部系統與 API 之間的中介。

Agent 可能同時對應一個或多個 API,替代 API 來跟外部系統進行溝通,等於是在 API 與外部系統間多架了一層。而 Agent 除了處理自然語言之外,也結合 LLM 進行最擅長的分析、規劃、匯總等工作,然後再進一步調用 API 來執行多樣的數據處理工作

這邊舉一個案例,以前如果要召開一個有效能的跨部門會議,我們可能需要做以下幾件事:

  1. 發信件或透過其他方式確認關鍵與會者的時間。
  2. 發出會議通知。
  3. 會議進行過程進行會議記錄。
  4. 會議後發出會議紀錄與待辦事項。
  5. 跟進待辦事項。

這中間可能會涉及到多個數位工具與大量的人工作業,但現在我們可以撰寫一個 Agent 來達成以上任務,這個 Agent 的運作可能長這樣。

  1. 連結 Outlook 或 Google calendar,直接找出關鍵與會者的空檔時間,並發出會議通知。
  2. 會議進行過程自動呼叫 AI 機器人進行會議記錄,並於會議後自動發出。
  3. 分析待辦事項內容,將待辦事項分派給對應的負責人並設定回報時間。
  4. 下次跟進會議時,直接調閱待辦事項進度。

上述每個動作,都由 Agent 自動完成,過程中無須人工介入。現實工作中固然沒法做到盡善盡美,但這已經是現在 AI 能輕鬆搞定的任務了。

再舉一個例子,今天公司的業務主管想要知道部門內業務的工作狀況,一般而言他會需要處理幾件事:

  1. 上 CRM 系統查詢業務的業績數字。
  2. 上 行事曆 系統查詢業務行程。
  3. 上 CRM 查詢客戶拜訪紀錄、業務開發計畫,並與行事曆進行比對。
  4. 上 HR 系統確認員工的出缺勤。
  5. 上 CRM 系統查詢員工歷史業績表現與業績獎金。
  6. 彙整整體工作狀況。

這個動作跨了兩個系統,且涉及資料的彙整,對資深業務主管來說,他得花上不少時間處理,而對新手主管來說,還多了一層業務管理 know-how 的挑戰。

但這些 know-how 與資訊處理過程完全能由一個「業務管理 Agent」來取代掉。

業務主管只要下 prompt:「我想知道 OOO 最近兩個月的業務推進狀況。」,Agent 便會自動進行上述動作,並產出一份工作現況分析。

你可能會覺得,那這還不是要花大量時間寫 Agent?跟以前為了這情境寫一支完整的程式有什麼差別?加上要重新學習 AI,會不會花的時間反而比本來更多?

會有這樣的疑問不奇怪,但我們得先回到 GenAI 的出現到底對寫程式帶來了什麼改變。

我認為關鍵差異在於,LLM 的存在,讓 Agent 具備自適應能力。

簡單舉幾個例子:

  1. 多個系統之間,資料交換格式不同,過往需要人共介入撰寫大量的程式來處理格式問題,現在 AI 有能力自行處理。
  2. 維運上任何的細微調整,包含 A 伺服器附載過重或回應過慢改連 B 伺服器,A 伺服器發生錯誤直接切換到 B 伺服器。這些過往要不仰賴大量人工處理,就是得做好許多預先定義的邏輯。但現在 AI 能根據系統維運的基本邏輯,以及已知的系統架構,自行調節配置,並且開始修復錯誤。
  3. 傳統模式中,所有程式的邏輯都是預先設計好,不具備自動適應能力,但 AI 可以根據使用者回饋、數據結果、錯誤回報等機制來動態調整邏輯。

這樣的例子很多,不勝枚舉,但我認為核心關鍵在於 AI 的自適應能力,也就是可以根據數據、prompt 直接調整邏輯,而不是固定不變的。

聽起來神奇,但依然存在許多風險,因為重要的系統功能,在缺乏人為監管的狀態下,哪能放心全然交給 AI 處理。

不過這就是個過程,我們可以逐步將低風險的任務,先交給 AI 處理,並監管一段時間,確保結果符合預期。接著就可以拿掉監管,往後只要每個月確認一次,或者在問題升級時再做處理即可。

往 Agentic AI 發展的第一個挑戰 - API 化

開發 Agent 的前置工作是系統本身的 API 要盡可能的完善,從系統觀點,API 的存在除了讓系統間可以有效溝通外,還有封裝與隔離的作用在,API 限制了外部對系統的存取操作範圍,這對於確保系統的安全性是有重大幫助的。

想像一下,如果一個 Agent 在自適應過程出了差錯,在沒有 API 層隔離的狀態下,他可能會直接面對整個系統內的所有可存取的 function,最終會搞出什麼問題來還真的不好說。但因為多了 API 層,Agent 能做的事其實就被 API 給限制住了,這也確保了系統本身的安全性。

之前跟一家公司的工程師在討論這方面的需求時,有個工程師曾說要做一個 Super API,這個 API 擁有資料庫中所有資料表的 CRUD 功能,這樣就不用針對個別資料表的存取去撰寫 API 了。

這個想法超級危險,因為不同資料表之間可能有所關聯,針對不同的狀態也有不同的存取權限控制,忽略這些直接將整個資料庫的存取都開放給 AI,跟裸奔其實沒兩樣。

所以撰寫 API 是走向 Agentic AI 架構過程很難避免的工作,但有了完善的 API,那開頭提到的客製化乃至於整合的問題便會大量減少

因為你可以讓第三方來撰寫 Agent,或者由外部系統廠商、客戶自行撰寫 Agent 來實現他們的需求,大大減少自家產品的工作量與複雜度,是很值得投資的一件事。


為 GenAI 的輸入/輸出格式做好準備

在思考系統邊界問題時,我也看到另一個可能會影響系統設計的議題,那就是怎麼處理 GenAI 的輸入與輸出。

多元的輸出格式

先談輸出,許多系統的前端介面是寫死的,這直接限制了 GenAI 在介面上的表現能力。就像早期的 ChatGPT 只能回傳聞自,無法回傳圖片,或者只能提供醜醜的 ASCII 表格,但做不到複雜表格處理,也無法做到高互動介面。

你說這是因為 GenAI 的限制嗎?其實不是,限制住他的其實是 ChatGPT 的前端架構。

所以如果我們要解放 GenAI 的能力,我們的前端架構也需要相對有彈性,這樣使用者下 prompt 後能獲得的個人化效果也會大大增強,更有機會透過 GenAI 實現高度客製化。

自然語言輸入

再談輸入,從輸入角度,我覺得 GenAI 帶來的變革是劃時代的,因為他能接受自然語言。

以前如果我要查詢一些資料,我得在介面上根據我要的條件逐一輸入參數,有時這些參數還具有先後順序與邏輯性。像是 AND 或 OR,AND 跟 OR 有沒有先後的問題,或者 >、<、= 之間是否有任何邏輯互斥的問題。

過去為了讓使用者能獲取自己想要的結果,這種介面設計是必要之惡,但這種設計的學習成本非常高

但現在使用者可能只要下 prompt:「請幫我抓取 OOO 部門,在 3 月 1 號到 15 號之間,缺勤次數超過 2 次的員工,以及加班時數超過 10 小時的員工。」

以前為了組成上述條件式,我們可能得忙個老半天,但現在交給 GenAI,他可以直接理解,並給出對應的資料。這除了大大降低學習成本外,也會讓使用者更願意經常使用系統。

另一個我覺得很多軟體服務都已經在用的是將系統操作的指引也交給 GenAI,像是 Canva 上有很多功能我剛開始用的時候其實都不知道怎麼使用,哪些功能藏在哪我也不知道,但我只要「問問 Canva」他就能教我怎麼用。

以前在產品功能愈加愈多時,我們總得進行介面的重構,確保介面不會複雜到使用者找不到所需功能。就像以前的 Office 一樣,選單跟功能很多,但如果不常用,經常會找不到在哪,因為你可能連功能的名稱都不記得了。

但現在因為可以直接用自然語言問,有些功能就算藏的很深也不擔心,因為使用者跟系統互動的方式已經從 GUI 進步到自然語言了。

讓使用者用自然語言操作系統,我認為這是未來所有系統的重要趨勢。

上面是我過去一年的一些想法,提供大家參考,而關於 AI 時代的系統邊界問題,我有以下幾點總結。

  1. 系統的 codebase 會變小,由外部系統或 Agent 處理的比例會增加。
  2. 系統的邊界還是得看 Agent 是否被含括在系統範圍,如果 Agent 是一個模組,那其實仍在系統邊界內,如果是一個外部服務,那便排除在外。
  3. 開放 API 會讓系統能力往外延伸,也會同時增強系統本身能力,API 化會是跨入 GenAI 的重要步驟之一。
  4. 要享受 GenAI 的能力,系統的輸入與輸出的介面設計非常重要。
如果你覺得我內容寫得還不錯,歡迎訂閱我的電子報,我每雙週會發送一封電子報到你的信箱。訂閱連結在這,過往的電子報也在這:Gipi電子報

也鼓勵你可以將我的電子報分享給你認為有需要的朋友們,也許你的舉手之勞,將會改變另一個人的思維與習慣。

Read more

AI 學習的悖論

AI 學習的悖論

「AI 讓你看起來更聰明,實質卻有可能學得更少。」 剛剛看到一篇文章談論 AI 對學習的可能傷害,他的參考資料是來自一篇文章《The Myth of Automated Learning》。這篇文章提到一個蠻重要的概念。 當人們使用機器自動執行他們本來可以自己完成的任務時,會發生以下三種情況之一: 1. 他們的技能不斷提高。 2. 他們的技能退化了。 3. 他們永遠學不會這項技能。 這三種狀況分別容易發生在三類人身上: 1. 如果使用者已經是專家,AI 工具可以進一步增強他們的技能。 2. 如果使用者尚未成為專家,而這項技能需要不斷練習,那麼 AI 自動化可能會導致技能退步。 3. 如果使用者是新手,而 AI 從一開始就執行任務,那麼這個人就可能永遠不會真正掌握這項技能。 作者舉的案例是工業時代,那些工匠等級的人,他們的工作被產線工人+自動化機器給大量取代,但這些生產線的工人離開自動化機器後其實什麼都不會。 對這個觀點我一半認同一半存疑,認同的點在於,產線工人熟悉的是機器操作,而工匠擅長的則是不靠機器來完成任務。哪個難度更高?通常是工匠。但從商業角度來思考

By gipi
互聯網女王 Mary Meeker 報告心得(2)-餐飲品牌 Yum Brands 的案例

互聯網女王 Mary Meeker 報告心得(2)-餐飲品牌 Yum Brands 的案例

這幾篇文章都是我觀看 Mary Meeker 2025 年報告後的一些整理跟心得。原始的文件可以參考:https://www.bondcap.com/reports/tai 本篇要聊的話題是在 75 頁看到 Yum Brands 在 2025 年 2 月開始推動旗下餐廳的 AI 化與數位化。 這份報告中可以看到的資料很有限,不過我對餐飲業的現況有點興趣,所以我請 ChatGPT 幫我針對 Yum Brands 使用 AI 的狀況做一些整理,發現一些比預期有趣的資料。 首先介紹一下 Yum Brands 這家公司,因為這名字相信很多人都沒聽過,但說到他旗下的公司大家應該就知道這家公司的規模有多大了。它旗下的主要品牌有以下四個: * KFC(肯德基) 全球知名的炸雞品牌,在 150 多個國家擁有超過 27,000

By gipi
互聯網女王 Mary Meeker 報告心得(1) - AI 的任務,增效優先於降本

互聯網女王 Mary Meeker 報告心得(1) - AI 的任務,增效優先於降本

到今天才有時間把互聯網女王 Mary Meeker 2025 的報告好好閱讀一下,報告的原始網址在此,有興趣的人自行閱讀:https://www.bondcap.com/reports/tai 在報告的 68 頁中我看到了一個很重要的觀念,我結合圖表做說明。 下面這張圖是 BOND 團隊針對 Morgan Stanley 的一份報告作出的整理,這張圖主要強調的是許多大型企業(調查了 400 多家年營收在 5 億美元以上的企業)對 AI 的觀點是放在「營收與事業擴展」上,而非「成本降低」。 以下幾項是被 BOND 團隊歸類在「營收與事業擴展」的項目: Production / Output (提升生產產出) ~70% Customer Service(提升顧客服務品質) ~65% Sales

By gipi
AI 時代我們需要什麼樣的產品經理

AI 時代我們需要什麼樣的產品經理

早上聽 Lenny 專訪 Revolut product head Dmitry Zlokazov 的內容,Revolut 是一家位於倫敦的科技公司,專注於提供金融領域相關的軟體服務。在這個專訪中我聽到幾個很可能是接下來產品經理定位的轉變。 Revolut 在找什麼樣的人來擔任產品負責人?以及如何培養他們成為全球等級的產品負責人? 重視原始智力與飢渴感 在招募時,比起應徵者豐富的經驗,更看重他們的原始智力 (raw intellect) 和渴望打造事物的永不滿足的飢渴感 (unquenched hunger to build things)。有飢渴感的人就算經驗較少,也能快速學習、適應並推動改變並解決問題。 而 Revolut 也更傾向於招募那些處於早期職業生涯 (early in their career) 或具有創業背景的人。 專注於不懈的執行 如果一件事情只完成了 99%,那它更接近 0% 而不是 100%。這包括確保產品不僅僅是開發完成,還需要確保客戶服務、銷售和行銷團隊都能充分利用,否則它可能只是一個無人知曉的無用功能。

By gipi