「沒人會花時間做,但AI可以!」Karpathy如何讓Claude用5,500行程式碼刻出《魔戒》世界?
「沒人會花時間做,但AI可以!」Karpathy如何讓Claude用5,500行程式碼刻出《魔戒》世界?

卡帕西 (Andrej Karpathy) 8 月 2 日在 X 貼出一場實驗:他給 Anthropic 的 Claude Opus 5 一段《魔戒》開頭文字、100 萬 token 的使用預算(成本約 10 美元,約合新台幣 323 元),要它用 three.js 這套網頁 3D 繪圖工具把故事場景渲染出來。

結果 Opus 5 跑了約兩小時,寫出 5,500 行程式碼,以程序化生成的方式長出一個能在瀏覽器裡走動的《魔戒》世界。卡帕西自評成果「有點粗糙但很有趣」,真正讓他覺得不可思議的,是模型得自己把各種多邊形素材擺進 (x, y, z) 三維座標、再寫程式讓它們動起來,而它做到了。

10 美元、兩小時,AI 自己把多邊形擺進三維座標

卡帕西是 OpenAI 創始成員、特斯拉 (Tesla) 前 AI 總監,2026 年 5 月加入 Anthropic 的預訓練團隊,這次拿來測的 Opus 5 正是他新東家的模型。

這場實驗的技術含量,藏在空間推理這一層。人類 3D 設計師是用滑鼠在建模軟體裡把形狀拉出來,Opus 5 沒有這個介面,它做的事是寫 JavaScript 程式碼:算出每一塊多邊形素材該落在 (x, y, z) 三維座標的哪個位置、彼此的相對關係是什麼,再寫出讓它們移動的動畫邏輯。整個場景靠程序化生成(procedural generation)長出來,也就是寫一套規則讓程式自己生出地形、房子與植被,省去逐一手工擺放。

原始碼卡帕西已放上實驗網頁,可直接在瀏覽器裡玩,也能自行分叉修改。three.js 官方帳號在留言區建議「應該教 AI 盡可能使用實例化網格(instanced meshes)」,這是同一個模型要重複出現很多次時大幅節省效能的做法;卡帕西回覆說他把這條回饋轉給了 Opus,「長知識了」。

AI 的罩門:它看不到自己做出來的東西

卡帕西在同一則貼文裡點出這類任務暴露的弱點:LLM 沒辦法輕鬆審核自己的成品,因為它無法有效且原生地「看」影片,也不能親自把遊戲玩一遍。

Opus 5 的替代方案是截圖。它得在不同時間點停下來擷取畫面,再從靜態圖片反推動態場景哪裡出了問題。卡帕西形容這個過程「非常緩慢且費力」,模型中途搞砸了好幾次,做出一堆粗糙的東西。他把多模態感知與遊戲操作列為仍相當欠缺的原始能力。

這也解釋了成果為什麼粗糙。差別不在模型會不會寫程式,而在它缺少人類設計師最基本的那道回饋迴圈:做完之後看一眼,發現不對再改。

從畫一隻鵜鶘,到給 AI 100 萬 token 的預算

貼文開頭卡帕西寫道,業界「正開始脫離那種你會用『畫一隻騎自行車的鵜鶘的 SVG』來測試大型語言模型的階段」。

鵜鶘測試的做法是要模型畫一張騎腳踏車的鵜鶘向量圖,看它在沒有視覺回饋的情況下能把構圖組得多合理。這是開發者 Simon Willison 用來比較文字模型程式與空間構圖能力的個人評測方法,後來也被卡帕西引用來對照模型能力的進展。

新的題型換了維度。相較一次性的 SVG 生成,這類任務給模型更大的反覆推理與修改空間,實際考驗的是它能否持續執行、維持程式結構一致,並根據截圖回饋反覆修正。

卡帕西真正興奮的是成本結構。他寫道,沒有人會花時間去寫這麼客製化的東西,「但 LLM 擁有世界上所有的耐力和耐心」,於是這件事從「沒人會做這種事」變成「當然,為什麼不呢,這幾乎是免費的」。他設想的下一步是超客製化的娛樂內容:玩家可以被丟進任何一個故事裡,當《魔戒》的路人 NPC 或其中一個角色,「像是隨選的短暫 GTA 版本」。

貼文最後他開玩笑說,期待「GTA 哈比屯」比《俠盜獵車手 6》(GTA VI) 先問世。

延伸閱讀:台達電為何能第一時間熱賣「3年後供電」?速戰億級AI電源生意,背靠哪3項過人底氣?

資料來源:Andrej Karpathy X 貼文Karpathy 實驗原始碼與試玩頁《TechCrunch》Simon Willison 鵜鶘測試說明

本文初稿為AI編撰,整理.編輯/ 李先泰

關鍵字: #Anthropic #Claude

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
台達電全解讀
© 2026 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