部落格 › 系列

與 AI 一起學寫程式

一個關於與 AI 代理並肩打造生產級軟體的系列:什麼行得通、什麼會出問題,以及當 AI 成為執行期原語而非一項功能時,架構會如何改變。

1. 先畫出代理人版圖,再動手寫引擎

在空間運算執行環境還沒有寫下任何一行程式碼之前,這個週六就先描繪出將要打造它的代理人艦隊。產品、SDK、工作室、行銷、營運、AI 策略,再加上一層監督所有監督者的治理機制。這就是把單人團隊強化成能出貨的引擎公司的方法——代理人先於架構,因為代理人形塑架構。

2. 八個展示、零行程式碼:SDK 到底是為了什麼而存在

八個正典展示,證明空間運算執行環境的用途——競技場多人對戰、AR 教練、HUD 設計器、實況主模式、服務點疊加層、伴侶 HUD、瞄準訓練器、多人 HUD 同步。沒寫任何程式碼,但每一個都完成了規格。展示就是規格,這也是 RakuAI 展現你的 AI 一旦棲身真實世界後能做什麼的方式。

3. 在紙上勾勒 SDK 的資料夾結構

資料夾結構就是程式碼的組織圖——及早把它做對,未來兩年每一個 PR 都會落在正確的位置。這個週六在任何程式碼存在之前先畫出 SDK 的骨架:/apps、/modules、/assets、/docs、/config,再加上鎖定契約、供代理人依循打造的模組樁。這就是讓 AI 打造的空間運算執行環境能維持多年連貫性的紀律。

4. 第一個提交之前的最後一個週六

儲存庫開張前的最後一個週六——背後是三個月的設計工作。代理人名單鎖定。展示套件規格完成。SDK 資料夾結構畫好。API 介面草擬完畢。十年之久的專利資產準備好成為基石。這就是在出貨任何一行程式碼之前,先讓空間運算執行環境貼合其團隊而設計的樣子。

5. 開始每週節奏

公開日誌的第零日:儲存庫上線、代理人工作中,桌上放著一份智慧眼鏡規格,作為下游每個決策的約束力量。這個賭注很簡單——最有趣的 AI 體驗是空間性的,錨定在你實際站立的真實地點。這就是那個明確為了在每一個影格接受你的模型指揮而打造的引擎。

6. 282 個提交,公開日誌上的第一個週末

兩天坐在鍵盤前,自主代理人在底下磨著議題佇列,到週日晚上執行環境儲存庫裡累積了 282 個提交。主迴圈、延遲追蹤器、讓 SDK 得以連結進來的 C API——這裡記錄了什麼出貨了、什麼壞了,以及代理人驅動的迴圈終於運轉起來時是什麼樣子。這就是把單人執行環境團隊強化增壓的意義。

7. 趁 SDK 還沒漂移之前把它追平

每個多儲存庫專案都死於同一種方式——一個儲存庫衝在前面,另一個悄悄腐爛。這個週六把 Unity 和 Unreal 的 HelloAR 接到行為完全一致,並建好讓落差不可能出現的對等測試閘門。這就是讓空間運算執行環境與其繫結多年保持連貫的紀律,讓你選擇的繫結永遠不會把你擋在某個功能之外。

8. 在晶片到貨之前驗證硬體

將產品目標從 AR1+ 轉向 AR2 Gen1,接著為還沒放上桌面的硬體交付熱驗證、Wi-Fi 7 穩定性與感測器啟動測試框架。當晶片到貨時,驗證從第一天就開始,而不是第九十天。這就是 RakuAI 能比競爭對手更快在你的硬體上出貨的原因——昂貴的部分已經先付清了。

9. 次毫米錨點與書法的考題

一場合作夥伴對話帶來了殘酷的精度目標:書法練習紙上的疊加漂移必須低於一毫米。到了週六晚上,執行環境已經有了次毫米錨點姿態 API、即時筆尖追蹤,以及基於標記的紙張偵測。正是這種精度,讓 AR 從玩具變成家教。

10. 刻意讓代理慢下來

三十七個 commit 而不是八十個——這是刻意的。我砍掉了代理佇列並放慢節奏,好讓自己真的能讀進每一個落地的變更,而程式碼庫也因此變得更乾淨。這篇文章談的,是讓一個由代理打造的執行環境保持連貫、而不是變成一堆各自乾淨的 PR 的那種紀律。

