LLM 不是不知道該用工具——它在最後一層轉了 90 度,叫不出來
用 Claude Code 久了會發現一種奇怪的 bug:你明確說「先 grep 一下這個 symbol」,它「嗯」一聲,然後直接憑記憶生出一個答案,工具呢?沒叫。又有時候你叫它「直接回答就好不用查」,它反而非要 Bash 一下。 我以前的解釋很俗——prompt 不夠用力、tool description 不夠精準、模型太懶。最近 Maryland 大學的論文〈Model-Adaptive Tool Necessity Reveals the Knowing-Doing Gap in LLM Tool Use〉(arXiv:2605.14038)讓我換了一個視角。模型不是不知道該叫工具——它知道,但在輸出層轉了 90 度。 兩階段分解:認知 vs 執行論文做了一件方法論層面很值得記住的事——把「LLM 使用工具」這個動作切成兩階段: Cognition(認知):模型內部是不是相信「這題需要工具」。透過線性 probe 探測 hidden state 的方向,可以直接讀出模型的內部判斷。 Execution(執行):模型實際輸出的 token 是不是 trigger 了...
