來玩個有趣的遊戲:你是技術長,而 AI 帳單剛剛寄到
Uber 在四月就把 2026 整年的 AI 編碼預算燒光了。技術長回頭重新規劃——不是因為工具不好,而是因為沒人能把任何一塊錢的 token 支出對應到任何一個交付出去的變更。代理本身沒問題,問題出在可見度這一層。本文說明這看起來是什麼樣子,以及當每一次代理會話都是一筆結構化紀錄、而不是滿螢幕滾過去的終端機畫面時,會有什麼改變。
來玩個有趣的遊戲。你是技術長。你給工程師發了一張沒有 帳單明細的信用卡,而現在信用卡公司想跟你聊一聊。Uber 的技術長上個月給這場對話加上了一個數字:整年的 AI 編碼 預算,到四月就沒了。有趣的地方不是帳單的大小,而是第 二句話——「我得回頭重新規劃,因為我原本以為夠用的預算 已經被燒光了。」把這句客氣的高階主管用語翻譯出來就是: 我們付了帳,我們完全清楚它花了多少錢,我們沒辦法告訴 你它買到了什麼,而我們想要停止這樣下去。
聽著,現代買軟體的方式,就是給工程師一個按 token 計費 的東西,叮嚀他們要節制使用,然後等。The Information 上個月報導 Uber 的技術長 Praveen Neppalli Naga 等了一陣子,然後發 現他 2026 整年的 AI 編碼預算到四月已經花完,就進度而言 這實在很有企圖心。公司內部的 Claude Code 使用量在一個 季度內幾乎翻倍;到了三月,84% 的 Uber 工程師被歸類為 代理式編碼使用者,恭喜他們。 每位工程師的支出 落在每月大約 $500 到 $2,000 之間,技術長本人則 在一次兩小時的個人示範裡燒掉 $1,200—— 這大概等於曼哈頓中城一家律師事務所初階律師的時薪,而後 者至少還會給你一張工時表。Uber 2025 年的整體研發開支是 34 億美元, 所以並不是他們沒有迴旋空間。是模型自己跑出去找了比他們 願意給的還多的空間,找到了,然後寄帳單來。
照理說一家做安全與隔離的公司在這時候會發的文章是「請用 沙箱」。這篇不是那種文章。我們 已經寫過那一篇 了,當然有寫。這篇是同一個問題的另一半,是帳單寄到了、 你看得懂上面的字,卻沒辦法回答唯一一個大家想問的問題 那一部分——好啊,可是這錢花在什麼上面。
帳單沒問題,帳單本身才是問題。
按席位計費以前真的很好理解,等到那個年代結束之後,你 就會開始懷念它。你買了 200 個 GitHub Copilot 席位、每 位 $19,每個月帳單上就有一條 $3,800 的明細,當有人問 「我們花這筆錢換到了什麼」,答案是一個跟整個產業同形狀 的聳肩——「大概是 tab 自動補全吧」——然後大家就回去開 會了。聳肩這東西的好處是它可以規模化。$3,800 的聳肩沒 問題,$1.8M 的聳肩就會開始引起大樓裡某些有受託責任的人 的注意。
按 token 計費的代理式工具是另一個形狀,得用整張臉去想 這件事。同一個團隊裡兩位工程師,做同一類功能,支出可以 差到四十倍。(四十倍。)其中一位開一個全新會話,問一件 事,拿到結果,關掉會話——$50,搞定,下班回家煮義大利 麵。另一位則讓一群平行代理對著一個重構打了六小時,建置 壞了就重試,因為另一個模型覺得第一次重試是錯的所以再重 試,第三次重試是因為事情已經變成個人恩怨。兩位都交付了 程式碼。一位用了 $50 的模型時間交付,另一位用了 $2,000 交付。帳單不會告訴你誰是誰,IDE 不會告訴你誰是誰。財務 拿到一個彙總數字,工程部門拿到一條 Slack 訊息寫著 「Claude was amazing today」,恕我直言,這兩個東西 都不是量測。
讓這件事困難的不是價格,而是這些花費沒有一筆是附著 在任何你一季之後可以稽核的東西上。於是某個 PR 合進去 了,PR 有 diff,diff 有 commit,commit 有作者。作者是 人。人在某個時間點用了代理——也許吧。用的是哪個代理? 哪一次會話?哪一段提示詞?多久?做了什麼?線索大概在終 端機 scrollback 那邊就斷了,因為那個終端機已經被關掉 了,因為沒人會去往回捲。財務界對這種東西有個名字,叫做 「shrinkage」(耗損),雖然在軟體業我們還沒費心去給它 取個名字。
不管怎樣,這個問題的形狀比代理式編碼還老,如果你在這個 產業待夠久夠累,你會一眼就認出來。雲端支出走過同樣的弧 線:五年「AWS 帳單超大但沒人知道為什麼」,然後一整代 FinOps 工具開始把每一塊錢綁回團隊、服務和個別請求,現 在 AWS 帳單還是超大,但大家知道為什麼了——聽起來樸實, 但這就是整場遊戲的全部。修正辦法不是少用 AWS,而是讓花 費變得可讀。
代理式編碼現在處於 FinOps 之前的雲端時代。錢是真實的, 工具是好的,生產力是真實存在的——這些都沒人爭議。缺的 是把「這位工程師、在這個倉庫、在這個會話」和「這些 token、這些命令、這些檔案、這個 PR」連起來的那層結締組 織。在這句話成立之前,帳單上的每一塊錢都是憑信念付的, 你跟財務長的那次對話,就會是那種對話。
「可見度」必須是什麼意思——超越那個寫著一個大數字的儀表板。
每個人都說「可觀測性」,每個人都點頭,幾乎沒有人指的是 同一件事。編碼代理供應商會很樂意秀給你看一個儀表板。儀 表板上有 token 計量器,有採用率百分比,有一張準備好放 進簡報、向右上角延伸的圖,這是 2026 年所有軟體的標準圖 形。這些都不是答案。「你的開發者這週消耗了 23 億個輸入 token」不是答案,那只是把帳單用更大的字體重講一遍。
技術長真正需要的東西——好讓他能守住預算或爭取更多 ——由四個部分組成。
可以放上簡報的採用率
這週實際使用編碼代理的工程師有幾位?用了多久?在 哪些專案、哪些倉庫上?不是發出去的席位授權,不是 持有 API 金鑰的人,不是「報名參加計畫」的人——而 是由真人發起、針對組織叫得出名字的對象所進行的會 話。
代理碰過的每一個檔案
依會話、依倉庫、依工程師——AI 代理建立、修改或刪 除過的精確檔案集合,包括 diff,與啟動會話的工程師 及所使用的模型綁定。工作的單位是「一次檔案變動」, 不是「一個 token」。token 是供應商向你收費的方 式,檔案才是你必須交付的東西。
每個命令、每個來源
代理在會話內執行的每一個 shell 命令、讀過的每一個 檔案、呼叫過的每一個工具、打過的每一個 API。即時 擷取、集中保存、可依團隊、倉庫、模型查詢。「代理 昨天裝了什麼?」變成一句查詢,而不是用手電筒帶著 一位資淺 SRE 進行考古挖掘。
完整對話、永久封存
提示詞、模型回應、工具呼叫——整段逐字紀錄。儲存 在某個穩定的地方。可供安全團隊審視,可供工程主管 抽樣,可匯出到你已經在用於電子郵件與聊天的同一個 保留封存庫。會話現在是一筆紀錄,不再是某個人曾經 打過某些字的回憶。
注意一下這份清單上沒有什麼。Token 計數不在這份清單 上,它在帳單上。這份清單的重點是把帳單擺在它買到的東 西旁邊,這樣財務團隊可以做除法,工程團隊可以停止憑感覺 吵架,所有人可以把會議花在真正該談的問題上。
Bromure 怎麼做這條管線。
Bromure 的代理式編碼功能,坦白說最 早是為了這場對話的安全那一半而打造的。每個編碼代理都在 你 Mac 上一個用過即丟的 Linux VM 裡執行。這個 VM 只能 存取你掛載進去的專案資料夾;它沒有 SSH 金鑰、沒有 AWS 憑證、磁碟上沒有 GitHub token。主機上的憑證代管程式會 在傳輸層把假 token 換成真的,而且只在連線時、只對白名 單上的端點這麼做。這個故事我們 已經講過, 裡頭有一個被下毒的 npm 套件想偷走你的密鑰,結果一頭撞 上了牆。
可觀測性的故事是同一條管線,只是被拿來做另一件事。Hypervisor 坐在代理跟它接觸的所有東西中間。代理沒辦法自己打開檔 案;是 VM 在開。代理沒辦法自己執行 shell 命令;是 VM 在執行。代理沒辦法自己打 API;是主機上的代理伺服器 在打。每一個這些操作——本來就必須,因為這份工作的安 全那一半要求如此——都是一個有名稱的事件,帶有時間戳、 session ID、工程師身分、和負載內容。Bromure 已經在本地 記錄這些全部了。它叫做 Session Tracer,今天就隨 Agentic Coding 一起出貨。
把這個閉環收起來、對技術長(還有財務長、資安長,以及那 位想知道自己採購了什麼的採購人員)有用的,是雲端那一 半。當開發者 Mac 上的 Bromure 用戶端被納入你的組織後, 那些本地軌跡就不再只是本地除錯工具,而是變成串流到你的 Bromure 企業伺服器上的結構化紀錄。依工程師、依會話、依 專案、依模型。可篩選、可匯出、可保留。 agentic coding 頁面上的產品文案把這 功能稱為「AI usage monitoring」,目前標示為「即將推 出」——為了避免誤會,這篇文章本身就是它即將推出的部分 理由。
事件之所以可靠,不是因為代理內部有個 sidecar,也不是因 為模型 API 上有個包裝層,這兩種方式只要代理想繞,原則 上都可以繞過去。事件可靠是因為代理是跑在 VM 裡的,而那 個 VM 的 hypervisor 不管有沒有人要求它,都得知道每一個 命令和每一個檔案。某種意義上,可觀測性是免費的。你已經 付過錢了。帳單上寫的是「隔離」,你拿到的東西同時也是一 份日誌。於是不管工程師用的是 Claude Code、CLI 模式下的 Cursor、Codex、Aider、還是某個我們沒聽過的內部代理—— 你都得到同樣的紀錄,因為記錄的單位是「VM 做了什麼」, 不是「供應商這一季決定要曝露什麼」。
一季之後的對話會變成什麼樣子。
Uber 的那個數字拿來思考很有用,因為這件事沒有任何一部 分是失敗。84% 採用率,程式碼有交付,技術長親自捲起袖 子用了這玩意——順帶一提,更多技術長應該這麼做,就算一 次示範要 $1,200。壞掉的是一季之後的那場對話。「我們該 加碼嗎?縮手嗎?席位分級嗎?把某幾類工作的人推去用便宜 模型嗎?」這些決定沒有一個能從彙總後的 token 帳單裡做 出來,但是用一張依工程師、依會話、依倉庫的表,這些決定 完全可以做。決策本身並沒有變難,是那張表被拿走了。
底下是幾個會變得可以回答的問題,大致按照我們從那些想守 住預算明細的人那邊聽到的順序:
- 哪些工程師獲得了超額的價值?他們做了什麼不一樣的 事? 看看那些「支出對檔案變動比」落在分布好的那一 角的工程師,讀幾段他們的會話軌跡。他們做得好的有些是 風格,有些是技巧,有些只是他們選擇用哪個模型。沒有那 份紀錄,這些都看不出來。(「Alice 怎麼能花這麼少錢就 交付這麼多程式碼」是會產出有用內部技術分享的那類問 題——但前提是 Alice 的會話不是某處一個已經關掉的終端 機。)
- 支出是不是集中在某個團隊、某個倉庫、某種工作上? 如果你 AI 帳單的 60% 來自一個老舊服務,而且代理大部 分時間都在跟不穩定的測試纏鬥,那就是一個發現。它同時 也不是關於 AI 的發現。
- 哪些專案搭配哪個模型最有產能? 「Claude 比 Cursor 好」是一則推文。「上個月 Claude 在我們前端倉庫上每元 交付的檔案變動數是 Cursor 的三倍,但在我們的 Go 服務 上情況相反」是一場採購對話。
- 代理裝了什麼?裝在哪裡? 這是安全團隊的問題,而
且是針對同一張表的同一條查詢。代理執行過的每一次
npm install、每一次pip install、每一次apt-get,依會話、依倉庫,可依套件名稱篩選。等到某天 有個被下毒的套件出現在 registry 上——這對著行事曆上絕 大多數的禮拜揮揮手——「我們有沒有任何代理碰過這個」就 變成一個WHERE子句,而不是一次救火演習。
值得小心的地方是:這些問題從模型供應商的儀表板裡也都答 不出來,而且本來就不可能答得出來。供應商看得到 token, 供應商有時候看得到單次請求期間的提示詞和回應。供應商看 不到你的倉庫、你的檔案變動、你的 shell 命令,也看不到 你組織裡哪位工程師打了什麼。供應商辦不到,供應商站在線 路的另一邊。可見度這一層必須住在你這邊——在開發者的機 器上、在 VM 裡、在你的企業伺服器上——因為工作實際發生 的地方就在那裡。Token 計量器只是一張從前線寄回來的明信 片。
一些免責聲明,當然了。
幾個誠實的,因為這類文章最糟的版本就是承諾一份歷史終結 版的財務報告,然後交出一個儀表板。
Bromure 的紀錄告訴你代理做了什麼,沒辦法告訴你代理做 的事好不好。一場寫了 40 個檔案、交付一個 PR 的會話, 仍然可能交付了 40 個爛檔案。紀錄讓那些檔案更容易被找 到、更容易被討論、更容易被回滾。它本身不會幫你審查那些 檔案。Diff 審查還是你的責任,是循環裡那個人類的責任, 是那位在下午 5 點已經很累的資深工程師的責任。
Bromure 的紀錄涵蓋代理在 VM 裡做的事,不涵蓋工程師在打 開代理之前腦袋裡進行的事。工程師在 IDE 裡和 Claude 進 行的那五分鐘對話、發生在真正的會話開始之前,那段不在這 卷帶子上。那是一個真實的空白。我們不假裝能填補它,因為 要填補它就得做一個怪很多的產品。
Bromure 的紀錄在你這側的線路上,這正是重點——但這也意 味著保留政策、存取控制、資料處理合約都得住在你這側的 線路上。提示詞裡有程式碼,程式碼裡有你的開發者本來不應 該貼進去、但絕對貼進去了的密鑰。紀錄跟工作一樣敏感,你 應該以同樣的方式看待它。儲存是你的,責任也是你的。 (「財務界對這種東西有個名字,叫做『shrinkage』」,只是 現在這個耗損是一張 SQL 表,你可以稽核它。)
最後,這只是一個更大故事的其中一塊。另一塊我們已經寫過 了——把編碼代理跑在一個有憑證代管的 VM 裡,就是你阻止 下一個被下毒的 npm 套件帶走你 SSH 金鑰的方式。安全的故 事和可觀測性的故事是同一條管線,只是它們在不同的日子裡 報銷費用。
付這張帳單。但要在知道它買到什麼的前提下付。
Uber 那句話——I'm back to the drawing board because the budget I thought I would need is blown away already—— 今年將會是很多技術長都會講的台詞。本來就一定會。按 token 計費的工具,胃口的上限只取決於模型在下午 2 點覺 得自己有多有企圖心,那麼任何採用它而沒有裝設量測的公 司,都會生出這句話。代理不是問題,管線才是。
Bromure Agentic Coding,不情願地, 就是這條管線在好好做自己工作時的樣子。每個代理跑在自己 的 VM 裡,每場會話都是一筆結構化紀錄,每筆紀錄都串流到 一個你財務團隊和資安長都能查詢的地方,而你已經喜歡的那 些代理一切如舊。你還是會付這張帳單,你只是終於會知道它 買到了什麼——上次有人查的時候,這是信用卡公司對它的客 戶最起碼的要求。