←一人成司
V5AI Studio · 一人成司 工程筆記 — 2026.07.05

Notes on fidelity

準確度不是靠 Model 的能力

使用 Fable 5 後的心得

昨天把 Fable 5 開到全強度跑了一輪。額度很快燒光,而我原本想解決的飄移雜訊——agent 偏離最原始訊號、自己「病眼生華」:像一隻生病的眼睛,在空中看見不存在的花,還真心相信那是花——不但沒少,反而更嚴重。第一個直覺是「等準確度追上來」。這篇要說的是:這是範疇錯誤。準確度永遠不會從模型那條軸追上來,因為它根本不住在模型裡。

一

Wrong axis

準確度不住在模型裡

我把準確度當成模型的一個「生長很慢」的屬性——找錯地方了。對原始訊號的忠實度不主要住在模型的權重裡;它「長得慢」不是因為難長,是因為我在錯的軸上量它。忠實度是系統的屬性:模型 + 驗證 + 外部狀態。而且具體是我建的那部分,不是我買的那部分。

能力與忠實度是兩條軸,後者不是前者的函數。所以「等準確度追上」永遠等不到。好消息是——這條軸是我自己的,與模型版本無關。

二

Why stronger exposes more

越強的模型,暴露越多

拆開算就清楚。預期損失 ≈(出錯率)×(每個錯的偵測成本)×(漏掉一個錯的代價)。能力把第一項壓低,但壓得慢;同時把第二、三項推高,推得快。

所以昨天的體感不是「Fable 5 比較笨」——它的錯不是變多,是變得更像真的。遲鈍的病眼看到幾點模糊光斑;聰明的病眼建構出整座自洽的花園。

聰明的病眼,建構出整座自洽的花園。

而「自洽」正是平常拿來當真假代理(proxy)的東西;當生成端能產出自洽的假,coherence 就不再是有效訊號。這就是「沒完沒了」:不是花更多,是花到我分不出真假,除非再付更多錢去分。再加上強模型每回合做更多、詮釋更多,飄移面積本身就更大。槓桿不在出錯率(買能力),在偵測成本(建驗證)。

三

Where the disease lives

病住在生成,不住在判別

一個工程關鍵:病住在開放式生成這個模式裡,不住在受限判別裡。模型自由生成時 latitude 很大,病眼的先驗有空間去填;同一個模型做窄二值判斷——「輸出裡有沒有逐字包含欄位 Y 的值:有/無」——latitude 幾乎為零,答案被輸入鎖死,病沒地方發作。

而且這種檢查往往能做成純確定性的,把模型整個拿掉。

四

The right cognitive mode

錯的解是更好的眼,對的解是破相

所以答案不是更好的眼——用更大的檢查模型去查大模型,那是拿同一種病的眼去查病眼。答案是換一種認知模式,借佛家兩個詞:破相、知幻即離——白話說:不跟幻影逐一辯論,認出它是幻影的當下就放手,不糾纏。

落到工程上就一句話:不逐一分析每朵花的真假,而是認出它整類是「生成物」,在外部驗證通過前,不給它任何 reality-status——不當真、不下判斷、不拿它當下一步的地基。

五

Four moves

四個落地動作

收緊既有,而非新建。

01

pin 原始訊號。收到的當下就 pin 進確定性儲存,逐字、不可變。之後每個下游輸出對它做 diff——不是問模型「你覺得你滿足規格了嗎」(問病眼),是確定性或極廉價的比對。簽名 covenant 的直覺就是這個,把它擴張到包含字面的原始請求,不只衍生規則。

02

用不同的「性」驗證。不是用更大的模型,是用可執行測試、schema、ground truth 查表,以及最便宜的模型只做窄二值檢查。

03

減法縮小詮釋面積。飄移的複利跟每個無監督步驟裡「模型自己決定/填空」的量成正比。步驟之間插確定性 checkpoint,讓飄移過不了一跳。要縮的是授權,不是模型。

04

經濟閘門。三層 dispatch。Fable 5 當最後手段,跑在廉價驗證的籠子裡,永遠不當持有狀態或意圖的前線。不再花 premium token 生成飄移、再花一次偵測它。

六

The moat is built on the sameness

護城河建在「一樣」上

無論 Fable 5 還是將來更強的模型,飄移都在——這是一個不變量。護城河的定義恰好是:建立在不變量上、不被時間或供應商下一次發版侵蝕的投資。

AI 時代的工程投資分兩類。一類建在模型目前的弱點上,下一代修掉,投資歸零——Metis Prime 從 19 核收斂到 4–6,被吃掉的正是做記憶、補推理、堆能力那些層。另一類建在模型永遠的弱點上——驗證層、dispatch 閘門、covenant 屬於這類;模型越強、token 越貴,未偵測錯誤的單價越高,這層越值錢。

