LLM 生產監控完全指南:用 Langfuse 追蹤 AI Agent 帳單、品質與幻覺(2026)
你的 AI agent 上線了,功能運作正常,用戶開始增加——然後月底帳單來了。試點階段 $500/月看起來合理,但上線後變成 $15,000/月,你完全不知道是哪個功能在燒錢。更糟的是,用戶反映 AI 回答「很奇怪」,但你連問題出在哪個步驟都說不上來。這不是你一個人的問題——這是每個把 AI 推上生產環境的開發者都會撞到的牆。
TL;DR:AI agent 帳單爆炸(5-30x)和幻覺無從定位是生產環境兩大痛點。Langfuse(MIT 開源、免費 50K events/月)提供三階段解法:帳單控管 → 品質追蹤 → 幻覺偵測。最快路徑:AgentGateway 零代碼接入,10 分鐘完成。
為什麼你的 AI 帳單比試點高出 30 倍?
我們 Shareuhack 自己跑 AI agent fleet——events system、memory tracking、session logs 全套。根據實際運作經驗,agent 模式的 token 消耗和標準 chatbot 是完全不同量級的事情。
原因很直觀:一個 agentic 任務涉及多輪推理、工具呼叫、結果驗證,token 消耗是標準 chatbot 的 5-30 倍。再加上 RAG 的「context tax」——每次查詢附帶大量檢索文件,token 計數直接膨脹。
真實案例不缺:2026 年 3 月有開發者收到 $82K 的 Gemini API 帳單(The Register 報導),試點到生產的 30 倍帳單爆炸已經是產業常態。Datadog 2026 年報告也確認:5% 的 LLM call spans 出錯,其中 60% 由速率限制引起——你的帳單不只是 token 問題,還有錯誤重試造成的隱性成本。
問題的核心不是 API 太貴,而是你沒有 per-feature breakdown,無法回答「是哪個功能在燒錢?」這個最基本的問題。
LLM Observability 和一般 APM 監控有什麼不同?
如果你已經在用 Datadog 或 New Relic 監控基礎設施,你可能會想「加個 log 就好了」。但 LLM observability 追蹤的維度完全不同:
- APM 追蹤基礎設施:CPU、記憶體、回應時間、錯誤率
- LLM observability 追蹤推理品質:token 分佈、reasoning quality、幻覺率、工具選擇品質
核心概念是 span——LLM agent 的「思考步驟」追蹤單位。如果你熟悉 distributed tracing(Jaeger、Zipkin),span 的概念一樣:每個 LLM 呼叫、每次工具調用、每個 retrieval 步驟都是一個 span,串起來就是完整的 trace。
LLM observability 的三個維度:
- Cost(成本):哪個功能花最多錢?每個用戶的 token 消耗多少?
- Quality(品質):回答的忠實度(faithfulness)、相關性(relevance)如何?
- Reliability(可靠性):幻覺率、錯誤率、延遲分佈
這三個維度的交叉分析,才是 LLM 生產環境需要的監控能力——不是 log 能解決的。
Langfuse 在 2026 的市場地位:為什麼是現在?
2026 年 1 月 16 日,ClickHouse 以 $400M Series D 融資同期收購了 Langfuse。這不只是一筆交易——它改變了 LLM observability 市場的競爭格局。
收購後的關鍵承諾:
- MIT 授權維持不變:不新增定價門檻、不鎖定功能
- 免費層業界最慷慨:50,000 units/月、30 天資料保留、2 位用戶
- ClickHouse 分析引擎加持:大規模 trace 查詢效能大幅提升
對比 LangSmith:免費層只有 5,000 traces/月(Langfuse 的 1/10)、14 天資料保留(Langfuse 的一半)。Langfuse 在 GitHub 上有 47K+ stars,社群正從 LangSmith 遷移的趨勢明顯——現在是投入 Langfuse 門檻最低的時間點。
三大競品選型:Langfuse vs LangSmith vs AgentOps
| 維度 | Langfuse | LangSmith | AgentOps |
|---|---|---|---|
| 授權 | MIT 開源 | 商業(部分開源) | 商業 |
| 免費層 | 50K units/月 | 5K traces/月 | 有限免費 |
| 資料保留 | 30 天(免費)/ 90 天(Core) | 14 天(免費) | 依方案 |
| 框架綁定 | 無(OpenAI/Anthropic/任何框架) | 偏向 LangChain | 純 agent 場景 |
| 自架選項 | 完整支援(Docker) | 不支援 | 不支援 |
| 核心強項 | 成本追蹤 + eval + tracing 全面 | LangChain 深度整合 | session replay |
選型建議:
- 已深度綁定 LangChain → LangSmith 的整合體驗最無縫
- 純 agent 場景、需要 session replay → AgentOps 更專注
- 其他所有情況 → Langfuse 是最安全的選擇:框架無關、自架可能、免費層最大、MIT 授權保障 fork 自由
10 分鐘接入:零代碼路徑 vs SDK 路徑
路徑一:AgentGateway 零代碼接入
AgentGateway(Solo.io 2026-02 發佈)作為 LLM 代理層,統一攔截所有 LLM 呼叫並自動送到 Langfuse——不修改任何應用程式碼。適合不想改動現有代碼的團隊,或 no-code/low-code 開發者。
路徑二:SDK 直接接入(2-5 行代碼)
from langfuse.decorators import observe
@observe()
def my_llm_function(user_input: str):
# 你的現有 LLM 呼叫邏輯完全不變
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": user_input}]
)
return response.choices[0].message.content
加上 @observe() 裝飾器,Langfuse 自動追蹤 token 用量、延遲、成本。環境變數設定 LANGFUSE_PUBLIC_KEY 和 LANGFUSE_SECRET_KEY 即可。
路徑三:LangChain/LlamaIndex callback
from langfuse.callback import CallbackHandler
handler = CallbackHandler()
# 加到你的 chain 裡
chain.invoke({"input": "..."}, config={"callbacks": [handler]})
接入完成後,到 Langfuse Dashboard 確認第一條 trace 出現——這就是你的 LLM observability 起點。
Phase 1 — 帳單控管:找出哪個功能在燒錢
這是最優先的階段。你需要回答一個問題:哪個功能花最多錢?
設定有語意的 trace
@observe()
def generate_summary(user_id: str, document: str):
langfuse.trace(
name="summary-generation",
user_id=user_id,
session_id=f"session-{user_id}",
metadata={"feature": "summarize", "doc_length": len(document)}
)
# ... LLM 呼叫
關鍵是 user_id、session_id、metadata 三個欄位——讓每條 trace 有語意,而不只是一堆匿名的 API 呼叫記錄。
建立成本警報
最佳實踐:週環比成長 >20% 即觸發調查。不需要精密的告警系統,一個每週跑一次的成本報表就夠了。
實際案例:我們在追蹤中發現某個「潤稿」功能的輸出 token 是其他功能的 8 倍——因為 prompt 要求「完整重寫」而非「修改建議」。調整 prompt 後,該功能成本降低 60%。
重要:輸出 token 通常是帳單的主要驅動因子(輸出比輸入貴 3-4 倍)。先看輸出 token 分佈,再決定優化方向。
Phase 2 — 品質追蹤:LLM-as-Judge 自動評分
人工抽檢能覆蓋的樣本不到 1%,對生產環境毫無意義。你需要自動化的品質評估。
LLM-as-Judge 設置步驟
- 定義評分標準(rubric):忠實度、相關性、完整性,每項 0-1 分
- 選擇評分模型:用較便宜的模型(如 GPT-4o-mini)當 judge,成本只有被評估呼叫的 1/10
- 跑批次 eval:Langfuse 的 Datasets 功能讓你建立 golden dataset,設定基準答案
關鍵指標
- Faithfulness(忠實度):回答是否基於提供的 context?
- Relevance(相關性):回答是否直接回應用戶問題?
- Tool Selection Quality:agent 是否選對了工具?
設定品質門檻
eval 分數 <0.7 的 trace 自動標記為需要人工檢視。這不是完美方案,但把人工抽檢的注意力從「隨機抽」集中到「問題最大的 trace」。
Langfuse 的 Datasets 功能還能做回歸測試:每次改 prompt 前,跑一次 golden dataset eval,確保品質沒有退化。
Phase 3 — 幻覺偵測:用 span tracing 精確定位問題
幻覺是 AI 生產環境最難處理的問題,因為它不會丟 error——系統看起來正常運作,但輸出是錯的。
幻覺的 span 級分析
一個 RAG 查詢的 trace 包含三層 span:
- Retrieval span:從向量資料庫取回文件
- Generation span:LLM 根據取回的文件生成回答
- Post-processing span:格式化、安全過濾
幻覺可能在任何一層發生,你需要知道是哪一層。
兩個診斷模式
根據 Datadog LLM Observability 的實務經驗,有兩個明確的診斷模式:
- 延遲上升 + grounding score 下降 = retrieval 退化。通常是 chunk size 設定問題、embedding 模型變更、或索引過時。解法:調整 retrieval 參數。
- 延遲穩定 + 幻覺率上升 = prompt 或 model 變更引起。通常是模型更新後行為改變、或 prompt 漂移。解法:鎖定模型版本、回滾 prompt。
用 Langfuse 的 Scores 功能標記每個 span 的幻覺分數,就能在 Dashboard 追蹤趨勢——從「最近幻覺變多了」變成「retrieval span 的 grounding score 從 0.85 降到 0.6,是上週更新索引後發生的」。
Self-host vs Langfuse Cloud:什麼情境選哪個?
選 Cloud 的情況
- 團隊 <5 人、不想維護基礎設施
- 月用量在 100K units 以內
- 想要最快拿到新功能
Cloud 定價:Hobby 免費(50K units)、Core $29/月(100K units、90 天保留、無限用戶)。
選 Self-host 的情況
- 資料合規需求(GDPR、個資法)
- 需要超過 30 天的資料保留
- 月用量超過 100K units,想控制成本
Self-host 需要 Docker + PostgreSQL。小規模部署一台 VPS($10-20/月)就夠,比 Cloud Core 還便宜。ClickHouse 收購後,self-host 版本的查詢效能也受益於 ClickHouse 引擎。
台灣 indie maker 建議:初期用 Cloud 免費層,驗證 observability 價值後再評估。月用量超過 50K units 時,比較 Core $29/月 vs self-host VPS 成本,選比較划算的。
風險與現實考量
ClickHouse 收購後的依賴風險
MIT 授權確保你隨時可以 fork,但 Langfuse 的產品方向會受 ClickHouse 決策影響。如果你深度依賴 Langfuse Cloud,建議定期匯出 trace 資料。Self-host 使用者的風險最低。
Observability 本身的成本
每個 trace 增加少量延遲(通常 <5ms),在生產環境可能有感。如果你的 P99 延遲要求很嚴格,建議在非同步模式下運行 Langfuse SDK(這是預設行為,trace 資料在背景發送)。
資料安全
Langfuse Cloud 資料存放在歐洲(AWS eu-west-1),符合 GDPR。如果你的用戶資料有台灣個資法合規需求,self-host 是更安全的選擇。
學習曲線
Span tracing 需要理解 distributed tracing 概念。如果團隊沒有相關經驗,建議從 Phase 1(成本追蹤)開始,不要跳到 Phase 3。
結論:你開的不只是 AI 產品
「AI 功能可以跑」和「AI 產品可以營運」之間的差距,就是 observability。沒有監控的 AI 產品,就像沒有儀表板的車——能開,但你不知道油還有多少、引擎溫度正不正常。
今天就做三件事:
- 註冊 Langfuse Cloud 免費帳號(或用
@observe()裝飾器接入) - 找到你最貴的 3 個 feature(Phase 1 帳單控管)
- 設定週環比 >20% 的成本警報
如果你還在評估 AI API 選型和成本控制,可以參考我們的 2026 AI API 成本完整試算指南。
FAQ
Langfuse 的 50K units/月是「50K API calls」嗎?怎麼計算?
不完全是。Langfuse 的 unit 是 observation(一個 span 或一次 LLM call),不是 API request。一個簡單的 LLM 呼叫 = 1 unit;一個包含 retrieval + reranking + generation 的 RAG pipeline = 3-5 units。所以 50K units 大約等於 25,000 次簡單呼叫,或 8,000-10,000 次 RAG 查詢。超過上限後追蹤會暫停,不會收費。
如何用 Langfuse 追蹤每個用戶的 token 消耗做 user-level billing breakdown?
在 trace 建立時傳入 user_id 參數即可。Langfuse 的 Dashboard 內建 user-level 成本匯總,你可以在 Analytics 頁面直接看到每個用戶的 token 消耗和成本分佈,不需要額外程式碼。搭配 session_id 還能追蹤單次對話的完整成本。
已在用 LangChain,切換到 Langfuse 需要大幅改寫程式碼嗎?
不需要。Langfuse 提供 LangChain callback handler,只需要加一行 callback 設定就能開始追蹤。如果你同時使用非 LangChain 的 LLM 呼叫,可以用 @observe() 裝飾器追蹤。兩種方式可以並存,不需要改動現有的 LangChain chain 邏輯。
Langfuse 被 ClickHouse 收購後,MIT 授權有沒有影響?自架還安全嗎?
ClickHouse 2026-01 收購後明確承諾:MIT 授權維持不變、不新增定價門檻、不鎖定功能。自架版本完全可用,且因為 ClickHouse 的分析引擎支撐,大規模查詢效能反而提升。如果擔心未來風險,MIT 授權保證你隨時可以 fork,這是比其他商業授權工具更強的保障。
AI agent 同時用了 OpenAI + Anthropic + Gemini,Langfuse 能統一追蹤嗎?
可以。Langfuse 是框架無關的,支援 OpenAI SDK、Anthropic SDK、Google GenAI SDK 的原生整合。你可以在同一個 Dashboard 比較不同供應商的 cost/latency/quality,看到「Claude 在這個任務花 $0.03 但品質 0.9,GPT-4o 花 $0.05 但品質 0.85」這種跨供應商比較。這是綁定特定生態系的 LangSmith 較難做到的。
