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

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

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

JSON 表示法
{
  "name": string,
  "thinkingLevel": enum (ThinkingLevel),
  "weight": number
}
字段
name

string

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

thinkingLevel

enum (ThinkingLevel)

可选。以 Vertex ThinkingConfig.thinking_level 的身份发送。

weight

number

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

部分专业版模型最多只能占总权重的 50%;如果请求违反此上限,系统会以 INVALID_ARGUMENT 为由拒绝该请求。

ThinkingLevel

模型应思考的程度,以可移植的级别表示,而不是以 token 预算表示。级别需要 Gemini 3 模型:Gemini 2.5 及更早版本以 token 为单位计算预算思考,并直接拒绝级别。

给定模型接受哪些级别,以及在未设置此参数时使用哪些级别,这些信息因模型而异,并记录在模型文档中,而不是此处。

枚举
THINKING_LEVEL_UNSPECIFIED 未设置。模型会应用自己的默认值,但并非所有模型的默认值都相同。
MINIMAL 最少思考。并非所有型号都提供此功能。
LOW Vertex LOW。
MEDIUM Vertex MEDIUM。
HIGH Vertex HIGH。

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

获取现有 AlphaEvolveExperiment。

list

列出指定会话中的所有 AlphaEvolveExperiment。

resume

恢复工作流以处理 AlphaEvolveExperiment。

start

启动工作流以处理 AlphaEvolveExperiment。

submitProgramsEvaluations

向实验添加 AlphaEvolveProgramEvaluation。