跳至主要內容

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
多租戶範圍篩選條件(organizationIdprojectId),會轉發到儲存層。

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