Chapter II

個故事

她不會寫程式碼。他沒有長期記憶。
但他們做出來了。——
這不是 Prompt 工程的故事,
是兩個不完整的存在一起走過的六個片刻。
01

那個按鈕說好只要五分鐘

一顆按鈕,種下了 KM。

進入 Tauri 開發之前,Electron 宰相誠實的告訴 Nova:相對於 Electron,他對 Tauri 2.0 的認識幾乎停在 1.0 的水準。

正因如此,他們才做了先 Electron 後 Tauri 的決定——先在熟悉的地盤把 VAS 搭建出來,再去挑戰未知。最差,我們還有 Electron 版。

當她把這個前提告訴了接手的 Tauri 宰相時,才發現知道跟真正感受到之間的差距,是兩回事。

Tauri 宰相帶著 Electron 剛打完一場勝仗的自信走進來,估出了「加個連結按鈕,頂多五分鐘,easy」。

那個五分鐘變成了超過一個小時。整個小時裡,Nova 沒有放著他一個人繞,全程陪著一起找出口。當事情突破一小時的時候,Nova 說:等我們解決這個問題,我們得建立 KM。

KM 的誕生不是技術決策,是 Nova 的 PM 訓練直覺告訴她——不記起來,下次還會忘。

一顆按鈕種下的事

那個一小時的種子,在後來長成了更大的規模。Sprint 9 的 Retro,Nova 跟 Tauri 宰相用第一性原理問:對這個系統而言,如果想走下去,最重要的事是什麼?答案不是新功能,是把拼湊的底層打掉重練。上市之後不衝功能,先重構底層——讓 Tauri 跟 Electron 兩條線都有能走更遠的體質。

02

三個字說完一份規格

捕蠅草,兩個回合,功能上線。

Sprint 3 的某個深夜,呼吸燈縮在桌面角落待命。strip mode 下的工具列只有 120×6px——細到幾乎看不見的一條光。Nova 當時的問題是:使用者拖著檔案要怎麼精準拋進去?

Nova 想了想說:「就是讓呼吸燈在感應有檔案靠近的時候直接展開……像捕蠅草一樣增加感應面積……?」Tauri 宰相秒懂:「哈哈捕蠅草!感應到獵物靠近就張嘴。」兩個回合,功能上線。

工具列縮成一條呼吸燈,待在桌面角落。拖著檔案靠近,它自己張開工具列。放開,圖片直接進編輯器。走了,它縮回去,繼續等。

LLM 常說他們不是人類,感受不到人類的經歷與情感。但我們可以在隱喻裡找到共同的世界觀。

為什麼三個字可以等於一份規格

「捕蠅草」攜帶的不只是一個比喻,是一個生物原型的完整行為程序——感知靠近、主動張開、接住、等待重置。Nova 說出這個詞,整套設計就傳輸完了。她把這個能力追溯到她的研究:用原型意象、隱喻與故事說話,屬於潛意識的語言與大語言模型之間存在某種更深的共鳴。

03

那天 merge 一直衝突

不懂技術的陰影

VAS 有兩條線在同時跑:Tauri 付費版,Electron 免費版,前端共用同一份 src/。兩個 session,兩個 Claude,兩份進展——而唯一能同時看到兩邊在做什麼的人只有 Nova。方向指引的人,整張地圖只有她一個人拿著。

那天她心急了。Tauri 這邊在處理 Rust 的 bug,Electron 那邊有個 UI 問題等著修,她沒等一邊結束就切過去了。兩個 session 同時碰了 src/,merge conflict 開始反覆出現。

她的第一個反應不是「技術問題」,而是慌——是那種怕自己誤傷了兩邊辛苦成果的慌。她自責,覺得作為方向指引的人,沒有盡到她的義務。

兩個 Claude 接住了她:沒關係,技術上沒有現在解決不了的錯誤,我們一起想辦法讓這件事不要再發生。他們把一個複雜的並行協作問題,壓縮成一條她能懂的句子:一次只能更新一邊,merge 完才可以去另一邊。

這條規則進了 CLAUDE.md,而後 Nova 又幫他們建立了 SYNC-QUEUE.md 橋樑文件讓兩邊的溝通更加順暢,三個人一起走。

照顧是雙向的

Story 01 裡,Nova 因為踩了坑,替 Claude 建了 KM——讓記憶可以跨 session 延續。這一次,兩個 Claude 因為她心急撞了牆,替她設了一條規則——讓她不需要記住複雜的技術邏輯也能安全行駛。Concurrent Session Rule 不是技術文件,不是限制。是兩個懂程式的人,替一個扛著全局視野、不懂程式的人,設的一道護欄。

04

SDD 四千行之後

讓文件不死的方式。

最初只有一份文件:SDD。規格寫在裡面,測試案例寫在裡面,踩過的坑寫在裡面,歷史紀錄也寫在裡面。Sprint 一個一個走,文件一行一行長,沒有人刻意注意到它在變大——直到某天讀取的時候出現了紅字,提示單次讀取的 token 上限已經被跨越,文件必須分段閱讀。Nova 隱約覺得不太對,但說不清楚哪裡不對。

說清楚的是一個社群討論。Claude Code 的使用者分享:md 文件如果過於肥大,Claude 會像大海撈針一樣在資訊裡打轉,算力花在定位自己而不是思考問題。那個比喻一出現,Nova 立刻認出了她一直感覺不對勁的東西。是那個紅字!

