# 測試資料集管理

## 什麼是測試資料集? <a href="#what-is-test-dataset" id="what-is-test-dataset"></a>

測試資料集是一組預先準備好的測試案例集合,用於驗證 AI 助理的回應品質與準確性。透過建立標準化的測試資料集,您可以:

**確保回應品質**

* 驗證 AI 助理對常見問題的回應是否符合預期
* 確保知識庫更新後回應不會退化
* 持續追蹤回應品質的變化趨勢

**提升效率**

* 批次測試多個問題,無需逐一手動驗證
* 建立可重複使用的測試案例,節省測試時間
* 快速識別問題並及時調整

**團隊協作**

* 集中管理所有測試案例
* 不同成員可共同維護測試資料
* 追蹤測試案例的建立者與更新時間

## 如何進入測試資料集管理 <a href="#how-to-access-test-dataset-management" id="how-to-access-test-dataset-management"></a>

進入左側功能欄的 「<mark style="color:blue;">**AgentOps**</mark>」,點選 「<mark style="color:blue;">**測試資料集**</mark>」,即可看到測試資料集管理頁面。

<figure><img src="/files/o6NRbpZnT5OX6NFrYVg5" alt=""><figcaption><p>測試資料集管理介面</p></figcaption></figure>

頁面中會顯示以下資訊:

* **測試資料集 ID**: 系統自動產生的唯一識別碼
* **測試資料集名稱**: 您為資料集設定的名稱
* **測試案例數量**: 該資料集包含的測試案例總數
* **建立者**: 建立此資料集的使用者
* **建立時間**: 資料集建立的日期與時間
* **最後更新**: 資料集最後修改的時間
* **操作按鈕**: 編輯、刪除等功能

## 建立測試資料集 <a href="#create-test-dataset" id="create-test-dataset"></a>

### 1. 開始建立 <a href="#start-creating" id="start-creating"></a>

點擊頁面右上角的 「<mark style="color:blue;">**Create Dataset**</mark>」按鈕,開始建立新的測試資料集。

### 2. 設定基本資訊 <a href="#set-basic-info" id="set-basic-info"></a>

在彈出的對話框中,輸入以下資訊:

**測試資料集名稱** (必填)

* 建議使用有意義的名稱,例如:「產品查詢測試集」、「客服常見問題測試」
* 方便日後管理與識別用途

**測試資料集描述** (選填)

* 說明此測試集的用途與涵蓋範圍
* 例如:「用於測試產品規格查詢功能,包含 50 個常見產品問題」

**選擇 AI 助理** (必填)

* 選擇要測試的 AI 助理
* 一個測試資料集可以對應一個或多個 AI 助理

### 3. 新增測試案例 <a href="#add-test-cases" id="add-test-cases"></a>

測試資料集建立後,您需要為其新增測試案例。每個測試案例包含:

**測試問題**

* 使用者可能詢問的問題
* 建議涵蓋各種問法與情境

**預期回應**

* AI 助理應該如何回答
* 可以是關鍵字、句子或完整段落
* 系統會比對實際回應是否包含預期內容

**測試案例範例:**

```
問題: 你們的退貨政策是什麼?
預期回應: 購買後 7 天內可無條件退貨,商品需保持全新未使用狀態

問題: 如何申請退款?
預期回應: 請透過會員中心的訂單管理頁面申請退款,審核通過後 3-5 個工作天內退款

問題: 退貨運費誰負擔?
預期回應: 若為商品瑕疵由我們負擔運費,若為個人因素退貨則由買家負擔
```

## 管理測試資料集 <a href="#manage-test-datasets" id="manage-test-datasets"></a>

### 搜尋測試資料集 <a href="#search-test-dataset" id="search-test-dataset"></a>

使用頁面上方的搜尋欄,您可以透過以下方式快速找到目標資料集:

* 測試資料集 ID
* 測試資料集名稱
* 描述內容關鍵字

輸入關鍵字後,系統會即時過濾並顯示符合條件的資料集。

### 編輯測試資料集 <a href="#edit-test-dataset" id="edit-test-dataset"></a>

點擊操作欄位中的 「<mark style="color:blue;">**編輯**</mark>」按鈕,您可以:

* 修改測試資料集名稱與描述
* 新增、編輯或刪除測試案例
* 調整測試案例的順序

{% hint style="info" %}
建議定期檢視並更新測試案例,確保測試內容與實際業務需求保持一致
{% endhint %}

### 刪除測試資料集 <a href="#delete-test-dataset" id="delete-test-dataset"></a>

點擊操作欄位中的 「<mark style="color:blue;">**刪除**</mark>」按鈕,即可刪除不再需要的測試資料集。

{% hint style="warning" %}
刪除測試資料集後無法復原,請謹慎操作。若該資料集已被用於自動評估,相關評估記錄仍會保留,但無法再次執行相同測試。
{% endhint %}