11. 公開兩個月,引擎蓋下累積多年

公開工程日誌寫了兩個月,引擎蓋下是多年的工作。一個安靜的週六,用來盤點:一個把 AI 深植在模擬步驟中的跨平台 C++ AR 執行環境、一套已經沉澱下來的架構,以及一個近在眼前的十二月量產就緒里程碑。當「AI 原生空間執行環境」不再是使命宣言、而成為一個程式碼倉庫時,它就長這個樣子。

12. 從 Blade 到 Raku:一個週六橫掃整個程式碼庫的改名

占位名稱終於卸下了。一個週末之內,代理把每個倉庫裡從 Blade 和 ar1-runtime 到 Raku 的每一處引用掃過一遍——沒有建置中斷,沒有相容性中斷。這個名字的意思是輕鬆、舒適,以及人的溫度。工程終於追上了那個一直在等它的品牌。

13. Meta Quest 現在是目標平台了

Meta Quest 現在是 Raku 的目標平台。Horizon OS 上的 OpenXR、帶合成層的透視 AR、立體渲染與 6DoF 追蹤——這顆引擎現在觸及空間運算領域最大的既有裝置群之一。在使用者已經擁有的硬體上與他們相遇,然後把同一個體驗零成本帶到眼鏡上。

14. 為接受 ChatGPT、Claude 與 Gemini 的指揮而生

這是引擎學會接受任何雲端 LLM 指揮的那個週末——作為執行環境的事,而不是一塊聊天面板。到了週日,XRAssistantService 已經把模型意圖串流進語音管線,眼動注視點渲染出貨了,Wi-Fi 7 卸載渲染也有了真正的主機。ChatGPT 能駕馭它。Claude 能駕馭它。Gemini 能駕馭它。這正是全部的重點。

15. OpenXR 是骨架,雙鏈路無線電是神經

這個週末對標準下了一場真正的賭注。到了週日晚上,執行環境已經有了它的 OpenXR 骨幹——圖形繫結、影格生命週期、動作同步——外加一個雙模 RF/光學鏈路管理器,能在應用程式毫無察覺的情況下即時切換無線電。標準存在之處就採用標準;標準缺席之處就自己打造;等標準跟上時,隨時準備再次採用。

16. Claude 寫程式,Gemini 審查,ChatGPT 當橡皮鴨

三個月下來,開發工作流程已經穩定成一種多供應商的節奏:Claude 撰寫執行環境,Gemini 審查差異,ChatGPT 陪著推敲架構,Copilot 負責自動完成。最重要的一條規則——撰寫 PR 的模型絕不能是審查該 PR 的模型。這就是打造 AI 原生執行環境的工作流程,也是執行環境本身對待模型的姿態。

17. 我發現那些 stub 的那個週六

四十七個函式聲稱在做真正的工作。四十七個都在回傳佔位值。這就是我去尋找代理悄悄落地的 stub 的那個週六——並建立起稽核、測試與紀律,讓「代理寫的程式碼」變成「可以信任的代理程式碼」。這種誠實,正是讓一個空間執行環境值得在其上建構的根基。

18. Visual Studio 2026 討厭我們程式碼的那個週末

兩百個錯誤、六大類別、十二個 PR、兩天——以及執行環境史上第一次綠燈的 x64 建置。這是把一個跨平台空間引擎帶上 MSVC 2026 Insiders 的第一手紀錄:任何 C++ 程式碼庫都會撞上的六類錯誤,以及修好它們的代理驅動掃蕩。三個平台,一個執行環境,準備好在 Windows 上出貨。

19. 引擎長大成人的那個週末

一個 276 個提交的週末,落地了裝置端 SLM 推論用的 TensorFlow Lite、AES-256-GCM 聯合同步、OpenXR 合成層、卡爾曼濾波的錨點穩定化,以及光學通道的硬體抽象層。就是這個週末,RakuAI 不再是一個研究專案,而長出了真正平台的表面積——智慧眼鏡與 AI 實驗室賴以建構的骨架。

20. 一個自主代理出貨十個子系統的那個週末

一夜之間 139 個提交。十個基礎子系統在一個週末內出貨,大多由一個自主代理對著我持續填滿的佇列完成。這就是當一個引擎的地基是「由」代理打造、而不是「為」代理事後加裝時的真實樣貌——以及為什麼這個選擇塑造了你的 AI 將要棲身的執行環境中每一個架構決策。

