LangSmith AI Agent 監控追蹤完整教學:打造可觀測的 LLM 應用系統
為什麼 AI Agent 需要可觀測性
你有沒有遇過這種情況:AI Agent 在本地測試跑得好好的,一上線就開始亂回答、Token 費用暴漲、或是某些情境下完全卡住?我自己去年上線第一個 RAG 系統時就被狠狠教訓了一頓。
傳統軟體有 Datadog、New Relic 這類監控工具,但 AI 應用多了一層「不確定性」——同樣的 Prompt,每次回答可能不同。你不能只看 HTTP status code,你需要看到每一步推理的細節。
這就是LLM 可觀測性(Observability)的價值所在:
- 追蹤 Agent 的每一步決策過程
- 分析 Token 消耗和成本分佈
- 快速定位回答品質下降的根因
- 建立自動化的品質評估管線
AI Agent 框架越來越複雜,沒有可觀測性根本不知道系統在做什麼。
LangSmith 是什麼?核心功能介紹
LangSmith 是 LangChain 團隊推出的 AI 應用可觀測性平台,專門給 LLM 應用用的「除錯 + 監控 + 評估」三合一工具。核心功能:
- Tracing:自動記錄完整呼叫鏈(input、output、latency、token)
- Evaluation:內建評估器測試 AI 輸出品質
- Datasets:管理測試用的 input/output 配對
- Monitoring:生產環境即時儀表板
- Playground:線上測試 Prompt
就算你不用 LangChain 框架,裝了 SDK 一樣可以追蹤任何 LLM 呼叫。
安裝與環境設定
先到 smith.langchain.com 註冊帳號(免費方案每月 5000 次追蹤)。
pip install langsmith langchain-openai
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY="your_key"
export LANGCHAIN_PROJECT="my-rag-agent"
設定 LANGCHAIN_TRACING_V2=true 後,所有 LangChain 呼叫自動被記錄,不需改程式碼。用純 OpenAI SDK 也可以手動 wrap:
from langsmith import traceable
@traceable(name="my_chain")
def process_query(question: str) -> str:
response = openai_client.chat.completions.create(...)
return response.choices[0].message.content
追蹤 LLM 呼叫鏈
Agent 執行任務時,LangSmith 自動建立呼叫樹。一個 RAG 查詢會記錄:使用者問題 → Retriever 搜尋 → Prompt 組裝 → LLM 呼叫 → 後處理回應。
每個節點都可以點進去看完整 input/output。我曾靠這功能發現 Retriever 撈到完全不相關的文件——看 log 看不出來,trace 裡一目瞭然。
搭配 RAG 評估指標一起用效果特別好。
自動化評估
LangSmith 的 Evaluation 讓你系統化測試品質:
from langsmith import Client
from langsmith.evaluation import evaluate
client = Client()
dataset = client.create_dataset("rag-qa-test")
client.create_examples(
inputs=[{"question": "什麼是 RAG?"}],
outputs=[{"answer": "RAG 是檢索增強生成..."}],
dataset_id=dataset.id,
)
results = evaluate(
your_rag_chain,
data=dataset.name,
evaluators=["correctness", "relevance"],
)
每次改 Prompt 或換 model 就跑一次。我們團隊把這放在 CI/CD 裡,PR 合併前必須通過 AI 品質測試。
Token 成本監控
LangSmith 自動計算每次呼叫的 token 數量和預估成本。Dashboard 上可看到每天 Token 消耗趨勢、哪些 trace 是成本大戶、不同 model 的成本比較。
90% 的成本最佳化來自:精簡 system prompt、選對 model(簡單分類用 Haiku、複雜推理才用 Opus)、快取重複查詢。這些在 MCP 開發教學也有提到。
LangSmith vs LangFuse
| 比較 | LangSmith | LangFuse |
|---|---|---|
| 開源 | 否(雲端 SaaS) | 是(可自架) |
| LangChain 整合 | 原生支援 | 需額外設定 |
| 免費額度 | 5,000 traces/月 | 自架無限 |
| 評估功能 | 內建豐富 | 基礎 |
| 部署方式 | 純雲端 | 雲端或自架 |
用 LangChain 生態系選 LangSmith 省事。有資料合規需求選 LangFuse 自架。
生產環境最佳實踐
- 分環境 Project:dev、staging、production 各一個
- 設定 Alert:錯誤率超過 5% 就通知
- 定期 Review:每週看低分 trace 找改進點
- Sampling:生產設定 10-20% 取樣率
- PII masking:避免使用者個資出現在 trace 中
可觀測性應該從第一天就內建在你的 Agent 開發流程中。
結語
AI 應用跟傳統軟體的最大差異,就是 LLM 可能穩穩跑著但回答品質悄悄下滑。LangSmith 讓你在問題變客訴前就發現它。如果你在開發 LangGraph Agent,現在就把可觀測性加上去吧。
你可能也喜歡
探索其他領域的精選好文