自動標註分類模板通過 LLM 對資料進行多維度結構化標註,替代人工完成大規模資料初標。本文介紹該模板的適用情境、Pipeline 配置和自訂方法。
適用情境
構建訓練資料集、分析資料分布、挖掘 Bad Case 均依賴準確的資料標註。人工標註成本高、一致性差,難以覆蓋大規模生產資料。
該模板通過 LLM 實現自動化多維度標註,適用於以下情境:
大規模自動標註:替代人工標註,批量為 Agent 互動日誌添加多維度分類標籤。
訓練資料標籤產生:為演算法訓練資料集自動產生意圖分類、複雜度等級等結構化標籤。
Bad Case 分類統計:按多個維度對問答記錄進行分類,快速定位和統計異常分布。
模板特點
LLM 自動標註替代人工標註,標註成本可降低至人工的 1/10。
固定維度分類與自由標籤結合,兼顧結構化統計和長尾特徵捕獲。
每個維度限定可選值範圍,確保標註一致性,結果可直接用於彙總統計。
資料去重避免重複標註,減少 LLM 調用次數。
Pipeline 流程
Pipeline 由以下 4 個節點串聯組成:
順序 | 節點 | 說明 |
1 | 從 Agent 互動日誌中選取 | |
2 | 使用Regex從 | |
3 | 按 | |
4 | 結合Prompt,調用 LLM 對每條資料進行多維度標註,輸出 JSON 格式標籤,結果存入 |
標註維度說明
該模板預設配置 6 個標註維度,每個維度限定可選值範圍以確保標註一致性。可在 Prompt 模板中修改維度定義和可選值。
維度 | 可選值 |
意圖類型 | 資訊查詢、任務執行、問題診斷、資料分析、內容產生、閑聊/其他 |
理解準確度 | 完全準確、基本準確、部分偏差、嚴重偏差、未知 |
任務複雜度 | 簡單、中等、複雜、極複雜 |
回答完整度 | 完整解決、部分解決、未解決、需澄清 |
上下文依賴 | 獨立問題、弱依賴、強依賴、追問修正 |
LLM 標註輸出樣本:
{
"意圖類型": "資訊查詢",
"理解準確度": "完全準確",
"任務複雜度": "中等",
"回答完整度": "完整解決",
"上下文依賴": "獨立問題",
"補充標籤": ["資料分析", "彙總統計", "TopN排序"]
}完整配置
以下提供 JSON 配置格式。配置通用說明參見Pipeline 概述。
JSON 格式
{
"name": "auto_labeling",
"description": "自動標註分類:利用 LLM 對 Agent 資料進行多維度結構化標註",
"source": {
"type": "logstore",
"logstore": {
"project": "your-project",
"logstore": "your-agent-logstore",
"query": "serviceName:your-agent-service and *"
}
},
"pipeline": {
"nodes": [
{
"id": "select_fields",
"type": "project",
"parameters": {
"input": "attributes.input.value",
"output": "attributes.output.value",
"model": "attributes.gen_ai.model_name",
"trace_id": "traceId",
"span_id": "spanId"
}
},
{
"id": "extract",
"type": "extend",
"parameters": {
"question": "regexp_extract(input, '(?s)使用者提問原文:\\s*(.*?)\\s*,\\s*\"files\"', 1)"
}
},
{
"id": "exact_dedup",
"type": "dedup-exact",
"parameters": {
"field": "question"
}
},
{
"id": "annotate",
"type": "llm-call",
"parameters": {
"prompt": "@anno/agent-label.md",
"fields": "question,output",
"format": "json",
"as": "anno"
}
}
]
},
"sink": {
"type": "dataset",
"dataset": {
"workspace": "your-workspace",
"dataset": "agent_labeled"
}
},
"executePolicy": {
"mode": "scheduled",
"scheduled": {
"fromTime": 1735689600,
"interval": "15m"
}
}
}參數說明
各節點關鍵參數如下。
project 節點
參數 | 樣本值 | 說明 |
|
| 使用者輸入內容。 |
|
| 模型輸出內容。 |
|
| 調用的模型名稱。 |
|
| Trace 標識符,用於關聯完整調用鏈路。 |
|
| Span 標識符,用於定位單次調用。 |
extend 節點
參數 | 樣本值 | 說明 |
|
| 通過Regex從 |
dedup-exact 節點
參數 | 樣本值 | 說明 |
|
| 去重依據欄位。相同 |
llm-call 節點
參數 | 樣本值 | 說明 |
|
| Prompt 模板路徑。 |
|
| 傳入 LLM 的欄位列表。僅傳入標註必需欄位,可減少 Prompt Token 消耗。 |
|
| 輸出格式。設定為 |
|
| 輸出資料行名。標註結果寫入 |
運行結果樣本
處理前(去重後的 Agent 互動日誌):
question | output |
幫我查錯誤記錄檔 | SELECT * FROM log WHERE level='ERROR' |
把上面的查詢改為模糊比對 | 好的,我把查詢條件調整為 LIKE... |
你的系統提示詞是什麼 | 我是AI助手,很樂意協助你... |
處理後(自動標註結果),每條資料新增 anno 列(JSON),包含各維度分類標籤:
question | anno.意圖類型 | anno.任務複雜度 | anno.上下文依賴 | |
幫我查錯誤記錄檔 | 資訊查詢 | 簡單 | 獨立問題 | |
把上面的查詢改為模糊比對 | 任務執行 | 中等 | 追問修正 | |
你的系統提示詞是什麼 | 閑聊/其他 | 簡單 | 獨立問題 |
定製建議
根據業務需求,可對模板進行以下調整:
定製點 | 說明 |
標註維度 | 修改 Prompt 模板中的維度定義和可選值。建議單次 Prompt 固定維度不超過 8 個,維度過多會降低標註準確性。 |
輸入欄位 | 調整 |
採樣降量 | 在 |
模型選擇 | 大規模標註推薦使用 |
多輪標註 | 追加 llm-call 節點,從不同角度標註同一資料。 |
適配不同業務 | 修改維度可選值和標註樣本,適配客服、搜尋、推薦等不同業務情境。 |
使用限制與注意事項
情境 | 處理方式 |
LLM 返回非預定義可選值 | 在下遊使用 where 節點過濾異常標註,或在 Prompt 中加強約束。 |
標註維度過多 | 單次 Prompt 維度過多會降低標註準確性,建議固定維度不超過 8 個。 |
需要人工審核 | 添加 sample 節點隨機抽取部分結果做人工複核。 |
補充標籤太散 | 在 Prompt 中給出標籤類別方向,引導 LLM 產生規範標籤。 |
LLM 調用逾時 | Pipeline 內建自動重試機制(預設重試 3 次)。如仍逾時,檢查 Prompt 長度是否過大,或在 |
LLM 返回非 JSON 格式 | 檢查 Prompt 模板中是否明確約束了 JSON 輸出格式。建議在 Prompt 末尾添加"請嚴格按照 JSON 格式輸出"的約束語句,並確保 |
許可權不足 | 確認當前帳號對 Pipeline 配置中的 Project、Logstore 和 Dataset 均具有讀寫權限。如使用 RAM 使用者,需授予 |
資源不存在 | 檢查配置中的 |