
Langfuse:看清線上 AI 聊天機器人在做什麼
發佈於:
閱讀時間: 3 min
主題: 技術
作者: Leandro Valencia
AI 聊天機器人會回覆,你卻分不清對不對。本文說明 LLM 可觀測性是什麼,以及開源 Langfuse 如何記下提示詞、token 和延遲,把成本、錯誤和品質看清楚。
目錄
週一,客戶來信:“機器人跟一位顧客說包郵。其實不包郵。”你開啟後臺,對話看得到。看不到的,是它為什麼會這麼答。
當時生效的是哪版提示詞?檢索塞進來的是哪些文件?是模型的問題,是上下文的問題,還是有人週五改完就發出去了?缺了這些,所謂修復就是猜。
給公司做聊天機器人和 WhatsApp 流程時,這一幕會反覆出現。寫 AI 的文章幾乎都在教你怎麼把機器人做出來。很少有人教:真客戶開始跟它說話之後,怎麼看清它在幹什麼。如果這條流程你還在搭,上一篇是如何把流程變成聊天機器人。這篇講的是上線之後。
AI 機器人的三種無聲故障
傳統機器人壞起來很響:崩潰、報錯,總會有人看見。AI 機器人壞起來很安靜,因為它總會吐出一句回答。生產裡最常見的,是這三種:
- 聽著像對的,其實是錯的。 模型可以非常篤定地編出一個價格、一條政策或一張時間表。沒人發覺,直到客戶來投訴。
- 費用往上跳,卻看不出原因。 對話歷史不限長度地漲,或者智慧體內部打轉,API 帳單就能翻倍。發票月底才到,那時已經沒什麼可砍的了。
- 提示詞變差了,沒人說得清。 你改提示詞,想修好一個例子,結果另外三個壞了。沒有可以對照的版本,最後是使用者來告訴你。
三件事,原因是同一個。問題不只在模型。問題是你看不見裡面發生了什麼。
什麼是 LLM 可觀測性
可以把它想成飛機上的黑匣子。它阻止不了事故,但能讓你一步一步還原當時發生了什麼。LLM 可觀測性對機器人做的就是這件事:把每次對話的每一步存下來,方便事後回看。
每次互動存成一條 trace。“包郵嗎?”這樣一條問題,看起來會是這樣:
- Trace: 客戶發來的 WhatsApp 訊息(1.8 秒 · 0.004 美元)
- 知識庫檢索:它找到的文件
- 模型呼叫:完整的提示詞和它的版本、回覆,以及 token
- 發給使用者的那條回覆
有了這些,包郵這件事幾分鐘就能查清。你會看到檢索帶回一條已經過期的促銷,模型卻把它當成仍有效。你不用再猜。你知道該改哪裡。
如果你是從營銷過來的,這就是對話的分析:誰問了什麼、花了多少錢、效果怎麼樣。
Langfuse 管哪些事
Langfuse 是一個採用 MIT 許可證的開源平台,用來追蹤、評估並改進那些呼叫語言模型的應用。上面每一種故障,都有一項能力對著它。
| 能力 | 它做什麼 | 對著哪種故障 |
|---|---|---|
| 追蹤 | 記下每次對話的每一步,帶上成本和延遲 | “不知道它為什麼這麼答” |
| 提示詞管理 | 給提示詞做版本,並能退回較早的一版 | “提示詞變差了,我不知道是什麼時候” |
| 評估 | 用另一個模型、用規則,或由人來複核,給回覆打分 | “聽著對,其實是錯的” |
| 實驗 | 上線前,拿真實案例去測新的提示詞或新模型 | “修好一個,弄壞了三個” |
| 儀表板 | 成本、延遲和品質隨時間怎麼變,並可告警 | “帳單翻倍了” |
它能接上 OpenAI、Anthropic、Google、LangChain、Vercel AI SDK、CrewAI、n8n,以及任何支援 OpenTelemetry 的技術棧。定價頁上列著 Canva、Khan Academy、Hugging Face 這些團隊。
2026 年 1 月 16 日,ClickHouse 收購了 Langfuse。專案繼續開源,也可以自己託管,許可證仍是原來的 MIT。公告裡,ClickHouse 稱該專案在 2025 年底的 GitHub 星標超過 20,000。這次收購不改變本指南:雲端的端點照舊,埋點程式碼接雲端還是接你自己的伺服器,寫法一樣。
費用怎麼算
| 方案 | 價格 | 包含的用量 | 保留時間 |
|---|---|---|---|
| Hobby | 免費 | 每月 50,000 個單位,2 個使用者 | 30 天 |
| Core | 29 美元/月 | 每月 100,000 個單位,使用者不限 | 90 天 |
| Pro | 199 美元/月 | 每月 100,000 個單位,使用者不限 | 3 年 |
| 自託管 | 免費(伺服器自付) | 平台不設上限 | 由你設定 |
價格來自官方頁面,核對於 2026 年 10 月。Hobby 沒有額外單位:額度一用完,這個方案就到頭。Core 和 Pro 包含前 100,000 個單位,超出部分按檔計費,從每 100,000 個單位 8 美元起。一個單位就是一個追蹤資料點:這條 trace、其中的每一步,以及每一次評估。
拿來試,Hobby 就夠。建立專案時選定區域。雲端把資料放在美國、歐盟或日本,基礎 URL 會隨這個選擇改變。
十分鐘拿到第一條 trace
最快上手的,是一個已經在用 OpenAI 的 Python 機器人。如果你用的是 n8n、LangChain 或其他工具,思路一樣,細節在整合指南裡。
- 建立帳號。 開啟 cloud.langfuse.com,建立專案,把公鑰和私鑰都複製下來。
- 安裝套件:
pip install langfuse openai
- 設定環境變數。 下面這條是歐盟的 URL。如果選了別的區域,改用
https://us.cloud.langfuse.com或https://jp.cloud.langfuse.com。
LANGFUSE_PUBLIC_KEY="pk-lf-..."
LANGFUSE_SECRET_KEY="sk-lf-..."
LANGFUSE_BASE_URL="https://cloud.langfuse.com"
OPENAI_API_KEY="sk-..."
- 換掉 import,並把同一次對話歸到一起。 Langfuse 自帶一個可直接替換的 OpenAI 客戶端,呼叫會被記下來。
propagate_attributes標上使用者和會話,介面才能把一次聊天的每一輪歸在一組。指令碼如果馬上退出,要在行程結束前用flush()把資料送出去。
from langfuse import observe, propagate_attributes, get_client
from langfuse.openai import openai # antes: import openai
@observe()
def responder(mensaje: str, usuario_id: str, conversacion_id: str):
with propagate_attributes(user_id=usuario_id, session_id=conversacion_id):
respuesta = openai.chat.completions.create(
name="respuesta-bot",
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "Eres el asistente de una tienda online."},
{"role": "user", "content": mensaje},
],
)
return respuesta.choices[0].message.content
print(responder("¿El envío es gratis?", "cliente-123", "chat-456"))
get_client().flush()
- 開啟面板。 在 Tracing 裡能看到這條 trace:提示詞、回覆、token、成本和耗時。有了
session_id,就能把這位使用者的整段對話串起來看。
如果資料要放在自己的伺服器上
可以用 Docker 自己託管。在本地,克隆倉庫,檢查 docker-compose.yml 裡標成 CHANGEME 的金鑰,再把容器拉起來:
git clone https://github.com/langfuse/langfuse.git
cd langfuse
docker compose up
文件寫著,Web 容器大約 2 到 3 分鐘後會在 http://localhost:3000 就緒。沒有預置的管理員帳號:第一次開啟就是註冊。同一份指南對生產機器的建議是至少 4 個 CPU 核心和 16 GB 記憶體,並提醒 Compose 做不到高可用。剛起步的小公司,免費的雲方案通常比單獨備這臺伺服器更划算。
什麼時候值得用
從機器人開始跟真實客戶說話那一刻起,Langfuse 就值得用。在那之前,你多半還不需要。
適合這些情況:
- 機器人在服務客戶,或經手價格、訂單、客服。
- 你給別的公司做機器人,出了問題得講得清到底發生了什麼。
- 你每個月在 AI 的 API 上要花掉不止幾美元,而且想知道花在哪。
- 提示詞經常改,或者改的人不止一個。
現在還用不著,如果:
- 還只是自己用的原型,或週末拿來試試。
- 機器人所在的平台是封閉的,不讓你接外部工具。那就先看平台自己提供的日誌。
其他選擇。 LangSmith 和 Braintrust 覆蓋的範圍差不多。和 Langfuse 實際的差別在於:它是開源的,資料可以拿到你自己的伺服器上。
做出來只是一半
一個 AI 機器人,一個下午就能送上線。能不能知道它跑得好不好,才把一次實驗和一個客戶敢信任的產品分開。
Langfuse 不會讓模型更聰明。它做的更有用:讓你看見正在發生什麼,於是改提示詞、改文件、看成本,眼前都有證據。入門那一檔是免費的。等來了第一通客戶投訴,再盲飛就沒有藉口了。
Step-by-step guide
建立 Langfuse 專案
在 cloud.langfuse.com 登入,建立專案,複製公鑰和私鑰。選好資料要存放的區域。
安裝套件
在機器人所在的環境裡執行 pip install langfuse openai。Langfuse 會換上 OpenAI 客戶端,並把每次呼叫記下來。
設定環境變數
在行程啟動之前設好 LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY、LANGFUSE_BASE_URL 和 OPENAI_API_KEY。
替換 OpenAI 匯入
從 langfuse.openai 匯入 openai,並傳上 user_id 和 session_id,同一次對話才會歸在一起。
開啟 Tracing
開啟 Tracing,找到這次呼叫,讀提示詞、回覆、token、成本和延遲。短指令碼要在退出前呼叫 flush。
Frequently asked questions
Langfuse 是什麼?
Langfuse 是一個開源平台,採用 MIT 許可證,用來追蹤、評估並改進呼叫語言模型的應用。它記下對話的每一步,給提示詞做版本,並展示成本、延遲和品質。
Langfuse 免費嗎?
Hobby 方案不收費,也不需要信用卡。每月包含 50,000 個單位、2 個使用者,資料保留 30 天。也可以自託管:軟體免費,伺服器的費用由你來付。
機器人不是用 Python 寫的,也能用嗎?
可以。這篇用 Python SDK,是因為這條路最短,但 Langfuse 也有 JavaScript SDK,並能接上 LangChain、Vercel AI SDK、CrewAI、n8n 和 OpenTelemetry。
這和聊天記錄有什麼不同?
聊天記錄只看得到使用者說的話和機器人的回覆。一條 trace 還會顯示當時生效的是哪版提示詞、檢索返回了哪些文件、哪個模型在答、花了多少 token,以及用了多久。
必須自己託管嗎?
不用。試一試,以及大多數小公司,免費的雲方案就夠。只有用量上來、資料必須留在特定地區,或者雲帳單已經值得單獨備一台伺服器時,自託管才有意義。
相關文章
繼續探索您可能感興趣的相似內容

Opus 5.5 vs Sonnet 5.5:2026年用哪個Claude模型
比較 Anthropic 的模型:Opus 5.5、Sonnet 5.5、Fable 5.1 與 Haiku 4.5。介紹各自的價格與優勢,以及不同任務該選哪一個。

《巫師3》重製版:你的軟體也能迎來第二春
《巫師3》重製版帶著path tracing與重建的戰鬥系統免費上線,還登上了Switch 2。我來聊聊這次重製背後的商業邏輯,以及重製模式如何讓任何軟體產品重獲新生。

Spec-Driven Development實戰指南:AI時代的開發方法
什麼是Spec-Driven Development?為什麼它在AI時代重新流行?如何結合BDD、DDD、MDE和API-First落地實踐,附範例、對照表和代理工作流程。
合作
我每天在用的工具,社群可以拿到更好的條件。