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 的分頁中繼資料。