本教程示範如何構建一條 AgentLoop Pipeline,將 AI Agent 作業記錄經過欄位選取、三級去重、多樣性採樣和 AI 品質評估,產出高品質 Dataset。完成全部步驟約需 5~10 分鐘。
前置條件
開始本教程前,確認以下條件已滿足:
已開通Log Service SLS。
已開通 AgentLoop 服務。如未開通,請在Log Service控制台上方日誌應用導覽列選擇AgentLoop,按頁面提示完成開通。
擁有一個包含 AI Agent 作業記錄的 SLS LogStore。如需建立 LogStore 並配置 Agent 日誌採集,請參見LogStore。
已建立一個用於存放處理結果的 AgentLoop Dataset。如需建立 Dataset,請在 AgentLoop 控制台的Dataset頁面完成建立。
請確保當前帳號擁有 SLS Project、LogStore 以及 AgentLoop Dataset 的讀寫權限。如使用 RAM 使用者,需要授予 AliyunLogFullAccess 策略和 AgentLoop Dataset 寫入許可權。
步驟一:分析業務資料與方案設計
本教程以一個客戶支援 Agent 應用的運行資料為實戰情境。該資料由阿里雲可觀測標準探針基於 OT AI 協議採集,完整記錄了使用者與 Agent 的每一次互動 Trace。目標是從約 10,000 條原始 Trace 中篩選出約 300 條高品質、多樣化的評估資料集。
開啟 LogStore,觀察原始日誌的欄位結構、資料量級和常見品質問題(重複記錄、雜訊資料、欄位缺失等),重點確認:
需要哪些欄位 -- 原始日誌可能包含幾十個欄位,實際需要的往往只有使用者輸入、模型輸出、模型名稱等少數幾個。
資料有多髒 -- 是否存在大量重複提問?是否有空值或無效記錄?
處理目標 -- 去重、採樣、AI 評估,還是全流程閉環?
核心思路:先通過去重和採樣大幅縮減資料量,再對精簡後的資料執行 AI 處理。LLM 調用按 Token 計費,「先減後增」可節省 97% 以上的調用成本。
步驟二:定義資料來源
指定 Pipeline 從哪個 LogStore 讀取未經處理資料。
登入AgentLoop控制台,在左側導覽列資料集-資料處理中,選擇任務管理,單擊建立任務。在輸入日誌庫中選擇 LogStore 作為資料輸入,配置 Project、LogStore 名稱及可選的查詢過濾條件。
參數 | 值(樣本) | 說明 |
|
| SLS Project 名稱 |
|
| 存放 Agent 作業記錄的 LogStore |
|
| 可選過濾條件, |
配置完成後,Pipeline 按調度策略從該 LogStore 讀取原始日誌作為輸入。
query 支援 LogStore 查詢文法,可在入口過濾不需要的日誌類型,減少下遊處理量。
步驟三:欄位選取與預先處理
從原始日誌中選取關鍵字段,提取有效資訊,過濾無效資料。此步驟包含欄位選取、正則提取和空值過濾三個節點。
選取欄位
從原始日誌中選取目標欄位並統一命名,聲明 Pipeline 的輸入 Schema。
參數(Pipeline 欄位名) | 值(原始日誌欄位) | 說明 |
|
| 使用者輸入 |
|
| Agent 輸出 |
|
| 模型名稱 |
|
| 鏈路追蹤識別碼 |
表中鍵是 Pipeline 內部使用的欄位名,值是原始日誌中的欄位名。後續所有節點均使用此處定義的欄位名。
正則提取
原始日誌中的 question 可能包含首碼文本,使用Regex提取真實的使用者提問。
參數 | 值 | 說明 |
|
| 覆蓋已有 |
過濾空值
過濾 question 為空白或過短的記錄。
參數 | 值 | 說明 |
|
| 保留非空且長度大於 10 的記錄 |
效果:10,000 條原始日誌經欄位選取、正則提取、空值過濾後約剩 8,000 條有效資料。
步驟四:三級去重
逐級消除不同層次的冗餘資料。三級去重按計算代價從低到高排列:精確去重(字面完全相同)、近似去重(文本高度相似)、語義去重(含義等價)。前置節點先削減資料量,使高代價節點的輸入規模可控。
精確去重
去除 question 完全相同的重複記錄,每組僅保留文本最長的一條。
參數 | 值 | 說明 |
|
| 按此欄位判斷是否完全相同 |
效果:8,000 條 → 6,000 條(去除完全相同的重複提問)。
近似去重
去除文本高度相似(如錯別字、標點、空格)的記錄。
參數 | 值 | 說明 |
|
| 按此欄位做近似比較 |
|
| 編輯距離閾值(推薦預設值) |
閾值參考:
閾值 | 嚴格程度 | 說明 |
| 非常嚴格 | 僅過濾個別字元差異 |
| 推薦預設 | 適合大多數文本 |
| 較寬鬆 | 可能誤刪有意義差異的文本 |
效果:6,000 條 → 3,500 條(去除錯別字、標點等微小差異的近似重複)。
語義去重
去除表述不同但含義相同的記錄。
參數 | 值 | 說明 |
|
| 按此欄位做語義比較 |
|
| 語義距離閾值(推薦預設值) |
閾值參考:
閾值 | 嚴格程度 | 說明 |
| 非常嚴格 | 僅過濾幾乎同義的表述 |
| 推薦預設 | 適合大多數語義去重情境 |
| 較寬鬆 | 可能誤刪相關但不同義的文本 |
效果:3,500 條 → 2,000 條(去除語義等價的不同表述)。
語義去重會自動產生 __dedup_emb 擴充列(Embedding 向量),下一步的聚類節點可直接複用,無需重複計算。
步驟五:多樣性採樣
在保證語義多樣性的前提下,將資料量縮減到可控規模。通過語義聚類 + 分組採樣的組合,先將資料按語義相似性分簇,再從每簇中採樣代表性樣本。
語義聚類
基於 Embedding 向量將資料分為 100 個語義簇。
參數 | 值 | 說明 |
|
| 直接複用上遊語義去重產生的向量列 |
|
| 聚類簇數 |
分組採樣
按簇分組,每簇隨機取 3 條代表性樣本。
參數 | 值 | 說明 |
|
| 按聚類別識別碼 分組 |
|
| 每簇採樣條數 |
效果:2,000 條 → 不超過 300 條(100 簇 x 每簇 3 條)。最終產出覆蓋各語義類別的代表性子集。
最終資料量約等於簇數 x 每簇條數。如需更多資料,增大 n 或增加簇數;如需更少資料,減小對應參數即可。
步驟六:AI 品質評估
添加 LLM 調用節點,通過 Prompt 定義 AI 任務。本教程以品質評估為例示範配置方法,只需修改 Prompt 內容即可擴充為標註、合成、翻譯等任意 AI 任務。
參數 | 值 | 說明 |
| (Prompt 模板) | 包含 |
|
| 聲明參與渲染的列名,須與 Prompt 中的預留位置一致 |
|
| 確保輸出始終是合法 JSON(即使 LLM 返回異常也會兜底) |
|
| 輸出資料行名,評估結果存入 |
效果:300 條資料不變,每條新增 eval 列,包含 accuracy、completeness、readability 三個維度評分及評估理由。
資料已從 10,000 條縮減到 300 條,LLM 調用成本降低 97%。這正是「先減後增」原則的價值。
步驟七:配置輸出與調度
指定處理結果寫入哪個 Dataset,並配置定時調度策略。
輸出目標
參數 | 值(樣本) | 說明 |
|
| Dataset 所在的工作空間 |
|
| 目標 Dataset 名稱,處理結果自動寫入 |
調度策略
參數 | 值(樣本) | 說明 |
|
| 調度模式,目前支援定時執行 |
|
| 調度起始時間,Unix 時間戳記(秒) |
|
| 調度間隔,支援 |
配置完成後,Pipeline 每 15 分鐘自動執行一次,持續從 LogStore 讀取新資料並寫入 Dataset。
完整 Pipeline 配置
將步驟二至步驟七的所有配置合并即可得到完整的 Pipeline 配置。可啟動並執行 JSON 配置請參考去資料去重清洗模板或端到端全流程模板,將 your-project、your-agent-LogStore、your-workspace 等預留位置替換為實際值即可。
步驟八:驗證與調優
Pipeline 建立後按調度策略自動運行。驗證運行結果並根據實際效果調整參數。
查看運行結果
查看 Dataset -- 進入目標 Dataset,確認寫入的資料條數和欄位內容。
檢查 eval 列 -- 查看 AI 評估結果,確認評分維度和分布是否合理。
查看執行日誌 -- 如遇報錯,檢查節點引用的欄位名是否與 LogStore 實際欄位一致。
常見錯誤及處理
Pipeline 運行中可能遇到以下錯誤,請根據錯誤現象排查對應原因。
錯誤情境 | 錯誤現象 | 排查方向 |
許可權不足 | 提示 | 在 RAM 控制台檢查當前帳號是否已授予 AliyunLogFullAccess 策略和 AgentLoop Dataset 寫入許可權。 |
LogStore 不存在 | 提示 | 在 SLS 控制台確認 |
Dataset 不存在 | 提示 | 在 AgentLoop 控制台確認 |
JSON 格式錯誤 | 提示 | 檢查 LLM 調用節點的 |
欄位名不一致 | 節點執行報錯或輸出為空白 | 檢查節點引用的欄位名是否與 LogStore 實際欄位或上遊節點輸出的欄位名一致。 |
常見調優方向
調優目標 | 操作建議 |
去重太嚴格,資料量太少 | 增大近似去重的 |
去重太寬鬆,仍有重複 | 減小閾值,如近似去重設為 |
採樣資料量不夠 | 增大分組採樣的 |
採樣資料量太多 | 減小分組採樣的 |
評估維度需調整 | 修改 LLM 調用節點的 |
需要更高品質的評估 | 在 LLM 調用節點中添加 |
增量去重
如果 Pipeline 持續運行(如每 15 分鐘一次),建議為去重節點開啟全域模式,確保跨批次無重複。
參數 | 值 | 說明 |
|
| 開啟全域去重,與 Dataset 歷史資料做增量比對 |
|
| 歷史資料所在的工作空間 |
|
| 歷史資料所在的 Dataset |
全域去重將當前批次資料與 Dataset 歷史資料做增量比對。首批執行時 Dataset 為空白,效果從第二批開始顯現。
進階:擴充 Pipeline
在當前 Pipeline 基礎上,可擴充以下能力:
自動分類標註
在評估節點之後添加一個 LLM 調用節點,對資料做結構化分類標註。通過 Prompt 定義分類維度(如問題分類、使用者意圖、難度等級),format 設為 json,結果存入 anno 列,用於資料分析或模型訓練。
資料增強合成
添加一個 LLM 調用節點,基於已有資料合成語義相似但表述不同的新問答對,擴充訓練資料。結果存入 synthetic 列。超長 Prompt 建議註冊為命名模板(@path 引用),便於版本管理和複用。
智能體深度分析
使用智能體調用節點替代普通 LLM 調用節點,調用數字員工進行深度分析。智能體調用節點封裝了 SOP 流程、知識庫檢索、工具調用等能力,適合多步推理的複雜分析情境。
總結與後續步驟
本教程構建了一條從原始日誌到高品質 Dataset 的完整 Pipeline,涵蓋欄位選取、三級去重、多樣性採樣和 AI 品質評估。通過「先減後增」的設計,10,000 條未經處理資料經過處理後產出約 300 條高品質評估資料,同時 LLM 調用成本降低 97%。
後續可參考以下資源: