尼爾·桑達雷桑(Neel Sundaresan)拒絕回答三個問題。他帶著幾分戲謔地說,其中一個問題是:為什麼IBM的Bob叫Bob?
這種迴避方式極具深意。桑達雷桑——IBM軟體自動化與人工智慧總經理、微軟GitHub Copilot的創始工程師,此前曾在IBM擔任研究員——並非產品行銷人員。他是一位從研究員轉型為開發者,最終成為高階主管的人,而貫穿這三個角色的主線是同一個執念:如何才能提高軟體開發人員的生產力?又有哪些因素阻礙了他們?
他從2000年就開始研究這個問題,那時Transformer模型還未出現,大型語言模型也尚未問世,甚至在當時的小眾研究圈之外,沒有人會認為人工智慧和開發者工具可以放在一起討論。從那時到本週發布的IBM Bob(目前已在IBM內部擁有8萬用戶),其發展歷程遠比新聞稿中所描述的要長。
早在任何人觀看之前就開始了
桑達雷桑為提高開發者生產力所構建的第一個系統,與我們今天所理解的AI編碼工具截然不同。它是一個API呼叫推薦系統。
「30%的開發者程式碼都是API呼叫,」他在接受《The New Stack》專訪時說道。「如果你使用類別呼叫某個函式,你會得到一長串待呼叫的函式清單,然後你必須從中選擇。這本身就是一個痛點。」
目標不是生成程式碼,而是在合適的時機顯示正確的函式呼叫——本質上,這是一個應用於開發者自動完成體驗的搜尋排名問題。
這個模型並非Transformer,甚至也不是現代意義上的深度學習模型。但開發者們卻非常喜歡它,他說道。而這一早期訊號——即在開發流程中某個特定的小環節減少摩擦就能帶來巨大的滿足感——至今仍然影響著桑達雷桑對這個問題的思考方式。
「寫程式是一項分析性工作,與網路購物不同,」他說。「如果系統給出錯誤的推薦,或者給出的推薦會干擾我的思考過程——這很重要。」
他認為,使用者體驗與人工智慧底層的運作機制無關。即使模型本身更好,如果表面設計出錯,最終得到的產品也可能更糟糕。
他見證了模型領域的發展歷程:長短期記憶模型、早期編碼器-解碼器架構、Google Transformer論文,以及第一個GPT模型。在每個階段,他的團隊都已經看到了他們試圖解決的問題。只是當時的模型還不夠強大。「如果你回顧一下我們發表的論文,你會發現我們在所有這些領域都有涉獵,」桑達雷桑說道,「每篇論文都會指出,這是解決此問題的模型,這是解決彼問題的模型。」
「就連我們的客戶都不願意把資料傳送到我們自己的雲端。他們希望資料保留在客戶端。所以,我們實際上會讓模型在筆記型電腦上執行——為了確保它能在筆記型電腦上執行,我們做了大量的工程工作。」
他表示,當尖端模型最終具備足夠的能力,能夠讓更大膽的嘗試獲得回報時,Copilot就應運而生了。但在此之前,桑達雷桑也花了數年時間觀察模型的誤差——以及圍繞這些模型的產品設計存在的缺陷。訓練閾值導致了錯誤的自信訊息。人們傾向於為每項任務都選擇最強大(也最昂貴)的模型,而不管是否真的需要。在企業實際營運的受限環境中執行高效能模型也並非易事。
「即使是我們的客戶也不願意把資料傳送到我們自己的雲端,」他回憶起微軟早期的歲月時說道。「他們希望資料保留在客戶端。所以,我們實際上會讓模型在筆記型電腦上執行——為了確保它能在筆記型電腦上執行,我們做了大量的工程工作。」
為什麼選擇IBM?
當桑達雷桑講述這段經歷時,人們自然會問:他為什麼選擇加入IBM而不是去其他更耀眼的公司?他的回答很坦率:在微軟工作十年後,他想換個環境,而IBM的條件非常誘人。
但不太明顯的答案是,就他遇到的具體問題而言,IBM的負債實際上是資產。
「在軟體部門,我們有將近兩萬名員工。我們有基礎設施,我們有諮詢服務。IBM內部使用者數量龐大,」他說道。「如果我能創造出對他們有益的產品,那本身就是一個巨型產品。」這種內部部署——IBM稱之為「零號客戶」——為他帶來了外部產品發布無法企及的東西:一個龐大、多元化且忠誠的使用者群體,他們願意承受早期的摩擦,以換取真正的生產力提升。
另一項優勢在於工作負載的多樣性。IBM的內部開發人員確實會撰寫Python和Rust程式碼,但他們也會撰寫PL/I、COBOL、大型主機JCL以及桑達雷桑所說的「自訂語言,例如俚語」。如果Bob能夠處理如此廣泛的工作負載,那麼它就能應對企業客戶提出的任何需求。
「在我們敲開客戶家門之前,我們就已經有一個故事要講了,」他說。
他也直言不諱地指出他所構建的體系針對的是什麼。它不是一個適用於任何開發人員執行任何任務的通用工具,而是一個專門針對企業環境最佳化的系統,而大多數人工智慧編碼工具都將企業環境視為邊緣情況:遺留程式碼庫、嚴格的合規性要求、混合環境,以及人工智慧生成的程式碼看起來可以用於生產環境但實際上卻不具備生產環境的實際成本。
沒人談論的成本問題
在與桑達雷桑的對話中,最坦誠的時刻之一是他描述了大多數開發者如何隨意使用AI編碼工具。
「這就像開著法拉利去買牛奶一樣,完全沒必要。」
「人們只會問,『你想用哪個模型?』然後他們會選最新的Sonnet 4.7之類的。他們可能只是執行一個簡單的提示詞,但一百萬個token就要價15美元(約新台幣480元),」他說。「這就像開著法拉利去買牛奶一樣,完全沒必要。」
Bob不會向使用者公開底層模型。它會根據任務的實際需求,自動將任務路由到Anthropic Claude、Mistral開源模型、IBM Granite,或者幾個專門為Bob環境構建的專有、精細調整的模型之一。
桑達雷桑認為,真正的架構設計在於路由智慧。「這並非簡單地將模型套用到系統中,」他說道,「而是要引入模型、引入體驗,以及構建能夠提供卓越體驗的架構。這三者必須完美融合。模型只是等式的一部分。」
他描述了在IBM內部使用者群中開展A/B測試的過程——對比測試前沿模型的不同變體,監控使用模式,並找出哪些任務使用了成本高昂的模型,而成本更低的模型卻能同樣出色地完成。這種內部部署使得早期產品無法承受如此大規模的實驗成為可能。
代理市場究竟將走向何方?
如果你問桑達雷桑關於AI代理的炒作週期,他會給你研究員的答案,而不是總經理的答案。
「無風不起浪,」他告訴《The New Stack》。「如果炒作是煙霧,那麼火就一定在某個地方燃燒。它可能沒有煙霧那麼大,但火確實存在。」
他認為,基於代理的開發是真實存在的,但並非新生事物。基於服務的開發、基於API的開發、基於代理的開發——所有這些都早已存在。改變的是,如今的介面是機率性的、對話式的,而非確定性的、程式化的。這種轉變創造了真正的新能力,但也帶來了真正的新風險。
「我們可以因為害怕而什麼都不做,也可以勇敢且有條不紊地向前邁進。」
「你也可以分散它的注意力,」他談到代理系統時說道,「你可以問一些不該問的問題,或者透露一些它不該透露的資訊。」他認為,他所看到的91%的人工智慧專案失敗率歸根究底在於紀律——或者說是缺乏紀律。企業往往認為與前沿模型供應商簽訂協議就萬事大吉了。事實並非如此。「在將它們整合到你的軟體產品之前,你需要確保自己遵循一定的紀律,」桑達雷桑說道。
他關注的方向,也是他認為應該得到更多重視的方向,是:能夠與其他代理交流的代理,最終會使用人類無法直接閱讀的機器原生語言。「如果這些衍生語言中出現錯誤,後果可能不堪設想,」他說。「未來還有很多事情要做。我們可以畏首畏尾,什麼都不做,也可以勇敢且有條不紊地向前邁進。」