Image

上班第二天終於有心情來消化一下訂閱箱裡面的文章,結果看到一篇德魯大大的文驚為天人,馬上轉貼上來:[架構師觀點] 開發人員該如何看待 AI 帶來的改變?

在這篇文章裡,德魯直接拿 API 給 GPTs 作一個訂單 BOT。除了一般的查詢商品和下訂單以外,還嘗試在對話中刁難它、叫它推理出某項商品有折扣,或是整理歷史訂單之類的。而 GPTs 雖然偶有瑕疵,但還是達成了任務。

前半段的實作和 Demo 頂多讓我覺得:「GPTs 有點香ㄟ」,但後半篇的火力更是讓我驚訝。

從 GPTs 的測試,德魯大大延伸了 API 的設計和德魯覺得後續開發人員該做什麼等議題。例如說 API 的設計將比以前都更講究合理可讀,因為:

未來的 API 會越來越重要,服務不再是 UI first, 而是 API First…

因為,掛上 LLM 後的 API ( Plugins ), 呼叫你 API 的不再是其他開發者了, 會變成 AI 來呼叫你的 API。你已經無法 “預測” 或是 “約束” 對方該怎麼呼叫。這時你只剩兩條路可以選擇,一個是把你的 API 設計的合情合理,完全符合現實世界的運作邏輯 (就是我常講的 OOP 精神: 模擬世界 加以處理),你只要用 Prompt 就足以交代 AI 該怎麼使用 API。

另一個就是把你的 API 做到邏輯無懈可擊,滴水不漏。不論 AI 用什麼順序呼叫,傳遞什麼參數給你,都不會發生意料之外的結果。這個非常吃嚴謹的設計,我曾在 API First 不斷強調 “有限” 狀態機的重要性,就是預防這種錯誤。

我先前從沒想過 API 在未來很可能是由 AI 來呼叫,我很可能不能再走去串接對象的座位旁邊,拍拍他的肩膀跟他說「你就給我這樣打,懂?」

這強迫了我的 API 畢竟設計得更乾淨,以避免 AI 「誤會」我的意思。

而在另一段,德魯大大提到寫程式的基礎認知被改變:

我從開始學寫程式時寫的第一行程式碼 printf (“Hello World, Andrew!”); 開始,所有交給電腦處理的事情都是非常明確的,一個指令一個動作。直到現在,電腦都不大能處理邏輯不明確的操作,這 20 年來最大的差別就是操作變簡單了,但是要明確的指令這件事一直都沒變.. 這也難怪, 電腦從一開始被發明出來, 英文是 “computer” (計算機), 而不是像中文這樣翻譯成 電 “腦”, 或是 “智慧” 等等這類用語,計算機就是計算,再複雜的計算還是計算,不是智慧,也不是真人。

不過 AI 在 2023 的發展,打破了這個門檻。對我這種 AI 門外漢來說,我看到的就是語言模型突然之間成熟到能理解對話內容背後的 “意圖” 了,突然之間你問他什麼內容,他都能若有其事的回答你有參考價值的答案 (正確性是另一回事,但是至少是人話了)。光是這點,就足以打破過去 20+ 年我對軟體開發的基礎認知

也讓我思考,往後的開發很可能並不是一個指令一個動作地測試,我們勢必會需要學習能夠針對 GPTs 產品的檢驗和測試方式(看來該請 QA 朋朋教我幾招了吧)

延伸閱讀:Devv.ai 是如何构建高效的 RAG 系统的

除了以上的部分,德魯大大還提了一些微軟的布局、開發人員該做的事情(例如擁抱 Copilot)。

整篇文章蠻長的,建議可以存起來有空的時候看。

那麼,今天的轉貼就先到這邊。明天見 ><"