dataset.listExperiments()
新增於: @mastra/core@1.4.0
列出此資料集的實驗(執行),並可使用篩選及分頁。 篩選條件會在儲存層套用,因此結果必定限於目前資料集。
使用範例使用範例 的直接連結
import { Mastra } from '@mastra/core'
const mastra = new Mastra({/* storage config */})
const dataset = await mastra.datasets.get({ id: 'dataset-id' })
// Basic pagination
const { experiments, pagination } = await dataset.listExperiments({ page: 0, perPage: 10 })
// Filter to a specific agent version — useful for baseline vs variant comparisons
const { experiments: v2Runs } = await dataset.listExperiments({
targetType: 'agent',
targetId: 'my-agent',
agentVersion: 'v2',
status: 'completed',
})
for (const exp of experiments) {
console.log(`${exp.id}: ${exp.status} (${exp.succeededCount}/${exp.totalItems})`)
}
參數參數 的直接連結
targetType?:
'agent' | 'workflow' | 'scorer' | 'processor'
只包含針對此目標類型執行的實驗。
targetId?:
string
只包含針對此目標 ID 執行的實驗。
agentVersion?:
string
只包含針對此 Agent 版本記錄的實驗,有助區分基準執行與變體執行。
status?:
'pending' | 'running' | 'completed' | 'failed'
只包含處於此狀態的實驗。
filters?:
ExperimentTenancyFilters
多租戶範圍篩選條件(
organizationId、projectId),會轉交至儲存層。page?:
number
頁碼。預設為
0。perPage?:
number
每頁的實驗數目。預設為
20。傳回值傳回值 的直接連結
result:
Promise<object>
分頁實驗清單。
object
experiments:
Experiment[]
實驗記錄陣列。
Experiment
id:
string
實驗的唯一 ID。
name?:
string
顯示名稱。
description?:
string
描述。
metadata?:
Record<string, unknown>
任意元資料。
datasetId:
string
上層資料集的 ID。
datasetVersion:
number | null
實驗所用的資料集版本。
targetType:
'agent' | 'workflow' | 'scorer' | 'processor'
所用目標的類型。
targetId:
string
所用目標的 ID。
status:
'pending' | 'running' | 'completed' | 'failed'
實驗目前的狀態。
totalItems:
number
項目總數。
succeededCount:
number
成功項目的數目。
failedCount:
number
失敗項目的數目。
skippedCount:
number
略過項目的數目。
startedAt:
Date | null
實驗的開始時間。
completedAt:
Date | null
實驗的完成時間。
createdAt:
Date
實驗記錄的建立時間。
updatedAt:
Date
實驗記錄上次更新的時間。
pagination:
PaginationInfo
包含
total、page、perPage 及 hasMore 的分頁元資料。