REST Resource: projects.locations.collections.engines.sessions.alphaEvolveExperiments

资源:AlphaEvolveExperiment

实验是指 AlphaEvolve 智能体(一种由 LLM 赋能的进化型编码智能体,用于发现和优化算法)的单次运行。

JSON 表示法
{
  "name": string,
  "createTime": string,
  "config": {
    object (AlphaEvolveExperimentConfig)
  },
  "stats": {
    object (AlphaEvolveExperimentStats)
  },
  "state": enum (State),
  "initialAlphaEvolveProgram": string
}
字段
name

string

标识符。实验的完整资源名称。格式:projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/alphaEvolveExperiments/{alphaEvolveExperiment}

createTime

string (Timestamp format)

仅限输出。实验的创建时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

config

object (AlphaEvolveExperimentConfig)

必需。实验配置。

stats

object (AlphaEvolveExperimentStats)

仅限输出。实验统计数据。

state

enum (State)

仅限输出。实验的状态。

initialAlphaEvolveProgram

string

仅限输出。指定用于启动实验的初始程序的名称。

AlphaEvolveExperimentConfig

实验的配置。

JSON 表示法
{
  "title": string,
  "problemDescription": string,
  "programLanguage": string,
  "runSettings": {
    object (RunSettings)
  },
  "generationSettings": {
    object (GenerationSettings)
  },
  "evolutionSettings": {
    object (EvolutionSettings)
  }
}
字段
title

string

必需。实验的标题。

problemDescription

string

必需。实验要解决的问题的说明。

programLanguage

string

必需。要优化的代码的主要编程语言。

runSettings

object (RunSettings)

必需。实验的运行设置,用于控制实验运行的总体行为。

generationSettings

object (GenerationSettings)

可选。实验的生成设置,用于控制如何生成新的程序候选对象,包括 LLM 参数以及用户提供的上下文和提示。

evolutionSettings

object (EvolutionSettings)

可选。实验的进化设置。

RunSettings

实验的运行设置。

JSON 表示法
{
  "maxPrograms": integer,
  "concurrency": integer,
  "maxDuration": string
}
字段
maxPrograms

integer

必需。实验运行期间要生成的最多的程序数量。初始计划会计入此限额。必须大于 1。

concurrency

integer

必需。可并行生成的节目数量上限。必须为正值。

maxDuration

string (Duration format)

可选。实验的最长时长。如果未设置,则默认为 24 小时。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

GenerationSettings

实验的生成设置。

JSON 表示法
{
  "context": string,
  "includeFullProgramInPrompt": boolean,
  "models": [
    {
      object (ModelConfig)
    }
  ]
}
字段
context

string

可选。在生成过程中使用的用户提供的其他背景信息。

includeFullProgramInPrompt

boolean

可选。如果为 true,LLM 提示会包含完整的程序文本(包括可变的 EVOLVE-BLOCK 区域和不可变的样板)。如果为 false(默认值),则仅显示可变的 EVOLVE-BLOCK 区域,从而节省上下文窗口。

models[]

object (ModelConfig)

可选。每个模型的配置。如需了解详情,请参阅 ModelConfig。如果未设置,服务器会选择默认模型。

ModelConfig

每个模型的配置。与 modelMixturemodel 互斥:如果设置了 models,则必须将 modelMixturemodel 留空。

modelMixture 相同,允许的模型列表和最多 2 个模型的规则也适用。此外,每个条目都可以为 LLM 抽样指定每个模型的 temperature。与 modelMixture 不同,此处的权重是相对的:只有它们的比率才重要(服务器会对其进行归一化处理),因此调用者可以使用任何正数,而不必确保它们的总和为 1.0。

JSON 表示法
{
  "name": string,
  "weight": number
}
字段
name

string

必需。模型名称(例如 gemini-2.5-flashgemini-3.1-pro-preview)。如需查看允许使用的模型列表,请参阅 modelMixture

weight

number

可选。相应模型在混合模型中的相对权重。必须是有限的严格正值。所有条目的权重在服务器端经过归一化处理,因此无需总和为 1.0。如果未设置,则默认为 1.0,这在配置单个模型或均匀混合时非常方便。

部分 Pro 级模型的权重上限为总权重的 50%;如果请求违反此上限,系统会以 INVALID_ARGUMENT 为由拒绝该请求。

EvolutionSettings

实验的进化设置。

JSON 表示法
{
  "parentSamplingConfig": {
    object (ParentSamplingConfig)
  }
}
字段
parentSamplingConfig

object (ParentSamplingConfig)

可选。父采样配置。

ParentSamplingConfig

父级采样的配置。

JSON 表示法
{
  "paretoSamplingConfig": {
    object (ParetoSamplingConfig)
  }
}
字段
paretoSamplingConfig

object (ParetoSamplingConfig)

可选。Pareto 抽样配置。

ParetoSamplingConfig

帕累托抽样的配置。

JSON 表示法
{
  "paretoSamplingProbability": number
}
字段
paretoSamplingProbability

number

可选。在候选生成期间,从 Pareto 前沿抽样父程序的概率 [0.0, 1.0],而不是基于正常适应度的抽样。在同时优化多个指标时非常有用。默认值为 0.0(已停用)。仅当评估在 scores_to_optimize 中返回多个指标时有效。

AlphaEvolveExperimentStats

有关实验的统计信息。

JSON 表示法
{
  "candidatesCount": integer,
  "evaluatedCandidatesCount": integer,
  "inputTokenCount": string,
  "outputTokenCount": string
}
字段
candidatesCount

integer

仅限输出。生成的候选字词数。

evaluatedCandidatesCount

integer

仅限输出。评估的候选人数。

inputTokenCount

string (int64 format)

仅限输出。实验消耗的已结算输入 token 数量。

outputTokenCount

string (int64 format)

仅限输出。实验消耗的已结算输出 token 数量。

实验状态值。

枚举
STATE_UNSPECIFIED 默认值。此值未使用。
CREATED 实验已创建。
RUNNING 实验正在运行。
PAUSED 实验已暂停。
COMPLETED 实验已完成。
FAILED 实验失败。

方法

acquirePrograms

从生成的程序队列中获取一个或多个 AlphaEvolveProgram 以进行评估。

create

创建新 AlphaEvolveExperiment

delete

删除实验,前提是实验处于结束状态(例如

get

获取现有 [实验][]。

list

列出指定会话中的所有 AlphaEvolveExperiment

resume

恢复工作流以处理 AlphaEvolveExperiment

start

启动工作流以处理 AlphaEvolveExperiment

submitProgramsEvaluations

向实验添加 AlphaEvolveProgramEvaluation