Langfuse:把 Prompt Eval、Dataset、Trace 與成本監控放進同一個 LLM 工程閉環
Langfuse 官方文件把 prompt management 定義為集中儲存、版本化與擷取 prompt 的方式,而不是把 prompt 硬編在程式碼裡。它支援 versions 與 labels,可把 prompt 標到 production、staging、tenant 或 experiment。
實務意義:產品 / domain expert 可以改 prompt;工程端透過 SDK 取用指定版本,降低「小改 prompt 也要完整部署」的摩擦。
官方 evaluation docs 強調:eval 是可重複檢查 LLM 行為的方式,可以把 live traces 轉成 datasets,用 experiments 比較 prompt、model 或 code change,並結合人工評分、程式評分與 LLM-as-a-judge。
實務意義:模型升級、切模型、改 prompt 前,先跑固定資料集與評分規則,避免只看少數 demo case。
Langfuse tracing 會記錄 prompt、model response、token usage、latency、retrieval、embedding、API calls、tool actions 等結構化資料,並可把多輪對話歸為 sessions、追蹤 user。
實務意義:當 AI 產品出問題,不只知道「答案錯」,而是能追到是哪個 retrieval、tool call、prompt version、model call 或成本 / latency 異常。
為什麼 Langfuse 這類平台會變成 AI 產品基本盤
AI 產品裡的 prompt 其實接近設定檔、商業規則與產品邏輯的混合物。沒有版本、label、rollback 與環境分層時,團隊很快會不知道線上到底跑的是哪個版本。
換模型、調 temperature、改 retrieval chunk、加 tool call 都可能讓回答分布改變。固定 dataset + evaluator 可以把「感覺變好」變成可比較的分數與失敗案例。
傳統 log 通常只記 API request;LLM app 需要記更細:prompt、context、tool、retrieval、token、cost、latency、session、user feedback。否則客服、工程、產品都只能猜。
建議採用路線
| 階段 | 該做什麼 | 驗收問題 |
|---|---|---|
| 1. 先接 Trace | 把 LLM call、RAG、tool call、user/session、token/cost/latency 送進 Langfuse。 | 出錯時能不能重建一次完整請求鏈? |
| 2. 建 Dataset | 把真實失敗案例、邊界案例、VIP 客戶場景轉成 dataset。 | 每次改 prompt / 換模型前是否有固定測試集? |
| 3. 加 Evaluator | 先用人工標註與簡單規則,再補 LLM-as-a-judge。 | 分數是否能對應到實際產品風險,而不是只追漂亮指標? |
| 4. Prompt 版本化 | 把 prompt 從程式碼抽出,使用 version / label / environment 控制發布。 | 線上 prompt 能否 rollback?能否比較版本表現? |
| 5. CI/CD 化 | 把 dataset experiments 接進模型升級、prompt PR 或 release gate。 | 高風險變更是否會被 eval gate 擋下? |
自架與授權 caveat
- 開源與 self-host:Langfuse README 定位為 open source LLM engineering platform,官方 docs 也強調 open、self-hostable、extensible。
- 授權細節:README badge 顯示 MIT;但 LICENSE 檔同時說明 `ee/`、`web/src/ee/`、`worker/src/ee/` 等 enterprise 目錄若存在,依 `ee/LICENSE` 授權;商用自架前應確認實際使用功能是否落在 MIT 範圍。
- 資料敏感性:Trace 可能含 prompt、使用者輸入、檢索內容、工具輸出與內部資料。自架也要做 masking、retention、RBAC、SSO、audit logs 與資料刪除政策。
- LLM-as-a-judge 不是真理:適合做趨勢與初篩,但關鍵場景仍要有人類標註、golden dataset、規則 evaluator 或業務驗收。
- 成本追蹤要校準:Langfuse 可追 token / cost,但不同 provider、cached token、audio/image token、custom model 價格都需定期更新模型定價設定。