昨天老馮發(fā)了條推特:“做了個 Claude Code Grafana Dashboard ,研究下它是怎么做決策,用工具,調(diào) API 花錢的。”結(jié)果發(fā)現(xiàn)非常多的用戶都對這個主題感興趣。
![]()
![]()
這是我沒想到的。所以今天來聊一聊那就是 Claude Code 的可觀測性。
老馮的想法其實非常簡單 —— 我也挺好奇這個 Claude Code 內(nèi)部到底是怎么工作的。雖然 Claude Code 不開源(),但你其實可以通過它的監(jiān)控指標和日志,分析出它的大概工作原理。
![]()
Claude Code 提供 OTEL 格式的指標和日志,而且配置起來其實挺簡單的。你只要指定幾個環(huán)境變量,就可以讓它主動推送到支持 OTEL 的監(jiān)控系統(tǒng)里面去,然后用 Grafana 進行可視化。
![]()
這里的難點其實在于:我去哪找這么一個監(jiān)控系統(tǒng)和 Grafana 呢?后來我看見這么多人都有需求,就干脆做一個開箱即用的配置模板。你只要找一臺 Linux 服務(wù)器,運行幾行命令把這個東西拉起來,它就會自帶一個 Claude Code 的環(huán)境,所有東西都幫你配好了(包括監(jiān)控這些)。你也可以直接把自己的 Claude Code 監(jiān)控給接進去。
![]()
實際上,如果你已經(jīng)會用 Claude Code 的話,并不需要了解太多細節(jié)。你只要告訴它有這么個東西、能干這么個事,并給它準備一臺虛擬機,剩下的事它都應(yīng)該能幫你自動干好。我看有人評論留言就是這么說的。哈哈!
![]()
監(jiān)控事件說明
這個監(jiān)控面板其實很樸素:上方可以選擇會話(Session ID),選擇之后,下方會列出各種各樣的事件。你可以通過拖動來查看在處理任務(wù)的過程中都產(chǎn)生了哪些事件。
目前最主要的事件分為以下四大類:
1.User Prompt:你對它說了什么,或者給了什么提示詞2.API Request:調(diào)用 API 的請求3.Tool Decision:系統(tǒng)決定使用什么工具4.Tool Result:工具返回的具體結(jié)果
每個事件都有一些對應(yīng)的字段。大體上,只要看一眼這個面板,就能明白整個任務(wù)的處理流程是怎么一回事了。
舉個例子,最簡單的事件就是 User Prompt,你給 CC 發(fā)一條信息,就會有一個這個事件:
![]()
User Prompt 事件之后,通常是 API Request,也就是調(diào)用 API 模型。這里會有一個 model 字段 —— Claude 是區(qū)分了快速模型和高質(zhì)量模型的,這里我用的是 GLM 4.7 作為例子,有些簡單快速的請求,是 4.5-air 來處理的。
然后 API Request 事件會有幾個核心字段:Cost,就是開銷,然后是四個 Token 指標。Token.In/Out 就是輸入,輸出的 Token,Token Cache Read 則是緩存命中的指標。
![]()
API Request 完成之后,通常會有一個 Tool Decision 事件,也就是模型進行了決策,用什么樣的工具。這里比如說就有 Bash,Read,Write,Search 等各種各樣的 Tool,然后會有一個 Decision Source / Result,也就是根據(jù)什么標準(配置文件/詢問用戶/……),選擇 “批準” / “拒絕”。
Tool Decision 事件之后,就是 Tool Restult 事件了。這是調(diào)用工具的關(guān)鍵事件,關(guān)鍵字段包括 —— Tool 的命令,說明,錯誤,參數(shù),UseID,成功與否等等……
![]()
其實還有一些其他類型的事件,但是最主要的事件類型就是上面這四類。關(guān)于更多細節(jié):可以參考 Claude Code 的監(jiān)控文檔: https://code.claude.com/docs/en/monitoring-usage
沙箱環(huán)境
當然,老馮也知道“授人以漁不如授人以魚” ,但光說原理沒用,干脆就直接把東西做好給你算了。所以我做了一個開箱即用的沙箱環(huán)境,里面就包含了一套完整的開箱即用的 Vicotira 監(jiān)控系統(tǒng)與 Grafana 監(jiān)控大盤,隨便找臺 1C2G 的Linux 虛擬機幾分鐘就裝好了。
這個沙箱除了監(jiān)控 Claude Code ,還可以干很多有趣的事情。最主要的是,它已經(jīng)替你配置好了常用的 Web Coding 工具 Claude Code,VS Code,Open Code。里面自帶一個 PostgreSQL 和 Nginx,所以如果你需要一個云服務(wù)器開發(fā)環(huán)境,也可以試一試。
![]()
你也可以在這里直接使用不用翻墻的 GLM 模型,多配置一行參數(shù)就好了。關(guān)于Claude Code最美妙的就是:既然你都已經(jīng)用它了,那你大概也不需要操心這些細節(jié)都是怎么弄的,直接動嘴讓它自己去 VIBE 自己就好了
![]()
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.