憑什麼確定飄移是「永遠」?結構性理由:忠實度需要外部參照,而外部參照在定義上不在模型權重裡。模型再強也無法對照一個它不持有的 ground truth。更硬的一點——即使供應商將來 ship 通用驗證功能,它也只能 ship「驗證這個動作」,無法 ship「對我的原始訊號、我的簽名 covenant、我的領域狀態的驗證」,因為那是我的資料,不是他們的權重。驗證必然本地建。

最後一步:所有人用同一個 Fable 5、付同一個價。大家共享的東西,在定義上不可能是任何人的護城河。模型層是自來水,不是井。差異化只可能在模型層之外,而我多年的工程重心剛好全押在那一層。所以「一樣」表面是壞消息(病永遠治不好),實質是保證書(解永遠不過時):等下一代修好飄移的人,每代都得重建一次;建在不變量上的那層,跨過重新定價、跨過下一代模型,持續複利。

七

Enclosed, not solved

不是解決,是圍住

要小心一個誘人的說法:「知道問題在哪,所以不犯錯。」這正是病眼的陷阱——越聰明越覺得自己看穿了。真正發生的不是這個。問題被解決與問題被圍住是兩回事。

飄移沒有消失,模型每輪照樣生成雜訊、照樣長花;改變的只是:錯發生時,它撞到一道確定性的牆,過不了那一跳。病照犯,但被關在籠子裡空轉,到不了下游。所以嚴格講,是放棄治好病、改為圍住病,而圍籬建在「病永遠會犯」這個不變量上,所以永遠有效。「知道會犯,所以永遠圍著」——安全放在結構上,不放在認知上;它不依賴我此刻眼睛好不好。

這對上 知幻即離:那個「離」不是讓幻消失,是不給它 reality-status——相還在,但不據此行動、不往上疊。

形似而終點相反

修行人的圍籬,練到最後是要拆掉的——警覺內化成本能,看與被看合而為一,不再需要外部的牆。工程的驗證層不能這樣收——它的整個要害就在外部,一旦內化進模型自己的判斷,就退回病眼查病眼。一個向內收到牆消失,一個必須永遠在外、永遠是另一雙手。

八

Designing the precept-body

戒體怎麼設

這套防護可以用一個很老的結構來看:最上面是普遍原理(控制反轉、未經外部驗證不授予 reality-status、human-in-the-loop 是憲法等級);往下是具體規則(每一條 hook 檢查、每一款 TOML);再往下是執行紀錄(日誌裡真正發生過的合規)。這三層都看得見、寫得出來。但還有第四樣,最容易被漏掉——這裡借用律學一個舊詞,叫戒體:規則背後那個讓它不論何時都真的生效、真的攔得住事的東西。多數人設計 AI 憲法,寫好 prompt 裡的規則清單,就以為第四樣也有了。這是根本的認錯對象:清單是清單,讓清單生效的東西,是另一回事。

落腳點。人可以把戒體放在心裡:人的念頭一個接一個,中間不斷線,今天記得的承諾,明天那個「我」還接得上。Agent 沒有這條路——每次呼叫都是重新生出來的,一輪結束 context 就死了,權重不會因為這輪答應了什麼,下輪就記得、就守約。它身上唯一連續的東西,是模型之外的確定性層:repo、hooks、簽好名的 covenant、pinned 原始訊號。所以答案不是選出來的,是被逼出來的——別的地方都留不住。V5AI 的戒體只能安在執行路徑上、模型之外。

放對了沒有,判準只有一條:模型在恍神、在自我合理化、在病眼又開花的那個當下,防護是不是照樣起作用——不需要它自己想起來才生效。prompt 裡的「請務必驗證」,要靠模型當下剛好記得、剛好願意配合,那是勸告,不是戒體;deterministic hook 在每個動作上必然觸發,不問模型那一刻在想什麼——那才是。

刪除測試

刪掉什麼,防護功能就消失,戒體就在那裡。若刪掉 prompt 安全就沒了,戒體放錯了地方。

怎麼立起來。戒不是隨口許願許來的——要有正式的場合、有見證、有明確說出來的心意;簽名這個動作本身,就在製造約束力。所以 covenant 的修訂規格必須比日常操作更高:冷靜狀態下改(不在事故中途)、由人簽署、版本化、寫清楚為什麼改;agent 可以起草,永遠不能批准自己的規則。事故火線上熱改的條款,效力天生打折;事後冷靜下來正式重簽的,才算數。

