QUEST LOG · September 7, 2026· UPDATED October 29, 2026
你怎麼做的比 GPT 爛?燒掉 14 億 token 綁一隻 Live2D(第一版)
在 Session 裡面最不爽的抱怨是「功能是都有啦,但我想要的是多種動作,而不是現在把眼睛噴掉。」
這個月 token 燒最多的 session,不是工作,不是黑客松,是部落格右下角那隻 Live2D 小女孩。
三天多、四次 context 爆掉重來、一個 session 吃掉大約 14.7 億 token(雖然絕大部分是快取讀取,output 約 280 萬)。最後她會眨眼、會轉頭、會揮手了。過程大概就是我一路罵、AI 一路道歉、然後再一路重做。
(這邊 ai 味很重是因為我他媽讓 ai 統計的)
先講她是誰。她叫 希夜 Kiya,我的可愛女兒。
做他的起因其實有點好笑:我拿到一張 NFT,結果團隊跑路了,越想越不爽。既然專案方不賦能,那我自己來給這張圖賦能。 所以就先用 NovelAI 測試 Image2Image 做出第一版頭像,而最早那一版 Live2D,是拿來測 Gemini 實力的,順便讓她站到部落格右下角,當初 gemini-cli 用量還是基本無限,搭配 agy 可以無限產圖的時候,產出來的第一組。
這篇是用新架構做的第一版的紀錄。她現在還在調,之後應該還會有下一篇,這已經不是 gemini 時代的可以動就好的。
# 第一回合:模型沒壞,是從來沒動過
一開始的需求很單純:桌面有一版之前做的 12-15-daughter1.cmo3,電腦有裝 Cubism Editor,幫我弄成免費版能開的版本,而那版的做法很簡單,就是利用套其他開源的 Live2D 骨架,直接做模擬微調的版本.但是可以用但不能細看,終究只是玩具而已。
而後續 AI 打開 Editor 一看,唯一超過 FREE 上限的只有參數數量:53 個,上限 30。刪掉 28 個「空參數」之後剩 26 個,其他變形器、ArtMesh、部件全部本來就合規,畢竟當初就是造著其他模型換表圖做的版本。
但是!!!!!然後它順手發現一件很好笑的事:
模型沒壞,但部落格上的它從來就沒動過。
我看了內心直呼,哇操哇操,那我當初辛辛苦苦匯出的東西是三小,怎麼你這個結論我有看沒有懂。
最後兇手是.部落格的 live2dAnimator.ts 驅動的是 ParamAngleX、ParamEyeLOpen、ParamMouthOpenY 這種標準 ID,舊模型裡這些 ID 剛好就是那 28 個空參數;真正有綁東西的,是 PARAM_ANGLE_X 這種 2.1 舊式 ID。
也就是說,這隻看板娘從上線那天開始,一直都是一張圖。 我自己完全沒發現。快哭死,還要 ai 幫我對版本。
說好的 Live2D,結果在部落格上當了好一陣子的立繪。
# 第二回合:效果超級糟糕
換上新模型 (gpt)、部署上去,頭會轉、眼睛會跟、髮尾會晃。功能上都有了。
然後我看了一眼,那個眼睛已經翹到頭髮上面去了,只好逼問 AI:
效果超級糟糕,你完全沒有精細調整
它也很認真,去查了一輪:有沒有 Live2D 的 MCP?沒有。MCP registry 上沒有,GitHub 上兩個不是控制桌面播放器、就是用 GUI 自動化按 Windows 版 Editor。Cubism 5.1 之後有官方的 WebSocket 外部 API(port 22033),但只能讀模型結構、暫時設參數值,不能改變形器、鍵值、網格。
所以綁定只能在 Editor 的 GUI 裡做。剩下的路只有一條:computer use,讓 AI 自己去點那個 Java 視窗。
接下來幾個小時,transcript 裡大概長這樣:
- 「子對話框卡住了(點擊/Escape/無障礙都沒反應)」
- 「子對話框又凍住了(兩次都是在對話框裡用滾輪之後發生)」
- 「參數列位置又差了一列(改到『嘴 变形』了)」
- 「Editor 卡在一個看不見的模態對話框(所有選單都變灰),我把它重啟了」
一個 AI 在跟一個 Java Swing 視窗搏鬥,而且一直輸。
不過它也真的做出 v4:眼珠用剪貼遮罩在眼白裡移動、高光獨立一層、嘴巴拆上唇下唇口內、2048 的貼圖、一套 Tap 動作。還順手修掉「會出現兩隻手」的問題,原因是原圖的外套其實畫了三次。
聽起來很完整對吧?
# 第三回合:整個人像果凍
你知道你把整個參數特效不小心拉到 他現在整個人像果凍 手部接口部分也有問題吧
AI 用 Cubism Core 掃了每個參數的極值,結果:身體旋轉 Y 到 −10 的時候,軀幹被拉長 3.8 倍、往下位移 1700px。
1700px。整張圖也才那麼高。
它修了,我叫它打開模擬器讓我自己看,然後我列了十點:
- 點擊動作是錯誤的 頭會往後翻
- 轉頭會讓臉部變平面
- 眨眼睛這部分會直接消失 眉毛不見
- 瀏海特效是用跳動的 wtf?
……- 圖片你都亂切 身體上下會被直接剝離
你有沒有去找別人的教學 你怎麼做的比 gpt 爛
這句話打出去的時候我是認真的。
那時候 Opus 5.5 還沒出來,這個 session 主要跑的是 Fable 5.1。而 GPT 6 astra 在那段時間是真的強,computer use 根本無敵。這種要一直點 GUI 的工作,拿它來比一點都不冤枉。
# 死因:拿一把槌子敲所有釘子
這次它終於停下來,先講根因,而且講得很誠實:
死因 1:把「应用3D旋转表现」當成萬用鍵值產生器。 轉頭、眨眼、嘴巴、眉毛、身體,全部都用同一個對話框做。它只會把每個零件當成一張平面卡片在 3D 裡旋轉,所以轉頭臉變平面、點頭整顆頭像卡片往後翻、眨眼是把眼睛壓成一條線而不是眼皮蓋下來。
死因 2:頭髮用剛性旋轉。 瀏海整片繞一個點轉,看起來就是「跳動」。
死因 3:從來沒有逐參數看過畫面。 用 Core 檢查頂點數字,卻沒有把每個參數的極值渲染出來看。
第三點最痛。它一直在驗證「數字對不對」,沒有在驗證「看起來對不對」。 一個月後我做 AI 動畫,自動檢查全部 PASS 但根本不想看,又掉進一模一樣的坑。
之後它才去讀官方手冊和社群教學,研究結果寫成三份文件,裡面直接判死 v4:
- 官方明文說「应用3D旋转表现」會覆寫鍵值,只建議用在沒編過鍵的物件
- 「摇摆动作自动生成」只支援彎曲變形器,旋轉變形器明文不支援
- 頭髮物理有官方範例的數字可以抄:兩段擺錘,長度 10/7、容易度 0.95/0.86……
還有一個我自己也沒想到的:網頁追蹤會無限果凍,是因為 pixi-live2d-display 0.4 的 focus() 把游標位置用 atan2 轉成單位向量,離中心 5px 和 500px 都是滿偏轉 ±30°,而且沒有滑鼠離開的處理,模型永遠不會回中。
該先做的研究,在第三回合才做。 前面燒掉的,都是學費。
# 第四回合:v5 毀了,回去用 v4
研究完照計畫重切 PSD,做 v5。瀏海第一版用直線楔形硬切,Session 紀錄中「long bundle 是三小」;第二版改成沿著髮絲描邊走,這個我覺得對了。
結果匯進 Editor 之後又炸:
我覺得你還是用 v4 調好了 你這版幾乎都毀了
但你切那三小 你那些去邊都沒弄乾淨 眼原本問題是最少的 你改超爛
它認了:v5 的切法只用 alpha 門檻加膨脹,沒有去光暈、沒有清孤島、邊緣沒收;眼睛 v4 原本就切得好,不該重切。
於是 v6 是「v4 的眼睛 + v5 的研究」。這次每做一步就匯出 moc3、用自己寫的離線渲染器出圖,我看過再往下。中間還出現過一個很經典的坑:
Editor 把滑桿值寫成參數預設值
匯出的時候右眼的開閉滑桿剛好停在 0,所以靜止狀態她就是閉著一隻眼。
# 交接給 GPT,然後又拿回來
做到一半我叫它「用最簡單的話語」寫交接,要丟給 gpt 6 astra 接手,理由就是上面說的:computer use 它比較強。Claude 寫了一份 docs/handover.md。
然後我又回頭跟它說「幫我改」,它一打開就發現:
The Editor was relaunched by someone and a new
v7/folder exists next to v6
它沒有直接蓋過去,先檢查磁碟上到底改了什麼才動手。兩個 AI 輪流摸同一個 Editor,誰也沒把誰的東西弄壞,這點我覺得比綁定本身還難得。
最後幾輪是手臂:手肘的旋轉樞軸要拖到關節上、前臂要能折到 150°、揮手時手不能甩出畫布。中間它又踩到「全選快捷鍵把不透明度套到每一個網格」這種事,只好退回存檔。
# TLDR
- 沒有 API 的工具,AI 就是在用滑鼠跟你一起受苦。 Cubism Editor 不能程式化改綁定,所以每一個鍵值都是 computer use 點出來的,每一個隱形對話框都是一次重啟
- 先研究,再動手。 這次最貴的錯,是在第三回合才去讀官方手冊。前兩回合是用自動化功能硬湊出「功能都有」的東西
- 驗證要驗「看起來」,不是驗「數字」。 頂點座標全部合理,人卻像果凍。自己寫一個離線渲染器出圖,比任何數字檢查都有用
- 好的部分不要重做。 v5 毀在把原本最沒問題的眼睛也重切了
說穿了,這個 session 會燒到 14 億 token,不是因為 Live2D 有多難,而是因為我讓它跳過了「先搞懂再做」這一步,然後用三天的來回去補。
AI 很會道歉,但道歉不會讓她的瀏海飄起來。
不過至少現在點她一下,她會揮手了。一張跑路專案的 NFT,最後在我的部落格上動了起來,這個賦能,總算是我自己給的。
第一版先到這裡,Kiya 還在調。下一版做完再來寫。