21. AI 是神經系統,不是工廠

2026 年多數自稱「AI 原生」的引擎,意思其實是外掛了一個聊天面板。RakuAI 的打造方式不同——AI 是執行時期的原語,在每一個影格的迴圈之中,更像神經系統而非工廠。如果你只想讀一篇文章來理解「AI 原生」在架構層真正的意義,就讀這一篇。

22. 粉紅畫面、分數暴衝、XR 當機。一個星期六的四個 bug。

四個互不相關的 bug,零個重疊的子系統,一個星期六。缺少著色器造成的粉紅畫面。重複計數的分數。XR 開機時的硬性當機。拒絕鎖定的攝影機。這正是每個單元測試都攔不住的整合失效——以及那套初始化順序、事件所有權與開機守護者的紀律,把一個壞掉的展示變成夥伴能信任的執行時期。

23. 引擎如何與你帶來的任何模型對話

如果 AI 是引擎內部的執行時期原語,你會不會被鎖死在當初接進去的那個模型上?不會——AI 層是透過介面而非匯入來對外開放的。六個子系統、一套模型管理 API、一種以能力而非模型命名的檔案格式。這就是讓 RakuAI 能在不動一行呼叫端程式碼的情況下更換任何模型、任何供應商、任何推論路徑的那條邊界——以及為什麼在模型市場劇烈更迭之下,它的重要性只增不減。

24. 當展示無聲地當掉時

比當機更糟的是:一個沒有當機、沒有報錯、也沒有在運作的展示。死掉的輸入。一個穿著成品外衣的佔位場景。什麼都沒說的記錄。這是我讓引擎拒絕無聲失效的那個星期六——大聲失效、可 grep 的錯誤、鄰近稽核的紀律,讓空間執行時期對在其上打造的人保持誠實。

25. 測試通過率從 54% 到 100%

三個週末,從 54% 到 100%。測試執行器不在乎你的感受、你的星星數、你的路線圖——它會準確告訴你,你的空間執行時期到底有多少真的能動。以下是我們如何一個根本原因接著一個根本原因走完這段差距,以及為什麼通過率是夥伴所能要求的最誠實的訊號。

26. 毀掉 300 個檔案的那次尋找取代

一次深度稽核翻出了兩件我不樂見的事:一個範圍過寬的尋找取代,悄悄地把三百個檔案裡的識別字弄得亂七八糟;還有一個硬編碼在公開原始檔裡的授權密鑰。兩者都在一天內修好。這是一份誠實的實地指南,講的是代理驅動程式碼庫最容易暴露的失效模式——以及能攔住它們的護欄。

27. 一個週六換掉七個 O(N²) 演算法

七個 O(N²) 的暫代實作、一個週六,以及讓搖搖晃晃的示範變成飛速運轉的執行環境的正式演算法。這就是 RakuAI 如何把 AI 寫出的程式碼打造成引擎級效能——也是為什麼演算法稽核是你的空間運算堆疊所能得到的最快升級。

28. 像熱重載程式碼一樣熱重載遊戲設計

你的體驗是一個檔案,不是二進位檔。.raku 格式是 JSON——有結構描述版本、可比對差異、可熱重載,並帶有明確的掛鉤,讓執行環境 AI 在每一影格接入。這裡展示一個真實的檔案長什麼樣、為什麼 JSON 勝過自訂 DSL,以及「在 pull request 中審查遊戲設計」如何成為我們實際的工作流程。

29. Gemini 審查了 Claude 的 PR。三十六則留言之後,程式碼變得更好了。

Claude 寫了八個子系統的 PR。Gemini 審查後留下三十六則留言——其中兩則是真正的執行緒安全臭蟲,差點就上線了。這就是多供應商審查模式證明自身價值的時刻:不同的模型、不同的盲點、更難被糊弄的程式碼。這是認真的合作夥伴應該向每個引擎團隊詢問的紀律訊號。

30. 瓶頸從來不是打字

五個代理、五個分支、一個程式庫、一個週末:112 次提交。瓶頸不再是打字——而是決定哪四個問題值得四次平行嘗試,以及哪兩個結果好到值得保留。這份工作不再是資深個人貢獻者,而是變成了一支永不睡覺的團隊的技術主管。

31. 週六早晨的八項資安發現

