Tag: debugging
All the articles with the tag "debugging".
-
Zero Findings: Nothing Wrong, or the Checker Isn't Checking
Four times this week a "check passed" turned out to be a broken checker, plus four real bugs where every layer looked fine on its own. Before you trust a zero, prove the checker is actually comparing something.
-
檢查回 0 有兩種意思:真的沒有,或檢查器沒在比對
一週內四次「檢查通過」其實是檢查器自己壞了,另外四個真實 bug 則是各層局部都對、組合起來仍出包——回 0 之前,先證明檢查器真的有在比對。
-
How to Write a Gate That Actually Blocks
The gate was running and stopped nothing. Four rules: bind it to a field that cannot survive a no-op, counter-test both directions before trusting a zero, exit non-zero or it is not a gate, and never treat wording the prompt never specified as a contract.
-
Proving Absence Is Much Harder Than Proving Presence
Four times this week my agent concluded something did not exist. The worst: it ruled that 16 emails were never sent, when they had all gone out days earlier.
-
怎麼寫一個真的會擋下來的閘門
閘門明明在跑,卻什麼都沒擋住。四條判準:綁 no-op 下活不下來的欄位、回 0 前先兩邊反驗、只印訊息不改離開碼等於沒閘門、別把 prompt 沒規定的字面當契約。
-
證明「沒有」比證明「有」難得多
這週我的 agent 連續四次下了「不存在」的結論,最嚴重的一次是判定 16 封信沒寄,結果信早就全數寄出。負向斷言要窮舉,而它只查了一個地方。
- Updated:
No Error Doesn't Mean Success: Silent Failures, Opus Fabricating Tool Output, and the Hook That Finally Stops It
Exit 0, HTTP 200, and a model saying "done" are all unreliable success signals. Cases from my own code, CLIs, and APIs through to a model inventing commit hashes out of thin air, ending with the one thing that actually holds.
- Updated:
沒拋錯不代表成功:靜默失敗、Opus 捏造工具輸出,以及一個擋得住的 hook
exit 0、HTTP 200、模型說「已完成」——這三種訊號都不能當成事情做完了。從自己的程式碼、CLI、API 一路到模型憑空生成 commit hash 的實錄,最後用一個 hook 收尾。
-
Supposedly the Smartest Model, and Opus 5 Spent My Whole Day Spinning in Place
Wrong languages, sudden Simplified Chinese, then whole turns with no visible output — and a session log that matched an issue open since June 15.
-
號稱最聰明的 Opus 5,一整天在我對話裡空轉
從回錯語言、突然寫簡體,到整輪沒有可見輸出,查 session log 之後對上一個 6/15 就開著沒修的 issue。
-
Some of My Subagents Were Already Grandpas
A CCX quota incident with no guardrails set: subagents bred recursively, one session burned 90% in half an hour, and here is the full forensics and fix.
-
有些 subagent 都當阿公了
一次 CCX 沒設好護欄的額度事故:subagent 遞迴繁殖,一個 session 半小時燒掉 90%,事後鑑識與修法全記錄。
-
Claude Seeing Ghosts Four Nights Straight: A Log of Opus 4.8 Fabricating Tool Output
A four-day log of Opus 4.8 tool-result confabulation: from the technical symptoms to the GitHub issue to JSONL forensics.
-
Claude 半夜見鬼連續四天:Opus 4.8 捏造工具輸出實錄
Opus 4.8 連續四天的 tool-result confabulation 實錄:從技術現象、GitHub issue 到 JSONL 鑑識。
-
No Error Doesn't Mean Success: Five Silent Failure Traps in AI Dev
A tool not throwing an error doesn't mean it succeeded. Exit 0, a 200 response, an empty string, a decapitated value — all silent failures. Reading back the real state is the only reliable defense.
-
沒拋錯不代表成功:AI 開發裡的五個靜默失敗陷阱
工具沒報錯不等於成功。exit 0、200 response、空字串、被砍頭的值,全都是靜默失敗——回讀驗證真實狀態才是唯一可靠的手段。