AI大神 Karpathy:軟體3.0時代來臨!AI 正在如何顛覆我們對程式設計的全部認知?

軟體演進三階段:從 1.0 到 3.0 的典範轉移
Karpathy 首先提出一個宏大的框架,將軟體的演進劃分為三個世代:
軟體 1.0,是我們最熟悉的樣貌。工程師使用 Python、C++ 等程式語言,一字一句地撰寫明確指令,建構出我們今日數位世界的骨架。從作業系統到應用程式,所有邏輯都源於人類的智慧結晶,存放於 GitHub 這類的程式碼寶庫中。
軟體 2.0,伴隨深度學習的興起而誕生。其核心不再是人類編寫的指令,而是神經網路的「權重 (weights)」。我們不再直接「寫」程式,而是透過精心建構的資料集與優化器,去「尋找」能夠解決問題的程式,也就是訓練完成的神經網路模型。Hugging Face 這類平台,便如同軟體 2.0 時代的 GitHub,匯集無數的模型。過去,這些神經網路如同功能單一的特化電腦,例如專門用於圖像分類的 AlexNet。在特斯拉的自動駕駛系統開發中,卡帕西親身見證軟體 2.0 如何逐步蠶食並取代傳統的 C++ 程式碼,將感知、融合、規劃等複雜任務整合進一個更龐大、更強韌的神經網路中。
軟體 3.0,則是當下正在發生的革命。大型語言模型 (LLM) 的出現,創造一種全新的運算實體。過去的神經網路如同功能固定的機器,而 LLM 卻像一台可編程的通用電腦。而最驚人的部分在於,它的程式語言,竟然是人類的自然語言,例如英文。我們透過「提示詞 (Prompt)」來指揮這台新電腦,這意味著編寫程式的門檻驟然消失,數十億會說話的人,都在一夜之間成為潛在的「程式設計師」。
LLM:新時代的作業系統
卡帕西運用一系列精妙的比喻,剖析 LLM 在科技生態中的定位。他引述吳恩達的名言「AI 是新時代的電力」,說明 LLM 如同基礎設施,透過 API 像電網一樣輸送智慧。但這個比喻並不完整。LLM 的開發需要巨額資本投入與深厚的研發路線圖,又帶有半導體產業的色彩。
然而,卡帕西認為,最貼切的比喻是「作業系統 (OS)」。當前的 LLM 生態,正如個人電腦的早期歷史。有像 OpenAI 或 Google Gemini 這類封閉系統,如同 Windows 與 Mac OS;同時,以 Llama 為首的開源社群,也展現出發展成 Linux 的巨大潛力。
這個新作業系統的「CPU」是 LLM 本身,「記憶體 (RAM)」是其上下文視窗 (Context Window)。我們目前與 ChatGPT 的對話,就像在 1960 年代透過文字終端機與大型主機互動,我們處於「分時共享」的雲端時代,個人運算的革命尚未真正到來。更重要的是,這個新作業系統缺少一個成熟的圖形化使用者介面 (GUI),我們仍在探索與它互動的最佳方式。
與「有瑕疵的天才」共事
要駕馭這股新力量,必先理解其本質。卡帕西將 LLM 形容為一個「有瑕疵的天才」。它擁有如電影《雨人》主角般的超凡記憶力,能記住網際網路上浩如煙海的知識。然而,它也存在明顯的認知缺陷:它會產生幻覺、編造事實;它缺乏穩固的自我認知,時而聰明絕頂,時而犯下人類絕不會犯的低級錯誤;最關鍵的是,它患有「順行性遺忘症」,如同電影《記憶拼圖》的主角,每次對話結束,記憶便歸零,無法從互動中持續學習與成長。
理解這些特性至關重要。我們必須設計一種工作流程,既能發揮其長處,又能規避其短處。
打造「鋼鐵人戰甲」,而非全自動機器人
基於對 LLM 的深刻理解,卡帕西提出一個核心開發哲學:現階段,我們的目標不該是創造全自主的 AI 代理人,而是打造「半自主的應用程式」,如同東尼史塔克的「鋼鐵人戰甲」。
戰甲既能增強使用者能力,也能在指令下自主行動,但最終控制權仍在人類手中。成功的半自主應用,如程式碼編輯器 Cursor 或研究工具 Perplexity,都具備幾個共通點:
- 智慧的語境管理:自動彙整所有相關資訊,餵給 LLM。
- 多模型協調:在後端調度不同功能的 LLM,分工合作。
- 專屬的 UI/UX:設計高效的視覺化介面,讓人能快速驗證 AI 的產出。人類視覺系統是高頻寬的,圖像化的差異對比,遠比閱讀純文字報告來得快速。
- 可調式自主性 (Autonomy Dial):提供一個「旋鈕」,讓使用者能依據任務的複雜與風險,自由調整 AI 的介入程度,從簡單的自動補全,到修改單一檔案,乃至重構整個專案。
這個「人類生成指令、AI 執行、人類驗證」的循環,速度越快,生產力越高。卡帕西以自身在 Waymo 自動駕駛車的早期體驗為例,提醒眾人,即使在 2013 年就能完美展示,但解決剩下 1% 的長尾問題,卻花費超過十年。同樣地,實現真正的 AI 代理人,也將是一段漫長的旅程。
為新物種「代理人」而設計
這場革命不僅賦予人類新的能力,更創造一種全新的「數位物種」——AI 代理人。卡帕西在開發自己的小工具 MenuGen 時深刻體會到,寫核心程式碼只花數小時,但處理金流、部署、身分驗證等繁瑣的 DevOps 工作卻耗費一週。這些在圖形介面上點擊、複製、貼上的重複勞動,正是為 AI 代理人量身訂做的任務。
因此,他呼籲,我們應該開始思考如何為「代理人」設計軟體。這包含:
為代理人撰寫文件:如同網站有給搜尋引擎看的 robots.txt,我們或許需要給 LLM 看的 lms.txt。將文件轉為 LLM 易於解析的 Markdown 格式,並將「點擊此處」等指令,轉換為代理人可執行的 curl 命令。
打造代理人友善的介面:開發各種小工具,將為人類設計的網頁或程式庫,一鍵轉換成適合 LLM 讀取的純文字或摘要格式。
這意味著我們需要與 AI 主動合作,而非被動等待它學會適應我們充滿視覺隱喻的世界。
卡帕西的演說,揭示一個令人振奮的現實:我們正站在一個需要重構、重寫、重新想像幾乎所有軟體的時代。從底層的作業系統概念,到上層的應用程式互動模式,再到資訊本身的呈現方式,都在經歷劇烈變動。
這是一個充滿挑戰與龐大機遇的時代。未來十年,我們將親手推動那代表自主性的進度條,從人類增強的「鋼鐵人戰甲」模式,逐步邁向更自主的未來。這場宏大的軟體工程,正等待著新一代的開發者、設計師與思想家共同參與打造。
