Table of Contents
Claude Code 不是聊天框,是會自己翻病歷的住院醫師。真正吃 token 的不是你打的字,而是它自己讀進去的東西。省 token 的正確框架,其實是醫院的交班學:
🗂
CLAUDE.md
是常設醫囑——短,只放每班都適用的
🗣 prompt 用 ISBAR——指名檔案與函數,資訊密度決定它翻多少
📋 subagent 是會診——只回結論,不回二十頁推理
📝
/compact
是交班摘要、
/clear
是換病人,別混用
🩺 plan mode 先看治療計畫再簽醫囑
🧠 一個人幹活時,問題清單寫進檔案、進度寫進 commit——今天的你交給明天的你
📏 用
/cost
和
/context
自己量,別信別人的 30–60%
病情越複雜,交班越該完整。agent 的 context 可以省,你自己的檢核不能省。

The Art of Handoff: Managing Claude Code’s Context the Way a Hospital Manages Information
一、Token 焦慮,其實是交班焦慮
用過 Claude Code 的人,很快會遇到同一個痛點:費用比想像中跑得快。網路上流傳的省 token 指南,多半教你「只貼關鍵片段」「用 diff 不要貼整檔」「先摘要再餵」——這些建議沒有錯,但它們有個隱藏前提:你在把東西唸給 AI 聽。
那是聊天框的用法。Claude Code 不是聊天框,它是一個會自己去翻病歷的住院醫師。它自己讀檔、自己 grep、自己跑測試。真正把 context 撐爆的,不是你打的那幾行字,而是它一口氣
cat
了五千行 log,或者一次 build 的輸出整包回流進對話。
醫院每天都在做這件事。一個病人的資訊量遠超過任何人的工作記憶,但夜班醫師接手時不需要重讀整本病歷。靠的是常設醫囑、ISBAR、交班摘要、會診回覆單——一整套把資訊密度拉高、把雜訊擋在外面的制度。這套制度移植到 Claude Code,幾乎一一對應。
二、對照表:醫院的交班工具 vs Claude Code 的 context 工具
| 醫院裡的做法 | 解決什麼問題 | Claude Code 對應 |
|---|---|---|
| 常設醫囑、科部 SOP | 每班都適用的規則,不必每次重講 |
CLAUDE.md
|
| ISBAR 開場 | 三十秒內講清楚誰、什麼事、要什麼 | 精準的 prompt |
| 會診回覆單 | 專科只回結論,不回推理過程 | subagent |
| 交班摘要 | 換班時保留重點、丟掉過程 |
/compact
|
| 換病人 | 上一床的事不該帶到下一床 |
/clear
|
| 先看治療計畫再下醫囑 | 走錯方向的成本最高 | plan mode |
| 不要把整本病歷唸出來 | 只抓相關的檢驗與影像 | 限制工具輸出 |
下面逐一展開。
三、CLAUDE.md:常設醫囑,不是病歷全文
CLAUDE.md
是專案根目錄下的一份文件,每次開啟 session 都會自動載入。網路指南把它形容成「終極外掛」,建議把架構、規範、指令、Do’s & Don’ts 通通寫進去。
問題是:它每一輪都會被載入。寫得越長,每次對話的固定成本就越高。這跟常設醫囑的邏輯一樣——常設醫囑之所以有效,是因為它短,只放「每一位病人都適用」的東西。你不會把某一床的完整病史寫進全院常設醫囑。
順帶一提,
/init
指令的用途是替專案產生一份初始
CLAUDE.md
,不是清空對話——很多整理文把它寫錯了。
四、Prompt:用 ISBAR 的方式開口
ISBAR(Identify、Situation、Background、Assessment、Recommendation)的精神不是格式,而是把對方需要的判斷依據,用最少的話講完。
auth/session.py
的
refresh_token()
在 token 過期後沒有清掉 cookie,請修正並補一個測試在
tests/test_session.py
」→ 它讀兩個檔案,改一個,寫一個。具體來說,一句好的 prompt 通常包含:哪個檔案、哪個函數、現象是什麼、要改成什麼、怎麼算完成。
五、Subagent:會診只回結論
這是 Claude Code 特有、而一般省 token 指南幾乎不提的機制。
臨床上,會診的價值不只在專科意見,還在於隔離。腎臟科會診醫師翻了二十頁病歷、查了三個月的檢驗趨勢,最後回給主治的是一張回覆單:「建議停用 NSAID,追蹤 Cr,下週回診。」那二十頁沒有進主治醫師的腦子,也不需要。
Subagent 就是會診。探索性的任務——「找出所有呼叫這個 API 的地方」「看看這個 error 在 log 裡出現的模式」——交給子代理,它在自己的 context 裡翻完,主對話只收結論。
如果你發現主對話動不動就塞滿,八成是把該會診的事自己做了。
六、/compact 與 /clear:交班摘要,還是換病人
這兩個指令常被並列成「清理對話」的兩種方式,但它們的意義完全不同。
/compact
是交班摘要。它把前面的對話壓縮成一段摘要,保留關鍵決策,丟掉過程細節,然後在同一個任務上繼續。可以帶指示告訴它要保留什麼,例如
/compact 保留 auth 模組的修改與目前的測試失敗
。這對應的是白班交夜班:病人還是同一個,只是把前八小時濃縮成三句話。
/clear
是換病人。整個對話清空,從零開始。只有在任務真的結束、要做完全無關的另一件事時才用。
這裡有一個常被忽略的成本細節:Claude Code 會對 system prompt、
CLAUDE.md
和前段對話做快取,快取讀取的費率遠低於一般輸入。頻繁
/clear
等於一直打掉快取重來;而
/compact
保留了 session 的連續性。所以「多清空就會省」是錯的。
七、Plan mode:先看治療計畫,再下醫囑
省 token 最大的浪費不是某一輪講太多,而是走錯方向後的重工。讓它直接動手重構,改了三十個檔案才發現理解錯了需求,那三十個檔案的讀寫全都是白燒的 token。
Plan mode 讓它先讀、先想、先提計畫,但不動檔案。你看過計畫,確認方向對了,再放行。這就是「先看治療計畫,再簽醫囑」——多花兩分鐘看計畫,比多花兩小時處理併發症便宜。
八、限制工具輸出:不要把整本病歷唸出來
Claude Code 大部分的 token 花在工具回傳的內容上,這一點你可以直接控制:
- 跑測試時,只跑相關的測試檔,不要
pytest整個目錄。 - 看 log 時,
| tail -50或| grep ERROR,不要整檔倒進來。 - 讀大檔案時,指定行數範圍或函數名,不要讓它從第一行讀到最後一行。
臨床的對應很直接:你要的是最近三次的 Cr 和今天的尿量,不是這個病人五年來所有的檢驗報告。
九、沒有人可以交班的時候
交班譬喻有個前提:有另一個人接手。但很多場景沒有——門診一個人看一整診、居家照護一個護理師盯一個病人、或者就是一個開發者單獨跟 Claude Code 工作。這時 context 管理的對象變成兩個:agent 的 context,和你自己的。
跨時間的自我交班:今天的你交給明天的你
單人照護沒有交班,但有回診。三個月後再看到同一個病人,你不會重讀整本病歷,你看的是問題清單和上次的 SOAP。這對應到:
- 問題清單 = repo 裡的
PLAN.md或TODO.md。不放在對話裡,放在檔案裡。對話會被 compact 掉,檔案不會。 - SOAP = commit message 與進度筆記。每完成一段就寫下「做了什麼、為什麼、下一步」。下次 session 開頭讀這個,而不是
--resume一個已經幾萬 token 的舊對話。 - 回診 = 新 session。「每個任務一個 session、開頭載入問題清單」比「一個 session 撐到底」更接近門診的節奏。
單人的工作記憶:context 不是只有 agent 有上限
一診看三十個病人,每一個都是一次 context switch。臨床上撐得住,靠的不是記性,而是每一床的資訊都被結構化收在固定位置——病歷格式、問題清單、標準 order set。單獨跟 Claude Code 工作也一樣,人的注意力是第二個瓶頸:
plan mode 的產出、subagent 回來的結論、測試輸出,你得看得完,它才有意義。如果 agent 回你三百行,你其實也在燒自己的 token。所以「控制輸出長度」在單人場景要反過來講:不是為了省錢,是為了讓你自己審得完。一個人的審查頻寬,決定了 agent 能被放多開。
一個人的時候,最容易省錯地方
團隊有交班檢核,單人沒有。最常見的錯是為了省 token 跳過 plan mode、跳過看 diff,讓 agent 直接改——這就是門診太忙,沒看上次病歷就開藥。單人工作的原則反而是:
agent 的 context 可以省,你自己的檢核不能省。
十、什麼時候不該省
省 token 的手法,幾乎都在減少 context;而減少 context,也就是減少模型的判斷依據。這兩者是同一件事的兩面。
有些情況硬省反而更貴:
- 跨模組的重構:改 A 會影響 B 和 C,這時候把 B、C 擋在 context 外面,它就會改出一個編譯不過的東西。
- 診斷不明的 bug:你自己也不知道問題在哪,過早限制它的探索範圍,等於把會診單開錯科。
- 第一次接觸的 codebase:新來的住院醫師第一天,本來就該讓他多翻一點病歷。
判斷原則跟臨床一樣:病情越複雜、不確定性越高,交班就該越完整。省 token 是穩定期的做法,不是急性期的。
十一、量測,而不是相信數字
網路上流傳的「省 30% 到 60%」多半沒有來源。與其相信這個數字,不如自己量:
-
/context:看目前 context 用了多少,按類別拆解,包括載入了哪些CLAUDE.md與 skills。這能直接告訴你固定成本有多重。 -
/cost(新版是/usage的別名):看這個 session 的 token 數與費用。 -
/model與/effort:讓模型與推理深度對應任務難度,樣板工作不需要用最貴的模型跑。
做法很簡單:同一個任務,優化前跑一次、優化後跑一次,
/cost
各看一次。這就是一個最小的 PDCA。數字是你自己的,不是別人文章裡的。
結語:交班是一門技術,不是省話
醫院之所以能在資訊超載的環境裡運作,不是因為大家講得少,而是因為有一套制度決定什麼該講、講給誰、講到什麼程度。Claude Code 的 context 管理是同一件事。
CLAUDE.md
是常設醫囑,prompt 是 ISBAR,subagent 是會診,
/compact
是交班摘要,plan mode 是先看計畫再簽字。而當沒有人可以交班的時候,問題清單和進度筆記就是你留給明天自己的交班單。
把這套框架帶進去,你省下的不只是 token,還有走錯方向的時間——以及,你自己看不完的那些輸出。
📌 摘要(社群轉載用)
Claude Code 不是聊天框,是會自己翻病歷的住院醫師。真正吃 token 的不是你打的字,而是它自己讀進去的東西。省 token 的正確框架,其實是醫院的交班學:
🗂
CLAUDE.md
是常設醫囑——短,只放每班都適用的
🗣 prompt 用 ISBAR——指名檔案與函數,資訊密度決定它翻多少
📋 subagent 是會診——只回結論,不回二十頁推理
📝
/compact
是交班摘要、
/clear
是換病人,別混用
🩺 plan mode 先看治療計畫再簽醫囑
🧠 一個人幹活時,問題清單寫進檔案、進度寫進 commit——今天的你交給明天的你
📏 用
/cost
和
/context
自己量,別信別人的 30–60%
病情越複雜,交班越該完整。agent 的 context 可以省,你自己的檢核不能省。