文章封面圖: Langfuse:看清線上 AI 聊天機器人在做什麼

Langfuse:看清線上 AI 聊天機器人在做什麼

發佈於:

閱讀時間: 3 min

主題: 技術

作者: Leandro Valencia

#langfuse#LLM 可觀測性#AI 聊天機器人#提示詞監控#OpenAI 成本

AI 聊天機器人會回覆,你卻分不清對不對。本文說明 LLM 可觀測性是什麼,以及開源 Langfuse 如何記下提示詞、token 和延遲,把成本、錯誤和品質看清楚。

目錄

週一,客戶來信:“機器人跟一位顧客說包郵。其實不包郵。”你開啟後臺,對話看得到。看不到的,是它為什麼會這麼答。

當時生效的是哪版提示詞?檢索塞進來的是哪些文件?是模型的問題,是上下文的問題,還是有人週五改完就發出去了?缺了這些,所謂修復就是猜。

給公司做聊天機器人和 WhatsApp 流程時,這一幕會反覆出現。寫 AI 的文章幾乎都在教你怎麼把機器人做出來。很少有人教:真客戶開始跟它說話之後,怎麼看清它在幹什麼。如果這條流程你還在搭,上一篇是如何把流程變成聊天機器人。這篇講的是上線之後。

AI 機器人的三種無聲故障

傳統機器人壞起來很響:崩潰、報錯,總會有人看見。AI 機器人壞起來很安靜,因為它總會吐出一句回答。生產裡最常見的,是這三種:

  1. 聽著像對的,其實是錯的。 模型可以非常篤定地編出一個價格、一條政策或一張時間表。沒人發覺,直到客戶來投訴。
  2. 費用往上跳,卻看不出原因。 對話歷史不限長度地漲,或者智慧體內部打轉,API 帳單就能翻倍。發票月底才到,那時已經沒什麼可砍的了。
  3. 提示詞變差了,沒人說得清。 你改提示詞,想修好一個例子,結果另外三個壞了。沒有可以對照的版本,最後是使用者來告訴你。

三件事,原因是同一個。問題不只在模型。問題是你看不見裡面發生了什麼。

什麼是 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 或其他工具,思路一樣,細節在整合指南裡。

  1. 建立帳號。 開啟 cloud.langfuse.com,建立專案,把公鑰和私鑰都複製下來。
  2. 安裝套件:
pip install langfuse openai
  1. 設定環境變數。 下面這條是歐盟的 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-..."
  1. 換掉 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()
  1. 開啟面板。 在 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

  1. 建立 Langfuse 專案

    在 cloud.langfuse.com 登入,建立專案,複製公鑰和私鑰。選好資料要存放的區域。

  2. 安裝套件

    在機器人所在的環境裡執行 pip install langfuse openai。Langfuse 會換上 OpenAI 客戶端,並把每次呼叫記下來。

  3. 設定環境變數

    在行程啟動之前設好 LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY、LANGFUSE_BASE_URL 和 OPENAI_API_KEY。

  4. 替換 OpenAI 匯入

    從 langfuse.openai 匯入 openai,並傳上 user_id 和 session_id,同一次對話才會歸在一起。

  5. 開啟 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,以及用了多久。

必須自己託管嗎?

不用。試一試,以及大多數小公司,免費的雲方案就夠。只有用量上來、資料必須留在特定地區,或者雲帳單已經值得單獨備一台伺服器時,自託管才有意義。

相關文章

繼續探索您可能感興趣的相似內容

合作

我每天在用的工具,社群可以拿到更好的條件。

含推廣連結。你支付的價格不變。查看全部合作
培訓計畫

準備好將您的想法轉化為真實專案了嗎?

Transforma是一個幫助您以清晰的方法創建、執行和擴展專案的培訓計畫。

了解Transforma計畫