# 策展 · X (Twitter) 🔥

> 📖 本站完整內容索引（documentation index）：[llms.txt](/llms.txt)

> 作者：Lotte (@lotte_verheyden) · 平台：X (Twitter) · 日期：2026-05-18

> 原始來源：https://x.com/lotte_verheyden/status/2056032201259831398

## 中文摘要

# 為 LLM 應用程式設計評估資料集

這是我們 Langfuse Academy 系列文章中的一篇，我們將在該系列中探討完整的 AI 軟體工程生命週期。如果你是第一次閱讀本系列，建議從「AI 工程循環 (The AI Engineering Loop)」開始閱讀。

## AI 工程循環簡介

AI 工程循環是團隊持續改進 AI 系統的方法。它將生產環境中發生的狀況（追蹤、監控）與開發過程中的結構化迭代（資料集、實驗、評估）連結起來。每一次發布的改進都會產生新的資料，團隊便能透過此流程不斷循環。

![](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/1779089146449-iaHIf6DJlasAAudWejpg.jpg)

你可以在此處閱讀更多相關資訊。

# 資料集如何融入循環中

到目前為止，我們已經涵蓋了 AI 工程循環的前兩個步驟：追蹤你的應用程式以及即時監控其行為。這些步驟能讓你清楚了解系統實際的運作情形，並為改進提供靈感。

現在問題來了：當你發現有值得改進的地方時，如何在部署到生產環境之前測試變更？循環的接下來三個步驟正是為此設計的，而這一切都始於資料集。

資料集是一組測試案例的集合，每當你進行變更（即「實驗」）時，都會針對這些案例執行你的應用程式。與其直接部署並祈禱一切順利，不如透過代表真實世界使用情境的輸入資料集，進行可重複且一致的檢查。

# 資料集項目 (Dataset Item)

資料集由多個項目組成，每個項目代表一個測試案例：即你的應用程式應該能夠處理的情境。通常，一個項目包含三個欄位：

- 輸入 (Input)（必填）

- 預期輸出 (Expected output)（選填）

- 中繼資料 (Metadata)（選填）

## 資料集項目的三個欄位

![](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/1779089146083-diaHINlehfaMAAOPPpng.png)

一個好的心智模型：

![](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/1779089146455-iaHINlidcbAAAsVewpng.png)

## 常見的預期輸出模式

是否需要預期輸出，以及它的形式為何，取決於你使用的評估器類型。

基於參考資料與無需參考資料的評估器
有些評估器會將輸出與預先定義的預期輸出進行比對（基於參考資料）。其他評估器則無需基準答案（Ground Truth）即可評估輸出結果（無需參考資料）。

精確匹配 (Exact match)

預期輸出即為字面上的正確答案。例如：

- 分類任務中，正確標籤為 "billing_inquiry"

- 提取任務中，預期的實體為 ["Paris", "Thursday"]

參考答案 (Reference answer)

預期輸出是一個黃金標準回應，展示了良好的輸出應該是什麼樣子。評估器可以將測試的輸出與此範例進行比較，例如檢查語意相似度或關鍵點是否相符。

評估標準 (Evaluation criteria)

預期輸出是一份清單，列出輸出應滿足的檢查項目或要求。例如：

- 「必須提及退款政策」

- 「必須包含前往說明中心的連結」

評估器會檢查輸出是否符合這些標準。

無 (Nothing)

有時根本不需要預期輸出。如果你只是想檢查：

- 語氣是否專業

- 回應是否安全

- 輸出是否遵循要求的格式

你的資料集項目除了輸入之外不需要任何其他內容，因為你將使用無需參考資料的評估器。

上述組合

由於你可以在單一資料集項目上執行多種不同的評估器，因此資料集項目的預期輸出欄位也可以包含多種類型的參考資料。預期輸出是一個 JSON 欄位，因此你可以輕鬆儲存多種類型的參考資料。

# 什麼是好的資料集

好的資料集能反映你的系統在生產環境中會遇到的情況。如果在部署前通過資料集測試能讓你充滿信心，那麼它就發揮了作用。

範圍明確。每個資料集都應有明確定義的範圍。如果你將內部步驟視為實作細節，它可以是端到端的；如果你試圖改進的是檢索或摘要等特定部分，它也可以針對單一步驟。你最終可能會擁有多個資料集，每個資料集都有明確的目的。

![](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/1779089146197-iaHIf6xeoaAAABhsjjpg.jpg)

適合工作流程的規模。有些資料集規模較小且執行速度快，適合在每次推送程式碼時作為 CI/CD 管線的一部分執行。另一些則規模較大且更全面，適合定期執行，但對於微小的變更來說執行速度太慢。

![](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/1779089146072-iaHINl6XWbMAA78Elpng.png)

# 從哪裡開始

從你手邊最具體的範例開始，一旦知道自己要測試什麼，再擴大覆蓋範圍。

1. 從生產環境的追蹤紀錄中提取你發現並希望改進的範例，可以直接使用，也可以進行去識別化或透過 AI 進行轉換。

1. 根據預先定義的需求、邊緣案例 (Edge cases) 或你的 Agent 必須可靠處理的行為，手動新增測試案例。

1. 一旦確定了想要更廣泛涵蓋的維度，就可以利用 AI 生成合成範例。

# 接下來是什麼

一旦有了資料集，下一步就是針對它執行你的系統，看看變更如何影響輸出品質。這就是實驗 (Experiments) 的用途。

## 標籤

LLM, 教學資源, 自動化, Langfuse
