今天不講系統,要講兩個我實際在開發中用過兩個很實用的 Claude 小技巧
- 可以讓不同 session 互相對話,幫你做更多決策
- 如何解決 Token 不夠用的問題
昨天把權限和認證補上,今天換個方向:兩個工具本身的用法。
大部分有在使用 Claude Code 的人,應該都習慣同時開好幾個 session 分工,但我以前一直把它當成「同時開幾個 Claude,各做各的」。直到這次才發現:Claude Code 的 session 之間,其實可以互相看見、傳訊息,甚至可以拿來做派工。
Claude Code 可以透過 ListAgents 列出目前其他 session:
This session is notes-36 [7983d7]
Peer sessions (4):
spec-74 [8b4702] · interactive · idle · started 32m ago
impl-d4 [9038ca] · interactive · idle · started 32m ago
...
這些 session 名稱其實就像地址。
例如:
SendMessage({to: "impl-d4", message: "..."})
就可以把訊息送到另一個 session。
實際收到的回覆大概會是:
"指派 Issue #3 版本歷程檢視" → impl-d4 (another Claude session on this machine;
queued there — a [Cross-session delivery notice] follows if that session holds it
(different permission mode: its user must approve first) or refuses it)
Subscribed — you will get one notice here when "impl-d4" is next idle (or exits)
三件事值得注意:
所以它比較不像「兩個 AI 即時聊天」,更接近的是:
派工 → 各自處理 → 完工通知
這其實比「兩個 AI 對話」更貼近實際的 SA/PG 協作方式。
SA 不會站在 PG 旁邊,看著他一行一行寫 Code;比較常見的是把工作交出去,等對方完成,再回頭確認結果。
如果只是想讓同一個 Claude 同時扮演 SA 和 PG,其實沒有太大意義,因為它的 Context 並沒有因此消失,它還是知道剛才那份 Code 是怎麼寫的。
所以我這次刻意把工作拆成兩個 session:
| 讀什麼 | 不讀什麼 | |
|---|---|---|
| SA session | specs/、CLAUDE.md |
程式碼 |
| PG session | 程式碼、測試 | 規格以外的來龍去脈 |
這個差異很重要,當 SA 問:「規格裡這條需求有沒有真的被實作?」,PG 不能只靠另一個角色剛才留下的記憶回答,它必須真的去看程式碼、看測試,然後回答。
換句話說,Session 隔離不是為了讓 Claude「演得更像 SA 或 PG」。
而是刻意讓兩個角色擁有不同的 Context,再透過共同的規格與契約交換資訊。
Claude 的用量配額是滾動視窗:從你當天第一次送出訊息那一刻起算 5 小時。
這代表視窗起點是「浮動」的——你今天 09:12 開工,視窗就是 09:12~14:12;明天 10:40 才開第一句,視窗就整個往後挪。結果是配額用完的時間點每天都不一樣,很難安排。
做法很簡單——在固定的時間點,讓一個排程送一則 hi 給 Claude。視窗的起點就被釘在那裡了。
一天釘三次,工作時間就被切成三段可預測的區間。
用 /schedule 建三支 routine,內容就是一則 hi,模型挑便宜的就好。
在 Claude Code 裡把下面整段(含 /schedule 那行)貼進去送出,Claude 會帶你走完建立流程:
/schedule
幫我建立 3 個雲端 routine,用途是「配額視窗錨定」:每天固定時間自動開一個雲端
session 送一句 hi,把 5 小時的用量視窗釘在固定起點。
共同設定:
- 環境:Default
- 模型:claude-sonnet-5
- prompt 內容就一個字:hi
- 不要掛任何 git repo(不需要 repo source,也不需要 GitHub App)
- 不要掛任何 MCP connector
- enabled: true
三個排程(我的時區是 Asia/Taipei,請幫我換算成 UTC cron):
1. 名稱「Quota Reset - 06:30」→ 台北時間 週一至週五 早上 06:30
2. 名稱「Quota Reset - 11:30」→ 台北時間 週一至週五 中午 11:30
3. 名稱「Quota Reset - 16:30」→ 台北時間 週一至週五 下午 16:30
注意第 1 條:台北 06:30 = 前一天 22:30 UTC,所以它的 cron 星期欄位是 0-4
(週日~週四),不是 1-5。建立前請把三條的 UTC cron 列出來給我確認。
hi,就把起點釘住了。明天:回到系統實作。