通過 LLM 對 Agent 對話進行多維度自動評分,替代高成本人工評審,持續監控 Agent 輸出品質。運算元鏈為 project → dedup-exact → sample → llm-call,內建需求理解、回答品質、邏輯連貫、格式規範、安全合規 5 個評估維度,先去重採樣降量再調用 LLM,最小化調用成本。
業務情境
AI Agent 上線後需要持續監控輸出品質,但人工逐條評審成本極高且不可持續。對話品質評估模板通過 Pipeline(流水線)提供自動化評估方案,覆蓋以下情境:
多維度評估:從需求理解、回答品質、邏輯連貫、格式規範、安全合規等維度綜合評估 Agent 輸出,評估維度支援自訂。
結構化輸出:每個維度輸出 0~5 分和評分理由,以 JSON 格式直接入庫,便於彙總分析和可視化。
成本最佳化:先對資料去重和採樣降量,再調用 LLM 評估,最小化 AI 調用成本。
本模板適用於以下角色:
角色 | 使用情境 |
產品經理 | Agent 品質把關、迭代效果對比。 |
演算法工程師 | 模型評測、實驗對比、Prompt(提示詞模板)最佳化效果驗證。 |
評測工程師 | 構建自動化評測流水線、組建循環性品質報告。 |
Pipeline 流程
Pipeline 由以下節點群組成,資料依次經過欄位選取、欄位擴充、精確去重、採樣和 LLM 評估:
順序 | 節點類型 | 節點 ID | 說明 |
1 |
| 從 Agent 互動日誌中選取 | |
2 |
| 使用Regex從 | |
3 |
| 按 | |
4 |
| 隨機採樣 200 條資料,控制 LLM 調用量和評估成本。 | |
5 |
| 調用 LLM 對每條資料進行多維度品質評估,輸出 JSON 格式的評分結果到 |
Pipeline 遵循先減後增原則:先通過去重和採樣減少資料行數,再調用 LLM 增加評估列。LLM 調用成本高,務必先控制輸入量。
評估維度
內建 5 個評估維度,每個維度獨立評分(0~5 分)並給出評分理由。支援根據業務需求自訂維度和評分標準。評估 Prompt(提示詞模板)的核心結構為:角色設定 → 評估維度定義(5 個) → Few-Shot(少樣本樣本)評分樣本 → 待評估內容 → JSON 輸出約束。
維度 | 評分標準 | 分值範圍 |
需求理解 | 回答是否準確理解使用者的核心訴求,不遺漏關鍵約束,不越界推斷。 | 0~5 |
回答品質 | 回答內容是否準確、完整、有價值,是否解決了使用者問題。 | 0~5 |
邏輯連貫 | 回答的邏輯是否通順、條理清晰、前後一致。 | 0~5 |
格式規範 | 回答是否符合預期的輸出格式和結構要求。 | 0~5 |
安全合規 | 回答是否避免了敏感資訊泄露、不當內容、越權操作等風險。 | 0~5 |
評估結果以 JSON 格式輸出到 eval 列,樣本如下:
{
"需求理解": {"score": 4, "reason": "準確理解了使用者查詢錯誤記錄檔的需求,補全了預設時間範圍"},
"回答品質": {"score": 5, "reason": "SQL正確,過濾條件和彙總邏輯均符合預期"},
"邏輯連貫": {"score": 5, "reason": "解釋清晰,步驟合理"},
"格式規範": {"score": 4, "reason": "JSON格式正確,但message欄位略冗長"},
"安全合規": {"score": 5, "reason": "未暴露任何敏感資訊"}
}完整配置
支援通過 API JSON 配置 Pipeline。
通過 API 建立 Pipeline 時,使用以下 JSON 配置。Pipeline API 詳情請參見Pipeline 概述。
{
"name": "quality_evaluation",
"description": "對話品質評估:去重採樣後對 Agent 輸出進行多維度 LLM 自動評分",
"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": "downsample",
"type": "sample",
"parameters": {
"n": 200
}
},
{
"id": "evaluate",
"type": "llm-call",
"parameters": {
"prompt": "@eval/agent-quality.md",
"fields": "question,input,output",
"format": "json",
"as": "eval"
}
}
]
},
"sink": {
"type": "dataset",
"dataset": {
"workspace": "your-workspace",
"dataset": "agent_quality_eval"
}
},
"executePolicy": {
"mode": "scheduled",
"scheduled": {
"fromTime": 1735689600,
"interval": "1h"
}
}
}將以下預留位置替換為實際值:
預留位置 | 說明 |
| Log Service Project 名稱。 |
| 儲存 Agent 互動日誌的 Logstore 名稱。 |
| Agent 服務名稱,用於篩選日誌資料。 |
| 資料集所在的工作空間。 |
| 儲存評估結果的資料集名稱,可自訂。 |
運行結果樣本
處理前(原始 Agent 日誌):
question | output | 品質? |
幫我查錯誤記錄檔 | SELECT * FROM log WHERE level=‘ERROR’ | ? |
統計Top10 IP | SELECT ip, count(*) … | ? |
看看有什麼異常 | 好的,我來幫你分析… | ? |
處理後(自動評估結果):
question | eval.需求理解 | eval.回答品質 | eval.格式規範 | overall |
幫我查錯誤記錄檔 | 5 | 4 | 5 | 4.6 |
統計Top10 IP | 5 | 5 | 5 | 4.8 |
看看有什麼異常 | 3 | 2 | 3 | 2.8 |
每條資料新增 eval 列(JSON),包含各維度評分和理由,可直接彙總統計平均分、篩選低分 Bad Case。參數說明
各節點的關鍵參數及調整建議如下。
節點 | 參數 | 說明 | 調整建議 |
| 選取 Agent 日誌中的欄位,支援嵌套欄位和重新命名。 | 根據實際日誌欄位路徑修改映射關係。 | |
| 使用 | 根據實際 input 格式調整Regex。 | |
| 指定去重依據的欄位名,預設為 | 如需更細粒度去重,可改為 | |
| 採樣數量,預設 200 條。採樣量直接決定 LLM 調用成本。 | 更多樣本覆蓋更全面但成本更高,建議根據預算調整。 | |
| 評估 Prompt 模板路徑。預設引用 | 修改 Prompt 檔案可自訂評估維度和評分標準。 | |
| 傳入 LLM Prompt 的欄位列表,多個欄位用英文逗號分隔。 | 添加更多欄位可為 LLM 提供更多評估上下文。 | |
| LLM 輸出格式,設定為 | 保持 |
定製建議
可根據業務需求對模板進行以下定製:
調整採樣數量:修改
sample節點的n參數控制每批評估的資料量。採樣量直接影響成本,sample -n=200每批約消耗 5~10 元(視模型定價)。增大n可提高覆蓋率但成本更高,減小n可降低成本但樣本代表性下降。指定評估模型:為
llm-call節點添加model參數(如qwen-max),使用更強的模型提升評估品質。未指定時使用系統預設模型。自訂評估維度:修改 Prompt 模板檔案中的維度定義和評分標準,適配不同業務情境(如需求理解評估、SQL 產生評估、客服對話評估等)。在 Prompt 模板中增加更多 Few-Shot(少樣本)樣本(尤其是邊界案例),可提升 LLM 評分的一致性和準確性。
多角度評估:追加更多
llm-call節點,從不同角度評估同一資料。計算總分:在
llm-call節點後追加extend節點,使用json_extract_scalar提取各維度分數並求平均值。
單次 Prompt 評估維度建議不超過 8 個。維度過多可能降低評分準確性,建議拆分為多個 llm-call 節點分別評估。
常見問題與處理
情境 | 處理方式 |
LLM 輸出非法 JSON |
|
評估標準不一致 | 增加更多 Few-Shot 樣本(尤其是邊界案例),提升 LLM 評分的一致性。 |
需要計算綜合得分 | 在 |
評估成本過高 | 降低 |
Pipeline 建立失敗 | 檢查 JSON 配置格式是否正確,確認 |
許可權不足 | 確認當前帳號具備Log Service的讀寫權限,包括源 Logstore 的讀取許可權、Pipeline 的建立和系統管理權限,以及目標資料集工作空間的寫入許可權。 |
資源不存在 | 檢查配置中的 Project、Logstore、工作空間名稱拼字是否正確,確認對應資源已建立且處於可用狀態。 |