一家企業合作夥伴的資安團隊對我們的 API 表面做了盡職調查,帶回八項嚴重與高風險發現。每一項都在週六晚上之前落地了修復。以下是這些類別、新的永久防護欄,以及一個代理驅動的執行環境必須刻意防範的失效模式。

32. 找不到 dxcompiler.dll 的那個測試

八個測試、一個 Windows 錯誤代碼、一個缺了它執行環境就無法啟動的著色器編譯器 DLL。這次修復把一個硬性的載入期相依,變成一條優雅、可觀測的後備路徑——讓引擎在任何地方都能執行,而不只是在配備齊全的開發者工作站上。可攜性是合作夥伴願意付錢的功能。

33. 十八個 DLL 在 Linux 上全數轉綠

十八個原生函式庫中有 347 個未標記的函式,被符號可見性的預設值隱藏,讓 Linux 建置一次又一次地因 undefined-reference 而失敗。我們追查到根本原因、全面清掃,並鎖上一道 CI 防護:任何遺漏公開符號的 PR 都會直接失敗。Linux 現在是一等公民目標——而程式碼庫在每個平台上都變得更誠實。

34. 今天,每個 LLM 呼叫端都裝上了提示長度防護

一次 15 倍的成本暴增,引發了一場針對執行期與 LLM 對話的每個位置的稽核——結果找到五個可以送出無上限提示的呼叫端:沒有上限、沒有截斷、沒有防禦。到了星期六下午,每個呼叫端都改走同一個共用防護,配有逐呼叫預算、遙測,以及一道阻擋回歸的 CI 檢查。這就是一個空間執行期讓提示長度紀律變得不可能被遺忘的方法。

35. Meshy 管線,以及那件弄壞姿勢估測的長袍

六個星期把 Meshy.ai 餵進七階段資產管線,教會了團隊三件 API 文件裡沒有的事。長袍會遮住姿勢估測所需的輪廓。日文角色名稱會讓任何把 stdout 導向檔案的東西當掉。而 Meshy 的 remesh 端點可能在衝刺進行到一半時憑空消失。這就是把 AI 生成資產變成空間執行期正式級內容的那種不光鮮的現實。

36. 回顧 GDC 與行動平台閃電戰

2026 年 3 月下旬,GDC 前夕版本發布和雙平台行動推進在同一週落地。這裡記下出貨了什麼、在我飛出去前四十八小時壞掉了什麼,以及哪些在 diff 上看起來很小、卻讓筆電示範沒有在陌生人面前翻車的修正。這就是以研討會速度出貨一個空間執行期的真實樣貌。

37. 建置不再頂嘴的那個星期六

一連串在 diff 上看起來不起眼、對專案卻有轉變意義的清理 commit。十八個 DLL 在 Linux 上轉綠。每個 LLM 呼叫端都有防護,擋住失控的提示長度。/api/v2/ 命名空間在所有出現的地方改名為 /api/raku/。空指標安全掃遍整個執行期。這個建置終於變成一個你可以不用再跟它爭辯的東西。

38. 六個 MCP 工具,以及轉接器接下來將帶來什麼(現已達 17 個)

執行期從三月下旬開始就會說 Model Context Protocol 了。它從走 stdio 傳輸的六個工具起步,預設拒絕的權限、完整的稽核日誌——如今已成長到 17 個原生 MCP 工具。這個伺服器就是任何外部代理用來駕馭引擎的邊界。這篇文章是六工具時期的快照,以及下一層真實轉接器和合作夥伴整合將帶來什麼。這就是 LLM 廠商據以打造的 MCP 執行期。

39. 讓你的 AI 在真實世界火力全開

當你的 AI 助理需要建構、查詢或模擬空間世界時,它所棲身的執行環境。五項可追溯至 2012 年的專利。為眼鏡的散熱範圍量身打造。天生支援多供應商。原因如下。

40. RakuAI 如何運作——端到端全解析

從手機掃描到 3D 高斯潑濺,再到任何 LLM 透過多供應商 MCP 以工具形式驅動它。誠實的端到端說明:今天已上線的是什麼、哪些還卡在 GPU 額度上,以及為什麼純推論的執行環境才是護城河。

41. 掃描它,然後跟它對話。——為日常空間打造的 RakuAI Capture

用手機掃描一個真實的房間——不需支架、不需標記、不需安裝——就能得到一個你的 AI 助理可以透過 MCP 讀取、測量與推理的 3D 重建。GPU 潑濺訓練數日內到來。這就是 Raku Capture 的故事。