這筆帳是誰加出來的:拆開 Agent SDK 的 usage、total_cost_usd 與 modelUsage
total_cost_usd 這個數字,是誰在哪一刻把它加出來的? 答案是你自己的機器。Claude Agent SDK 身上打包了一張價目表,把這通呼叫用掉的 token 乘一乘,填進最後那則 result message。官方文件在這頁最上面掛了一段警告,用的字眼是 client-side estimates, not authoritative billing data。 這句話讀起來像免責條款,實際上是整件事的起點。一旦知道那個數字是本機加出來的,下一個問題就自己冒出來了:它加了哪些東西進去,又漏了哪些?而三個看起來都在講用量的欄位,答案完全不一樣。 一次呼叫會吐出兩種帶 usage 的東西先把作用域分清楚,所有的低估都是從這裡開始歪的。 一次 query() 裡面可以包好幾個 step。一個 step 就是一輪 request/response:Claude 回話、叫工具、拿到結果、再回話。每個 step 產生 assistant message,TypeScript 這邊每則訊息裡包了一個 BetaMessage,用 message.message 拿到,裡...
AI 與科技新聞摘要 - 2026/09/08
一筆交易公布的當天,你查得到的數字跟對方想讓你記住的數字,是同一批嗎? 9 月 8 日這天有兩份公告剛好可以對照。法國的 Mistral 宣布募到 30 億歐元,數字寫在自家新聞稿第一句。同一天高通宣布跟 Amazon 的合作,整份新聞稿一個金額都沒有,最硬的那組數字躺在 SEC 文件裡,而且精確到小數點後兩位。 其餘幾則的金額都查得到。只是「誰承擔什麼」這一欄,每一筆都寫得比金額模糊。 一、歐洲最大一筆股權募資,股東名單裡有一個大公國Mistral 的 Series D 收在 30 億歐元,三星電子領投,EQT 管理的 Scaleup Europe Fund 與既有投資人 PSG Equity 共同領投。官方原句是「Mistral today announced that it has raised €3 billion in a Series D funding round at a post-money valuation of more than €21 billion」。兩個數字要分開放:30 億歐元是這輪募到的錢,超過 210 億歐元是投後估值,原文寫的是 more ...
從手貼設定檔到雙擊一個檔:MCPB 把 MCP server 的安裝搬去哪了
先確認你電腦上有 Node。開終端機打 node --version,沒有的話去 nodejs.org 下載 LTS 版。 這是官方文件教一般使用者接上一台本機 MCP server 的第一步。不是附註,是第一步。 接下來的路是這樣走:點系統選單列上的 Claude、進設定、切到 Developer 分頁、按 Edit Config,打開一個 JSON 檔。macOS 上它在 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 在 %APPDATA%\Claude\claude_desktop_config.json。然後把一段 mcpServers 貼進去: 12345678910111213{ "mcpServers": { "filesystem": { "command": "npx", "args": [ &q...
滿分不代表是你的外掛做的:claude plugin eval 的無外掛對照組
外掛的 eval 跑出滿分,最常見的意思是它根本沒出手。 這句話聽起來很怪。分數 1.00,每條檢查都綠的,不就代表你的 skill 做對了?不一定。你量到的是「模型手上拿著你的外掛,把這件事做對了」。中間少一個資訊:沒有你的外掛,它本來就會做對嗎? 一盆黃金葛澆了兩週營養液,抽了三片新葉。營養液有效嗎?不知道。這兩週陽光照了、水澆了、天氣也轉暖了。你需要旁邊那盆一模一樣、但沒澆營養液的,兩盆擺在一起,差多少才是營養液的功勞。 claude plugin eval 這個指令,有相當大一部分的設計就是在幫你養第二盆。 第二盆植物一套 eval suite 住在外掛裡的 evals/ 目錄。每個 case 是一個子目錄,裡面一份 prompt.md(使用者真的可能打出來的那句話)加上一個以上的 grader,grader 就是跑完之後的一條 pass/fail 檢查。每次跑,Claude Code 會開一個全新、隔離的非互動 session,只載入你的外掛,把那句話送進去,讓它做到收工、或撞上這個 case 的回合數與時間上限。 跑一次非決定性的 agent,你得到的資訊近...
AI 與科技新聞摘要 - 2026/09/07
科技新聞裡現在有一類數字,大到讀過一次就忘不掉,而它是誰算出來的,通常寫在很後面。 9 月 6 日到 7 日這批消息剛好擺了一個這種數字。它旁邊還放著幾件性質完全相反的事:一筆金額在鏈上人人可查的比特幣移轉、一個打一次 API 就知道真假的 repo 狀態、一份公開在網路上五年沒被發現的試算表,以及一部還在審的法案,爭的是罰款該開給誰。 一、5,170 億美元這個數字,當事人一次都沒承認過身世比數字本身重要,所以先講身世。 據 The Information 統計,Anthropic 在十一個月內簽下總值最高 5,170 億美元的算力合約。這句話裡有三個限定詞要一起搬,掉一個意思就變了。「據 The Information 統計」:這是一家媒體彙整公開消息、加上自行採訪推算出來的,不是財報數字,也不是公司公告。「最高」:轉載的原文寫的是 worth up to $517 billion,它是上限,不是底線,更不是已經匯出去的現金。「十一個月內」:統計起點是 2025 年 10 月,這是一段期間的累計簽約總值,不是年度預算。 Anthropic 官方沒有確認過這個數字,也從來沒有公...
從改別人的 README 到證明域名是你的:MCP Registry 的三道驗證
你寫好一個 MCP server,想讓別人裝得到。在很長一段時間裡,這件事的作法是發一個 PR 去改別人家 repo 的 README。 modelcontextprotocol/servers 這個 repo 是 2024 年 11 月 19 日建立的。它的 README 第一句到今天都還寫著這裡收的是 reference implementations,以及指向社群自建 server 的連結。那份清單當時就是目錄本身:你的 server 在上面,它就存在;不在上面,它就只是你電腦裡的一包程式。 守門人是誰?有 merge 權的人。 於是各家開始自己弄一份。官方後來在設計文件裡把這層叫 subregistry,說 Smithery、PulseMCP 這類服務的價值在策展、評分與額外 metadata,資料則從官方 registry 做 ETL 撈過來。問題是在官方 registry 還不存在的那段時間,這個 ETL 沒有來源。同一個 server 在三份清單上可以有三種寫法、三個名字、三組安裝指令,而且沒有任何一份說得出「這包東西真的是作者本人發的」。 2025 年 2 月,有...
租屋的兩條路:租金補貼跟報稅扣除額,你該走哪一條
臺北市一個單身租屋族滿 40 歲那天,每月租金補貼從 3,600 元跳到 5,000 元。生日過了補貼反而變多,這件事官方文件沒有明講,是照分級定義跟金額表推出來的。 同一筆房租,政府其實開了兩條路:每個月直接匯現金給你的三百億元中央擴大租金補貼,或是報稅時把房租從所得裡扣掉的房屋租金支出特別扣除額。 卡住人的通常不是算術。多數人一開口先問「哪一條比較划算」,這個問題本身就錯了。 這題不是選擇題。 法條裡的那兩個字財政部稅務入口網的原文寫得很直白:「其實際支付之租金減除接受政府補助部分,每一申報戶每年可扣除限額 180,000 元」。 關鍵在 減除 這兩個字。法條沒寫「不得併用」,也沒寫「擇一適用」。它寫的是拿你實際付出去的租金,扣掉政府給你的那一塊,剩下的才拿去列報。所以剩下的部分只要還有 18 萬,扣除額就是滿的,補貼一毛都沒吃到它。 寫成條件就清楚了:年租金要到 180,000 元加上全年補貼總額,兩邊才會全拿。 臺北市一個未滿 40 歲的單身租屋族,補貼每月 3,600 元,一年 43,200 元。要兩邊拿滿,年租金得有 223,200 元,月租 18,600 元。臺北市...
AI 與科技新聞摘要 - 2026/09/06
合約上寫了、書面確認寄來了、版本更新到最新了、修補程式排在下個星期二。這幾樣東西有個共同點:它們都是別人給你的說法,不是你自己能去看的狀態。9 月 5 日這批新聞裡有五件事:一批該刪沒刪的客戶資料、一個等不到公告的漏洞、一家被自家產品打穿的開發工具廠商、兩間告上法院的報社,還有一支來台招商的印度代表團。 一、書面確認拿到了,資料還在硬體加密貨幣錢包廠商 Trezor 說,它的物流服務商 ShipMonk 發生的資料外洩事件,波及 67,000 名美國客戶。這個數字的口徑要先釘死:它是新增,不是總數。Trezor 上個月已經揭露過 13,689 名客戶的資料部分或全部外洩,這 6.7 萬是加在那之上的。外洩的欄位是姓名、電子郵件、電話、寄送地址與訂單編號,資料期間落在 2019 年 11 月到 2021 年 8 月。ShipMonk 是 2026 年 8 月 10 日才通知 Trezor 的。 Trezor 的說法裡最刺的一句跟外洩無關,跟刪除有關。它說自己依照合約、資料政策與過去的溝通,反覆要求刪除這批資料,而且拿到了書面確認,原話是「repeatedly requested a...
從 User-Agent 到簽章:拆開 Web Bot Auth 怎麼證明爬蟲身分
你架的站收到一個請求,User-Agent 上面寫著 ClaudeBot。你怎麼知道那真的是 ClaudeBot? 答案是你不知道。那行字是對方自己打上去的,一行 curl 就能填成任何值。robots.txt 那套「我叫某某某,請照規則對待我」的協議從第一天就建立在自律上:站方寫規則,bot 自己認領身分,中間沒有一步在驗證。IETF 的 use-cases 草案(draft-nottingham-webbotauth-use-cases-02,2026 年 4 月 1 日,11 頁)講得比我直白,談 User-Agent 那節寫「trivially spoofed」,談 robots.txt 比對那節又說一次「easily spoofable on the wire」。 第二條路是看 IP。可以,但同一份草案 §2.1 寫了代價:封掉一個 IP,會連帶封掉那個位址當下以及往後的所有用途。雲端 IP 是輪流用的,你今天封的那個,下週可能在某個真人手機上。 第三條是發共用 API key。這條的問題不用草案講你也知道。 IETF 那個叫 webbotauth 的工作組,章程狀態是...
那個只為了裝 schema 而存在的假工具,現在會回 400
工具清單裡那個工具,你自己知道它不是工具。 它的 description 寫著「用這個回報分析結果」,但你的程式從來沒有真的執行過它。它存在的唯一理由,是它有一個 input_schema 可以填,而模型呼叫工具時塞進 input 的東西,會長成合法 JSON。於是你加上這一行,逼它非呼叫不可: 1"tool_choice": {"type": "tool", "name": "get_weather"} 外面再包一層 while,json.loads 炸了就重送,重送三次還不行就寫個 log 認輸。這套組合這幾年是「叫模型吐 JSON」的標準答案。 在 Claude Fable 5.1 與 Claude Mythos 5.1 上,它現在直接回 400。 那幾招原本各自撐住一塊,現在有兩塊塌了官方〈Increase output consistency〉那頁列的舊工具箱其實一直很誠實:它教的招數沒有一招叫「保證」。第一招是在 prompt 裡把 JSON 形狀...