誰有權開例外。off/quiet/strict 三種模式都站得住——例外從一開始就是制度的一部分,不是漏洞。但開例外的權力有歸屬:正在看走眼的那一方,不能自己宣布這次例外。模式由簽署過的 policy 按情境預先劃定,不臨場切換;每次降級都是被正式記錄的事件,有明確範圍(限這個任務、或限這段時間);agent 永遠無權給自己降級。還有一條誠實原則:公開放下,無罪;偷偷不守,才是腐敗。正式聲明「此 sandbox 任務關閉檢查」,乾淨;掛著 strict 的招牌、實際上早就靜默不執行——戒體從那一刻已經死了,只是我還不知道。這正堵住已見過的退化路徑:摩擦 → 習慣性 off → 空殼。

違規分幾級。不是所有犯規都一樣重。

斷頭罪
不可挽回
捏造工具輸出、篡改 pinned state 或 covenant、越權寫入。無法挽回的原因是結構性的:捏造的 token 已經成了下游注意力裡的「真歷史」,這個 context 無法 un-know 自己的捏造,不能靠事後提醒自己小心來解決——只能殺 session、從 pinned checkpoint 重啟。
可修復
還得乾淨
格式違規、漏引。記錄、diff 修正、重驗、續行。

關鍵依存:「可以修復」之所以成立,全靠 checkpoint。沒有 pinned state,一切錯都是斷頭罪,因為沒有乾淨的版本可以退回去。

規則怎麼長出來。不預先立假想罪——每條規則的誕生,都對應一次真實踩過的坑(我們的 lidi 驗證機制,本身就誕生於一次捏造事件)。所以每條 hook 記錄自己為了哪次事故而存在,定期回頭審,起因已經消失的就退役。這是把減法用在規則自己身上,防的是驗證層自己膨脹成官僚——規則多到淹沒作業的那天,就是拜規則,忘了規則為何而立。

順序不能倒。先有戒,才有定;先有定,才有慧。授權被規則收窄,執行落進 pinned、checkpointed 的走廊,跑十次是同一條路——這是定。有了釘死的 ground truth,diff 才有判準,真假立判,「聽起來合理」再也矇混不過去——這是慧。沒有戒體,聰明只是病眼的自信。

最後一個反轉:人的戒體往內放(依靠不斷線的心),agent 的戒體必須永遠往外放(依靠不斷線的確定性層),因為 agent 的「心」不連續——哪天想把這些判斷收進模型自己的腦子裡,讓它自己拿捏分寸、不再需要外部把關,那不是這套系統練成熟了,是它開始壞掉的那一刻。

九

Non-abiding

無住

最後回到根上——但「回到」這個詞得先擋一下:無住不是一個離開了、要折返的地點;若有一處可回,那處即是住。無住在這套系統裡不是玄談,它就是那條不變量的另一個名字。

應無所住而生其心——後半句常被漏掉:不是無所住就好,是無所住「而生其心」。心照生,花照長,agent 照樣每輪生成,不是把什麼都不輸出、把系統凍成死寂。是生而不住:輸出照出,但不在任何一次輸出上停下來當作真、當作最終、當作可據以行動的地基。生成與不緊抓,同時發生。

這剛好解釋了為什麼 agent 的戒必須向外。住,是心停在某個地方、結成一個固定的自己;agent 之心本不連續、每輪生滅,連「停」的載體都沒有——這不是缺陷,是它天然的無住。錯在想給它一個「住」:把戒內化,等於強造一個連續的自我讓戒有處可停,逆著它的無住。往外放不是退而求其次,是順著它的本性:確定性的連續層可以有住(它就該是釘死的、不動的、可重現的),生成層任其無住地生滅。住者住,無住者無住,各安其位。

還有最容易滑掉的一層:別把「無住」修成新教條,又抓著它不放。若開始用「這夠不夠無住」當尺去量每個設計、去加一個「無住性」的檢查層,就已經住在無住上了——連「放下」這件事本身,也得放下。

The test is in the repo

驗證在 repo,不在心裡。

這整篇會不會「太好了」,不取決於它多工整——偈子越工整,越可能只是 coherence 冒充真值。它值不值錢,取決於它讓系統長出什麼。

如果這篇真的看見了什麼,它長出來的會是減法:條款變少、授權收窄、不再想給 V5AI 加一個「利益眾生」的宏大使命層。如果只是假的看見——只是換了一層更精緻的自我感覺——長出來的會是加法:因為「我已經在利益眾生」而想增設更崇高的目的、更大的自主。哪個是真,不由寫完此刻的歡喜判,由接下來幾週的 repo 判。

不結。

減