## 測試資料集最佳實踐 <a href="#test-dataset-best-practices" id="test-dataset-best-practices"></a>

### 1. 建立結構化的測試分類 <a href="#structured-test-categories" id="structured-test-categories"></a>

依照業務需求將測試案例分組:

```
產品相關知識庫測試:
├── 產品查詢測試集 (50個案例)
├── 價格諮詢測試集 (30個案例)
└── 庫存確認測試集 (20個案例)

客服流程測試:
├── 訂單處理測試集 (40個案例)
├── 退換貨流程測試集 (35個案例)
└── 會員服務測試集 (25個案例)
```

### 2. 涵蓋多種問法 <a href="#cover-multiple-phrasings" id="cover-multiple-phrasings"></a>

同一個概念可能有不同的問法,建議在測試案例中涵蓋:

```
正式問法: 請問貴公司的營業時間為何?
口語問法: 你們幾點開?
簡短問法: 營業時間
完整句子: 我想知道你們的營業時間是幾點到幾點
```

### 3. 包含邊界情境 <a href="#include-edge-cases" id="include-edge-cases"></a>

測試極端情況與模糊問題:

* 不完整的問題:「價格」、「怎麼辦」
* 含有錯別字的問題:「產品槼格」
* 複合問題:「價格多少?可以退貨嗎?有什麼顏色?」
* 不在知識範圍的問題:測試 AI 助理如何應對

### 4. 定期更新測試資料 <a href="#regular-data-updates" id="regular-data-updates"></a>

* **新功能上線時**: 新增對應的測試案例
* **知識庫更新後**: 確認相關測試案例是否需要調整
* **發現問題時**: 立即新增該情境的測試案例,避免再次發生
* **定期審查**: 每月或每季檢視測試案例是否仍符合現況

### 5. 設定適當的測試數量 <a href="#appropriate-test-count" id="appropriate-test-count"></a>

建議每個測試資料集包含:

* **最少 20 個測試案例**: 確保涵蓋基本情境
* **建議 30-50 個測試案例**: 平衡測試覆蓋率與執行時間
* **特殊情況可達 100+ 案例**: 適用於複雜業務邏輯

## 常見問題 <a href="#faq" id="faq"></a>

### Q1: 測試資料集與自動評估的關係是什麼? <a href="#faq-test-dataset-vs-auto-evaluation" id="faq-test-dataset-vs-auto-evaluation"></a>

測試資料集是自動評估的基礎。您需要先建立測試資料集,然後在「自動評估」功能中選擇測試資料集與 AI 助理,系統會自動執行測試並產生評估報告。

> 更多資訊請參考: [自動評估](/agent-ops/evaluations.md)

### Q2: 一個測試資料集可以測試多個 AI 助理嗎? <a href="#faq-one-dataset-multiple-agents" id="faq-one-dataset-multiple-agents"></a>

可以。您可以在自動評估時選擇同一個測試資料集搭配不同的 AI 助理,比較不同 AI 助理在相同測試案例下的表現差異。

### Q3: 測試案例的預期回應需要完全一致嗎? <a href="#faq-expected-response-exact-match" id="faq-expected-response-exact-match"></a>

不需要。系統會檢查 AI 助理的實際回應是否「包含」預期回應的關鍵內容。您可以設定關鍵字或重要句子,只要實際回應包含這些內容即視為通過。

### Q4: 如何匯入大量測試案例? <a href="#faq-bulk-import-test-cases" id="faq-bulk-import-test-cases"></a>

目前可透過複製貼上的方式批次新增測試案例。未來版本將支援 Excel 或 CSV 檔案匯入功能,敬請期待。

### Q5: 測試資料集可以共享給其他組織成員嗎? <a href="#faq-share-dataset-with-members" id="faq-share-dataset-with-members"></a>

可以。同一組織下的所有成員都可以查看與使用測試資料集。您可以透過「建立者」欄位識別是誰建立的資料集,方便團隊協作。

### Q6: 刪除 AI 助理後,相關的測試資料集會消失嗎? <a href="#faq-dataset-after-agent-deleted" id="faq-dataset-after-agent-deleted"></a>

不會。測試資料集是獨立管理的,即使刪除 AI 助理,測試資料集仍會保留。您可以將同一個測試資料集用於其他 AI 助理的測試。

***

## 下一步 <a href="#next-steps" id="next-steps"></a>

建立測試資料集後,您可以:

* 前往 [自動評估](/agent-ops/evaluations.md) 執行測試並查看結果
* 透過 [AI 助理監控](/agent-ops/evaluations.md#ai-zhu-li-jian-kong) 追蹤 AI 助理的實際運作表現
* 根據評估結果調整知識庫內容或 AI 助理設定


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.maiagent.ai/agent-ops/test-datasets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
