活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 工具呼叫完成時間。 |
| run_id | Utf8 | 一次代理執行的穩定識別符號。 |
| agent_name | Utf8 | 代理工作流程名稱。 |
| tool_name | Utf8 | 稱為工具名稱。 |
| status | Utf8 | 工具呼叫結果。 |
| estimated_cost_usd | Float64 | 成本歸因於該步驟(如果可用)。 |
DataFusion SQL
複製查詢
sql
SELECT
run_id,
agent_name,
COUNT(*) AS tool_calls,
COUNT(DISTINCT tool_name) AS distinct_tools,
SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) AS failed_calls,
SUM(estimated_cost_usd) AS tool_loop_cost_usd,
MIN(timestamp_utc) AS first_call_at,
MAX(timestamp_utc) AS last_call_at
FROM agent_tool_calls
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY run_id, agent_name
HAVING COUNT(*) >= 8
AND COUNT(DISTINCT tool_name) <= 2
ORDER BY tool_calls DESC, tool_loop_cost_usd DESC
LIMIT 100;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
代理執行重複呼叫工具
計費調節器僅透過兩個工具進行了 17 次呼叫,但其中近一半失敗了。
run_9021
17
comparison 8
run_9154
11
comparison 0
| run_id | agent_name | tool_calls | distinct_tools | failed_calls | tool_loop_cost_usd | first_call_at | last_call_at |
|---|---|---|---|---|---|---|---|
| run_9021 | billing_reconciler | 17 | 2 | 8 | 0.84 | 12:02:11 | 12:06:48 |
| run_9154 | support_agent | 11 | 1 | 0 | 0.31 | 12:44:10 | 12:45:32 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1迴圈候選者結合了高呼叫次數和極低的工具多樣性。
- 2失敗的呼叫將顯式重試迴圈與從不提升狀態的重複成功呼叫區分開來。
- 3成本和經過的時間戳顯示了迴圈的財務和延遲影響。
需要決定的邊緣情況
- 一些批次處理代理可以多次合法地呼叫一種工具;按代理工作流程和預期專案數進行細分。
- 迴圈閾值應包括生產中的最大執行時間或狀態轉換。
- 不要記錄原始工具參數或返回的客戶內容來診斷迴圈。
推薦儀表板
- 酒吧:tool_calls by run_id
- 統計:可疑迴圈和歸因成本
- 資料表:所選執行的工具序列、狀態和分類錯誤
讓查詢範例發揮作用
相關埋點和指南
定義源資料
此分析的事件模式
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。