2026-05-14 AI 學習日誌

#AI學習 #Claude Agent SDK #訂閱方案 #cron 自動化 #headless

今日最有感的事

今天最該停下來看清楚的,是 Anthropic 那條「Claude Agent SDK 怎麼吃你訂閱方案」的新規定——因為它直接決定我接下來這一個月要不要動手改 cron。

先把規定本身講清楚。官方文章說 Pro / Max / Team / Enterprise 訂閱會額外拿到「每月 Agent SDK 信用額度」(依方案 20 到 200 美金不等),但這筆額度只給用訂閱認證的 SDK 用法,用 API key 接 Claude Developer Platform 是另一條路、不會拿到這筆 credit。文章還明確點名 claude -p(也就是 Claude Code 的非互動模式)就是吃這個新額度的場景,而且 credit 是「per-user、不能 pool、不會 roll over」。最關鍵的一句是:當這筆 credit 用完,如果你開了 extra usage 才會以 standard API rate 繼續跑、沒開就直接停到下個月 refresh

這代表 6/15 之後 Claude 把計費盤切成三個池子:互動式對話(IDE / TUI 對話視窗)走訂閱主額度 5 小時 sliding window,這個池子裡的 sub-agent 也跟著免費;非互動的 claude -p / Agent SDK / GitHub Actions 走新的月度信用額度桶;用 API key 直接呼叫 Developer Platform 才是 token 按用量計費。三個池子分開,不會互卡——但也不會互救。

真正值得看的是,這條規定對我目前的自動化基礎建設打擊面有多大。我請 Claude 把實際在用的 cron 抓出來盤點,結果不太好看:mail-digest(每天 08:00、Opus 4.7、~30K in / 5K out)、21:00 workflow(每天 21:00、Opus × 2 + Haiku 篩 URL、~130K in / 8K out)、world-news-briefing(每天、~800K token)、ercw 週報(週日 10:00、Sonnet、86K in / 7K out)、gdoc-highlight poller(60 秒輪詢)——這些全部都壓在 ~/scripts/lib/claude_sub.py 上跑,而 claude_sub.py 走的就是「OAuth 訂閱認證 + headless 單發呼叫」這條路。Anthropic 6/15 那條新規打的禁區,正好就是這個機制本身。

更直白地說:我以為自己「沒在用 API」就安全,其實不是。現在 cron 走的不是 API 路徑,是「OAuth 訂閱認證 + headless」這條中間路徑,6/15 後才被切出去算進新月度信用額度。如果某個月 Opus 兩條 cron 把 200 美金吃完、又沒開 extra usage,後半個月所有自動化會直接停擺到下月 1 號。

繞路的方向今天聊出三條:第一條是把長腳本搬進互動 session、靠 task notification 接續,這條繞得最徹底但放棄了 cron 的「我不在也會跑」優勢;第二條是 claude_sub.py 加 --api-key fallback、月度額度爆了就一鍵切 API 付費繼續跑,金錢成本可控、但要寫好預算 cap 避免 catchup-cron 暴衝;第三條是把 Haiku 級的小任務(mail 分桶、URL 篩選)改用更便宜的模型或 Codex CLI 走 ChatGPT 訂閱額度。

另外今天還意外確認了一件事,對 PDF extraction、zotero-backfill 這類 skill 來說,因為 script 內部完全沒 import anthropic SDK、沒讀 ANTHROPIC_API_KEY、也沒 spawn claude -p,本質上就是「主 session 派 sub-agent 跑純 Python 工具」——這種 pattern A 完全不受 6/15 政策影響,繼續吃訂閱主額度。同樣邏輯:手動按按鈕觸發的 skill,只要 skill 內部不偷偷 spawn headless OAuth process,就還是走訂閱、不會被切。

所以這條規定真正的教訓不是「以後要花錢」,而是自動化要算清楚自己走哪條認證路徑。互動 session 派 sub-agent 是免費的、headless OAuth 6/15 後是要算錢的、API key 一直都是要算錢的。我之前那條「cron 一律不包 headless」的 memory 鐵律寫對方向、但執行面其實沒徹底——claude_sub.py 就是反例。這個月要做的事很清楚:先讓六月帳單跑一輪看實際金額、再決定要不要動手把哪幾條 cron 搬進 ccbot session(雖然 ccbot 我已經沒在用,但 long-running interactive session 這個模式本身仍然合法)或改 API 直付。

順便補一個小細節:今天已經把「6/15 在帳戶頁面 claim 月度 SDK 額度」這件事丟進 Google 行事曆當天提醒,避免到時候忘記點那個一次性 opt-in、結果 cron 直接停擺。

今日收集的資源

Anthropic 官方:把 Agent SDK 接上你的訂閱方案

Roam Research Help — Mentions / Tags 子頁

  • 連結: https://roamresearch.com/#/app/help/page/-bNjVrFfG
  • Roam 官方 help graph 的子頁,今天順手用 Playwright + roamAlphaAPI 抓進 syntax cheatsheet。help graph 不在自己擁有的 graph 清單裡、Roam MCP 拿不到 token、所以這條路只能走 Playwright 直連。

ecg-smith-search Supabase edge function 入口

  • 連結: https://ftnrvkvzzvlfvdqirhxq.supabase.co/functions/v1/ecg-smith-search
  • 四大 ECG 來源(Dr. Smith Blog + Amal Mattu + Jerry Jones + Rapid ECG Mastery)的向量搜尋 endpoint;ecg-search skill 跟 ecg-prompt skill 的 RAG 雙打都從這裡進。今天為了寫 DeWinter / TQRSD 的 image prompt 認真用了一輪、確認「先 RAG 再寫 prompt」這條 SOP 確實能擋掉憑印象寫錯的 pattern。

Firebase Storage(Roam 圖床)

  • 連結: https://firebasestorage.googleapis.com/.../
  • Roam 自帶的 Firebase 圖床 base URL;ECG render demo 從 /tmp/ cp 到 Desktop 之後上傳到這裡拿可點開的大圖 URL,是把本機產物丟給自己看的標準動線。
comments powered by Disqus