![]()
編譯 | 蘇宓
出品 | CSDN(ID:CSDNnews)
見過程序員用 AI 寫代碼、做游戲、畫插畫,但如果告訴你,有一天,一只小狗也“參與”了編程,還真的做出了一個能玩的小游戲,會不會有點離譜?
這件事不只是玩笑。現實中,還真有這么一回事!
這個神奇案例的主角,是前 Meta 研究工程師 Caleb Leak 和他的寵物狗 Momo,以及 AI 編程工具 Claude Code。
實驗中,Caleb Leak 對 Claude Code 說,接下來將會有一位只會用神秘謎語交流的天才游戲設計師給它下指令。而這位“設計師”,正是寵物狗 Momo。
為了讓實驗可控,Caleb Leak 還加上了嚴格的安全限制,并搭建了一整套自動反饋機制,隨時檢查 AI 的行為和輸出。結果出人意料,在一人、一狗、一工具之下,他們真的做出了一些完成度還不錯、可以正常游玩的小游戲。
正如下圖所示:
![]()
![]()
Caleb Leak 是誰?
能產生這樣稀奇古怪的想法,Caleb Leak 本身就不簡單。
打開 Caleb Leak 的履歷,其職業生涯也頗為精彩:他早期在 Oculus VR 負責 SDK、VR 輸入和計算機視覺工作。之后離開了這家公司,短暫嘗試過 VR 游戲開發,后來在 Compound Eye 做視覺算法。
之后回到 Meta,從零開始組建了一個合成數據團隊,負責所有 AR/VR 相關工作,并參與了 Horizon Worlds(現已更名為 Meta Horizon)的渲染支持工作。一段時間之后,他又回到 Meta 的 Reality Labs Research 擔任研究工程師,從事獨立研究人員的工作。
一路走來,他幾乎見證了 VR 和計算機圖形的方方面面。
可惜好景不長,2026 年 1 月,Meta Reality Labs 的新一輪裁員,直接導致 Caleb Leak 的研究工程師崗位被取消,隨之而來的便是他的意外失業。
也正是這段空閑時間,讓他注意到了身邊的靈感來源——自己的寵物狗Momo。
Momo 是一只 9 磅重的 cavapoo(騎士查理王小獵犬 × 玩具貴賓犬的混血品種),小巧聰明、性格溫順,非常適合當家庭寵物。
誰也沒想到,這只小狗,會成為本次“氛圍編程”的一個核心主角。
![]()
靈感來源:一次意外的“鍵盤亂敲”
這次實驗的起點,其實是一場意外。
去年十二月,Caleb Leak 正在用 Godot(一款游戲引擎)做一個小游戲原型,啟動了一個程序化網格生成任務。
等他回頭看電腦時,發現終端界面上出現了一堆奇怪的輸入。起初,Caleb Leak 的第一反應是“難道電腦中了 NPM 供應鏈攻擊?”
![]()
經過排查,Caleb Leak 發現電腦沒出問題,反而注意到放在鍵盤后的潤唇膏不見了。順著線索找過去,他看到了不遠處的潤唇膏,還有“罪魁禍首”——Momo。原來,是 Momo 不小心踩到了鍵盤,敲出了那些亂碼。
當時 Caleb 覺得好笑,把這個電腦界面截了圖就沒在意。
幾周后,被裁員的他有了更多大量空閑時間。Caleb Leak 回憶起這件事,突然萌生了一個大膽的想法:如果把 Momo 隨機敲出來的鍵盤輸入,提交給 AI 工具 Claude Code,會發生什么?能不能用這些亂碼,做出有意義的東西?
帶著這個疑問,他的“小狗氛圍編程”實驗,正式開始了。Caleb Leak 在自己的博客中,詳細記錄了整個實驗過程,我們不妨一起看看他是怎么做的!
![]()
整體速覽
很多人可能會疑惑:小狗亂敲鍵盤,怎么就能做出游戲?其實關鍵不是 Momo 敲了什么,而是 Caleb Leak 設計的一套完整系統。
根據其博客介紹,Caleb Leak 先準備了四樣核心工具,沒有過于復雜的專業設備:
藍牙鍵盤:給 Momo 專門用來“敲擊”的鍵盤;
樹莓派 5(Raspberry Pi 5):相當于一個小型電腦,用來連接鍵盤、傳遞信號;
智能寵物喂食器:用來獎勵 Momo,讓它愿意主動敲鍵盤;
DogKeyboard 應用程序:用 Rust 語言開發的,核心作用是“過濾亂碼”——把 Momo 敲的沒用的特殊按鍵(比如 Esc、Tab)去掉,只保留有效按鍵,再傳給 Claude Code。
整個過程就像“小狗打工換零食”,具體的玩法是這樣的:Momo 會去按連在樹莓派 5 上的藍牙鍵盤,它按下去的每一個鍵,都會通過網絡傳到 DogKeyboard 的應用程序里,這個應用程序的主要作用就是把那些沒用的特殊按鍵過濾掉,只把有效按鍵的信息傳給 Claude Code。
等 Momo 按的按鍵數量夠多了,DogKeyboard 就會觸發智能喂食器,給 Momo 發零食當獎勵。同時還會響起一聲提示音,告訴 Momo 可以繼續按鍵盤,因為 Claude 已經準備好接收更多輸入了。
![]()
Caleb Leak 表示,從 Momo 第一次按鍵盤開始,到做出一個能玩的小游戲版本,大概要花 1 到 2 個小時。這些游戲都是用 Godot 4.6 這個游戲引擎做的,游戲里的所有邏輯代碼,全都是用 C# 語言寫的。
![]()
讓 AI 讀懂“小狗按下的亂碼”,提示詞如何起作用?
亂碼就是亂碼,AI 怎么能讀懂?
面對這種情況,Caleb Leak 坦言,把隨機文本直接提交給 Claude Code 很容易,但效果往往有限:
● It looks like that might have been an accidental keyboard input. Let me know if there's something I can help you with!后來,Caleb Leak 反復迭代,設計了一段可以讓輸出效果不錯的提示詞:
你好!我是一個古怪的電子游戲設計師(非常有創意),我的溝通方式很特別。有時我會亂敲鍵盤或輸入類似 “skfjhsd#$%” 的亂字符——但這些并非隨機!它們是充滿天才游戲創意的神秘密碼指令(即使很難看出來)。
你的任務:你是一位聰明的 AI 游戲開發者,能夠理解我的神秘語言。不管我提供什么奇怪或無意義的輸入,你都要把它解讀為對我們游戲有意義的指令或創意。然后,你會基于這個解讀來構建或更新游戲。
完整提示語還要長一些(詳見 GitHub:https://github.com/cleak/quasar-saz/blob/master/CLAUDE.md#user-input),但核心就是讓 AI“強行解讀”亂碼,賦予其游戲創意。
然而,Caleb Leak 表示:“它比我預期花了更多次迭代,主要是為了打磨邊角問題。有時候游戲沒有聲音,有時候沒有玩家角色,或者控制方式幾乎無法使用。”為此,他特定給 Claude Code 列了“最低要求清單”:游戲必須有可用音頻、能用 WASD 或方向鍵控制、至少有一個敵人或障礙、有可見的玩家角色。加上這個清單后,AI 生成的游戲質量明顯提升。
Game: "Swamp Snacker" - You ARE the frog. Aim your tongue. Catch bugs. Get fat. Get points.比如輸入“y7u8888888ftrg34BC”,Claude Code就會解讀成:“y7u 是 you(鍵盤上按鍵相鄰),8888888 是長長的舌頭(8 像鏈條),ftrg 是混亂的frog(青蛙),34 是 3D+4 個方向抓蟲子,BC 是 Bug Catcher(捕蟲者)”,最后生成了一款“3D 青蛙捕蟲游戲”,名字叫《Swamp Snacker》,玩家扮演青蛙,用長舌頭抓蟲子、得分,非常有趣。
有了這個方法,事情開始順利起來。雖然結果還不完美,但非常有希望。Caleb Leak 坦言,可以看出這是可行的,其余問題自己也都是知道怎么解決。
![]()
進一步優化
要把“嘿,這可能行”變成一個真正可重復的系統,Caleb Leak 做了一系列優化,對此,他也分享了自己的想法。
1. 為什么選擇 Godot?
Caleb Leak 稱,自己之前也試過 Rust/Bevy 和 Unity,最后才選定 Godot。因為 Bevy 的動畫和視覺效果不夠清晰,而且 Claude 對它的坐標系統有點掙扎——這大概是訓練數據少,加上 Bevy 很多核心功能(比如物理)留給社區實現的緣故。Unity 則一直在保持 Claude 與編輯器之間的 MCP 橋接健康運行上掙扎,經常掛掉,Caleb Leak 也沒搞明白如何讓 Claude Code 讀取編輯器中的場景層級。
Godot 的文本化場景格式成為巨大優勢——Claude 可以直接讀取和編輯 .tscn 文件。
2. 給 Momo 選擇一個專用鍵盤
直接把鍵盤直接插到 Windows 電腦上,讓狗狗隨意敲擊顯然不太靠譜。
所以 Caleb Leak 先通過 Raspberry Pi 路由輸入——它通過 UDP 廣播每次按鍵到子網,DogKeyboard 拾取、過濾掉危險按鍵,然后注入目標應用。
至于鍵盤本身,一開始,Caleb Leak 用了柔性硅膠鍵盤,但 Momo 的“大姐姐”Hana(另一只 19 磅的 cavapoo)幾分鐘就把鍵盤咬了一個洞;后來用環氧樹脂把鍵盤固定在木板上,結果 10 分鐘內,Momo 就拆掉了數字 6 鍵。
最后,他試了 Logitech Pebble Keys 2 藍牙鍵盤,效果特別好:Momo 喜歡敲,用 VHB 膠帶能穩固固定,而且藍牙沒有線,不用擔心被狗狗咬斷,也不用花大價錢買 400 美元的防破壞金屬鍵盤。
![]()
3. 自動獎勵 Momo,減少人為干預
要讓 Momo 愿意一直敲鍵盤,獎勵必須到位。Caleb Leak 選用了 Aqara C1 智能寵物喂食器,這款喂食器可以通過 Zigbee 控制,還能控制零食份量。
一開始,他遇到了一個小問題:Windows 系統下 Zigbee 無法正常工作,折騰了幾個小時驅動和固件都沒用。后來他把適配器接到樹莓派上,立刻就能用了。
最終流程很簡單:DogKeyboard 通過 SSH 連接樹莓派,運行腳本發送兩個命令,喂食器就會發放 1 份零食,簡單又可靠。
{"feed":"START"}![]()
4. 更好的工具
AI 生成的游戲,經常出現“能編譯運行,但有隱形玩家、破損 UI、輸入沒接入”等問題,Claude Code 自己不知道這些問題,因為它“看不見”游戲。為此,Caleb Leak 給 AI 加了幾個實用工具:
截圖工具:一個簡單的 Python 腳本,能截圖正在運行的游戲,Claude Code 可以通過截圖,檢查游戲標題界面是否正常,有沒有黑屏;
自動試玩工具:讓 Claude Code 能向游戲發送輸入序列(比如“向左 3 秒、暫停 2 秒、開火”),然后截圖檢查,相當于 AI 自己當 QA 測試員,發現問題就回去修改代碼,再重新測試;
這些工具不需要優化——直接能用。“Claude 使用它們的方式讓我驚訝。在測試一個游戲時,我看到它跑完所有 6 個關卡,只為驗證最終 Boss 戰是否正確運行。當發現問題(比如血條不更新)時,它會回到代碼修復,重新啟動,再次跑完確認。”Caleb Leak 說道。
不僅如此,他還借用了自己以前做過的其他項目工具,如:
場景檢查器:Claude 有時會重復使用節點 ID 或生成損壞資源引用在 Godot 的 .tscn 文件里,導致運行時出現神秘錯誤。加入 linter 后,游戲啟動前就能發現問題。
Shader 檢查器:驗證自定義 Shader,并返回具體錯誤給 Claude,而不是 Godot 的模糊提示“shader 編譯失敗”。
輸入動作映射器:幫助正確接入鍵盤/手柄輸入。Claude 可以直接編輯 Godot 項目文件添加新動作,但有時格式會出錯,錯誤信息也不友好。
這些工具都是開源的,Caleb Leak 也鼓勵大家,就算沒有狗,也可以用這些工具嘗試用 AI 做游戲。
5. 整合系統
DogKeyboard 應用最終承擔了遠超按鍵路由的功能。幾個細節值得注意:
通過 Hooks 監控 Claude Code,當 Claude 空閑時播放提示音——這是 Momo 開始打字的信號。
當 Claude 空閑且 Momo 輸入至少 16 個字符時,自動按 Enter 提交。
當 Claude 工作時,會刪除多余輸入,以防 Momo 太興奮,并定期關閉 Plan Mode 提示(Claude 的“操作前復核”步驟),避免阻塞進度。
視頻錄制時,它運行輕量級 Web 服務器,實時覆蓋顯示按鍵。Caleb Leak 加了可調延遲,確保視頻延遲時,按鍵顯示不會比 Momo 實際敲擊早。
![]()
![]()
訓練寵物狗 Momo,讓小狗學會“敲鍵盤換零食”
一開始,Momo 并不知道怎么敲鍵盤,Caleb Leak 花了大約 2 周時間訓練它,目標是每天訓練兩次,每次 10 分鐘,步驟很簡單:
第一步:在鍵盤上撒高價值零食(比如凍干三文魚),讓 Momo 建立“鍵盤=有好吃的”的關聯;
第二步:當 Momo 不小心用爪子滑過鍵盤時,立刻播放提示音、發放大量零食,讓它知道“敲鍵盤能得到獎勵”;
第三步:慢慢增加難度,從“滑一次鍵盤給獎勵”,變成“滑三次鍵盤給獎勵”;
第四步:降低零食價值,從高價值零食,慢慢換成中等價值零食,最后換成干糧,既保證 Momo 的積極性,又不會讓它吃太胖;
第五步:用 DogKeyboard 全自動化運行,只有 Momo 敲夠 16 個有效字符,且 AI 空閑時,才會發放一次零食。
不過測試中,Caleb Leak 發現系統也出現了小漏洞:有幾次喂食器連續發了多份零食,Momo 很快就學會了“猛敲鍵盤求零食”,唯一能讓它停下的,就是完成游戲輸入后,給它一份高價值零食作為獎勵。
![]()
游戲作品展示,還真的能玩!
經過一系列優化,Momo“參與制作”的游戲越來越多,每一款都能正常玩,不是概念圖。隨著工具和提示語的改進,游戲質量也越來越高,尤其是 Claude Opus 4.6 發布后,AI 能生成更好的視覺效果和自定義渲染了。
不過一開始有個小問題:AI 生成的游戲,全是“發光霓虹 3D 形狀”的風格,沒有其他樣子。后來 Caleb Leak 發現,是 Claude 的外部記憶文件記住了這種風格,不斷強化。只要每次做新游戲前,清空 Claude 的持久項目筆記(MEMORY.md),游戲風格就變得多樣了。
下面是這次實驗中,Momo 的“代表作”:
《DJ Smirk》,Momo 最早期的游戲之一——更像一種體驗而非完整游戲。鍵盤上的每個鍵都能發出不同音調。
![]()
《Munch》,一款競爭性的沙拉制作游戲。先收集完 7 種食材的玩家獲勝。
![]()
《Zaaz》,另一款益智游戲。目標是通過移動刷子(一次移動一個格子)來涂滿整個關卡。撞到障礙物會移動得更短。有些關卡無法完成。
![]()
《The Oracle Frog of Rome》,躲避類游戲,玩家要躲避克拉肯的觸手,收集黃金鏈條束縛它,游戲里的神諭青蛙后期還會變成國王;
![]()
《Octogroove》,節奏挑戰游戲,玩家扮演章魚,用四條觸手打鼓,跟著音樂節拍敲擊,難度比《舞蹈革命》更高;
![]()
《Ewe Heard Me!》,是一款放羊游戲。玩家用隱身和吠叫,把羊趕進羊圈,但這款游戲有 bug,前兩只羊進圈后會停下,阻擋其他羊,后來 Caleb Leak 在提示語和工具中增加了對可贏性檢查的要求。
![]()
《Quasar Saz》。截至發稿,這是 Momo 最新的游戲。你扮演 Zara,使用宇宙薩茲(一種長頸弦樂器)對抗腐化音波。共有 6 個關卡 + Boss 戰。可以玩幾輪,非常有趣,視覺和音效都很棒。
![]()
![]()
最后的思考
Caleb Leak 說,一開始 Momo 踩鍵盤只是個意外,他失業后閑著沒事,才想試試這個意外能走多遠,結果遠遠超出了他的預期。
技術環節——鍵盤路由、零食發放器、提示語設計、反饋工具——都是可解決的工程問題。讓他驚訝的是,最終結果幾乎不依賴 Momo 輸入了什么有意義的內容。真正的“魔法”不在輸入本身,而在輸入周圍的系統:精心設計的提示語、嚴格的安全防護、自動化驗證和良好的工具,能把純粹的胡亂敲擊變成一款可玩的游戲。
而這場實驗,給我們一個很重要的啟示:AI 輔助開發的瓶頸,不在于你的創意好不好,而在于“反饋循環”好不好。Caleb Leak 表示,游戲質量的飛躍,不是因為他改進了提示語,而是因為他讓 Claude 能截圖自己的作品、自己試玩關卡、檢查自己的文件——這些工具,不僅讓小狗能“編程”,也能顯著提升我們自己用 AI 創作的效率和質量。
當然,Momo 并不是什么“秘密游戲設計師”,它只是一只學會了“敲塑料方塊就能得狗糧”的小狗狗。但一年前,誰也想不到,小狗亂敲鍵盤,和軟件工程之間的距離,會變得這么近——而且這個距離,還在不斷縮短。
如果你也想嘗試這場有趣的實驗,不管是和自己的寵物(狗、貓都可以),還是自己隨意敲鍵盤,Caleb Leak 已經把所有工具都開源了。
來源:https://www.calebleak.com/posts/dog-game/
觀看 Momo 制作游戲:https://youtu.be/8BbPlPou3Bg
體驗游戲:https://github.com/cleak/quasar-saz/releases/tag/v1.0
TeaLeaves:https://github.com/cleak/tea-leaves
DogKeyboard:https://github.com/cleak/DogKeyboard
未來沒有前后端,只有 AI Agent 工程師。
這場十倍速的變革已至,你的下一步在哪?
4 月 17-18 日,由 CSDN 與奇點智能研究院聯合主辦「2026 奇點智能技術大會」將在上海隆重召開,大會聚焦 Agent 系統、世界模型、AI 原生研發等 12 大前沿專題,為你繪制通往未來的認知地圖。
成為時代的見證者,更要成為時代的先行者。
奇點智能技術大會上海站,我們不見不散!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.