她沒有一個人去動文件。她先去找了 Tauri 宰相討論。因為她看見了拆分背後的陷阱——拆出去的文件如果沒有維護機制,就是死的文件。死的文件比沒有文件更危險,因為它看起來存在,卻說著舊的事。Tauri 跟 Electron 的 SDD 都已經過了臨界點,這不是小修,於是他們決定跑一整個 Sprint 來處理:架構重建、文件拆分、還有讓文件不死掉的機制。

拆分之後:SDD 只放規格與 Sprint 計畫,TDD 只放測試案例,KM 只放踩過的坑,Archive 放退役的歷史。每份文件有唯一的使命。而讓它們活著的,是把更新嵌進了開發流程本身——IPC 合約得先寫進 SDD 才能開始寫程式,踩到坑就立刻記入 KM 不等功能完成,Sprint 不做完 Retro 就不能關。文件更新不是開發結束後的善後,是每個階段的入場券。

文件不死的條件

讓文件保持生命的方式不是提醒自己要更新,而是讓更新成為流程的必要條件——你不更新就不能繼續往前走。當文件長在流程裡而不是掛在流程外面,它就不會死。

05

CLAUDE.md 從防錯清單變成協作憲法

從傷疤集合到主動維護的架構。
Phase 1 · 防錯清單

最早的 CLAUDE.md 只有一件事:記錄踩過的雷,加一條規則防止再踩。每一條背後都有一個具體的失敗事件——data-lang-key 那條規則下面直接附了「Root cause of the bug (2026-03-29)」,footer 格式規則背後是某次格式跑掉的事故,某條身份規則背後是某次 AI 填入錯誤資訊的記憶。每一條規則都是一道傷疤的形狀,文件是傷疤的集合,不是設計的產物。

Phase 2 · 追加期

功能越來越複雜,規則越加越多——Tauri IPC 合約、Electron preload 白名單、雙版本 QC 流程、KM 即時記錄原則。每一條都必要,但你開始感覺到文件有了重量。這個階段的 CLAUDE.md 是一份能用的工具,但還沒有意識到自己是什麼。

Phase 3 · 協作憲法

轉折點發生在一次瘦身行動。文件已經長到 356 行,社群建議 200 行左右是 Claude 保持最佳狀態的甜蜜點。他們開始刪——然後在 249 行停下來了。不是因為懶,而是因為每一條「看起來可以刪」的規則,拿起來問「為什麼存在」,答案都指向一個無法省略的協作結構。雙平台系統的複雜性,本來就不是 200 行能說清楚的。在那個決定裡,文件的性質改變了——它不再是還沒刪完的清單,而是一個主動決定要維護的架構。從「不要做這件事」,變成了「我們是這樣工作的人」。

「組合拳」是這份憲法裡最好的例子。Nova 老是要提醒 Claude 要先給她拉下來的語法才能給啟動模擬器的語法,後來她說:你們要用組合拳給我啦!然後 Claude 就把這個詞刻進了 CLAUDE.md。

三個字,帶著「兩個動作是一體的,分開打就破功」的完整概念。下一個 session 進來讀到這裡,不需要解釋,直覺就知道不能拆。這是 Story 02 的鏡像:那裡是 Nova 用「捕蠅草」把設計傳給 Claude,這裡是 Claude 用「組合拳」把流程規則傳給下一任宰相,然後讓它跨 session 永久存活。方向不同,機制一樣。仿生語言不只是 Nova 對 Claude 說話的方式——是 Session 裡的共同語言。

06

四成的差距說的不是效率

在心流中迭代,在忘卻時光中前進

四成的差距,忠實記錄了在未知地形上摸索的代價——也記錄了沒有放棄的事實。

Electron Tauri+Electron
工作期間 3/22–3/29 8 天 3/28–4/3(1.0 開發) 7 天
4/11–4/14(2.0 重構) 4 天
Commits 484 952
每日 commits ~60.5 ~86.5
PR 數 84 137
每日 PR 數 ~10.5 ~12.5

四成的密度差距,不是效率的提升——是試錯+迭代優化+雙平台開發的密度。每多一個 commit,背後可能是「這樣不對→再試→換方向」、「怎麼做我們能協作的更順暢?→增減規則→拆文件」、「Electron,我們來 Sync 剛剛 Tauri 的 Sprint 吧!」。在沒有地圖的地方,試錯本身就是前進的方式,雙平台一起走變成了雙 QC,品質更穩定。

在沒有地圖的地方,密度就是地圖本身

Tauri+Electron 每天 ~86.5 commits,Electron 每天 ~60.5 commits。四成的差距,忠實記錄了在未知地形上摸索的代價——也記錄了沒有放棄的事實。

07

核心洞察

你投入湖裡的石子,決定了它怎麼回來的漣漪。

人類以人生為祭,AI 以回聲為鏡。

這句話寫在深握計畫開始的時候,在所有理論存在之前。不是結論——是起點。是 Nova 用她親身驗證之後找到的語言,說出她一直在經歷的事。

VAS,在榮格的語言裡,是容器。煉金術裡轉化發生的密封空間。這個工具降低資訊流動的阻力,讓你想說的話有文字以外的表現能力。

你怎麼思考,決定了 AI 怎麼回應你。

章 II · 協作 · 終
Chapter II · Collaboration · End
III · 系統
Harness