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

Recurso: AlphaEvolveExperiment

Un experimento es una sola ejecución del agente AlphaEvolve, un agente de codificación evolutiva potenciado por LLM para el descubrimiento y la optimización de algoritmos.

Representación JSON
{
  "name": string,
  "createTime": string,
  "config": {
    object (AlphaEvolveExperimentConfig)
  },
  "stats": {
    object (AlphaEvolveExperimentStats)
  },
  "state": enum (State),
  "initialAlphaEvolveProgram": string
}
Campos
name

string

Es el identificador. Es el nombre completo del recurso del experimento. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/alphaEvolveExperiments/{alphaEvolveExperiment}

createTime

string (Timestamp format)

Solo salida. Es la fecha y hora en que se creó el experimento.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

config

object (AlphaEvolveExperimentConfig)

Obligatorio. Es la configuración del experimento.

stats

object (AlphaEvolveExperimentStats)

Solo salida. Son las estadísticas del experimento.

state

enum (State)

Solo salida. Es el estado del experimento.

initialAlphaEvolveProgram

string

Solo salida. Especifica el nombre del programa inicial utilizado para iniciar el experimento.

AlphaEvolveExperimentConfig

Es la configuración de un experimento.

Representación JSON
{
  "title": string,
  "problemDescription": string,
  "programLanguage": string,
  "runSettings": {
    object (RunSettings)
  },
  "generationSettings": {
    object (GenerationSettings)
  },
  "evolutionSettings": {
    object (EvolutionSettings)
  }
}
Campos
title

string

Obligatorio. Es el título del experimento.

problemDescription

string

Obligatorio. Es la descripción del problema que se resolverá con el experimento.

programLanguage

string

Obligatorio. Es el lenguaje de programación principal del código que se optimiza.

runSettings

object (RunSettings)

Obligatorio. Es la configuración de ejecución del experimento, que controla el comportamiento general de la ejecución del experimento.

generationSettings

object (GenerationSettings)

Es opcional. Es la configuración de generación del experimento, que controla cómo se generan los candidatos a programas nuevos, incluidos los parámetros del LLM y el contexto y las instrucciones proporcionados por el usuario.

evolutionSettings

object (EvolutionSettings)

Es opcional. Es la configuración de la evolución del experimento.

RunSettings

Es la configuración de ejecución del experimento.

Representación JSON
{
  "maxPrograms": integer,
  "concurrency": integer,
  "maxDuration": string
}
Campos
maxPrograms

integer

Obligatorio. Es la cantidad máxima de programas que se generarán durante la ejecución del experimento. El programa inicial se incluye en este límite. Debe ser superior a 1.

concurrency

integer

Obligatorio. Es la cantidad máxima de programas que se pueden generar en paralelo. Debe ser positivo.

maxDuration

string (Duration format)

Es opcional. Es la duración máxima del experimento. Si no se configura, el valor predeterminado es 24 horas.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

GenerationSettings

Es la configuración de generación del experimento.

Representación JSON
{
  "context": string,
  "includeFullProgramInPrompt": boolean,
  "models": [
    {
      object (ModelConfig)
    }
  ]
}
Campos
context

string

Es opcional. Es el contexto adicional proporcionado por el usuario que se usará durante la generación.

includeFullProgramInPrompt

boolean

Es opcional. Cuando es verdadero, la instrucción del LLM incluye el texto completo del programa (tanto las regiones mutables de EVOLVE-BLOCK como el texto estándar inmutable). Cuando es falso (valor predeterminado), solo se muestran las regiones mutables de EVOLVE-BLOCK, lo que ahorra ventana de contexto.

models[]

object (ModelConfig)

Es opcional. Configuración por modelo Consulta ModelConfig para obtener más información. Si no se configura, el servidor selecciona un modelo predeterminado.

ModelConfig

Configuración por modelo Es mutuamente excluyente con modelMixture y model: Cuando se establece models, se deben dejar sin establecer modelMixture y model.

Se aplican la misma lista de modelos permitidos y la regla de un máximo de 2 modelos que para modelMixture. Además, cada entrada puede especificar un temperature por modelo para el muestreo de LLM. A diferencia de modelMixture, los pesos aquí son relativos: solo importan sus proporciones (el servidor los normaliza), por lo que los llamadores pueden usar cualquier número positivo sin tener que asegurarse de que sumen 1.0.

Representación JSON
{
  "name": string,
  "thinkingLevel": enum (ThinkingLevel),
  "weight": number
}
Campos
name

string

Obligatorio. Nombre del modelo (p.ej., gemini-2.5-flash, gemini-3.1-pro-preview). Consulta modelMixture para ver la lista de modelos permitidos.

thinkingLevel

enum (ThinkingLevel)

Es opcional. Se envió como Vertex ThinkingConfig.thinking_level.

weight

number

Es opcional. Es el peso relativo de este modelo en la mezcla. Debe ser un valor finito y estrictamente positivo. Los pesos de todas las entradas se normalizan del lado del servidor, por lo que no es necesario que sumen 1.0. El valor predeterminado es 1.0 cuando no se configura, lo que resulta conveniente cuando se configura un solo modelo o una mezcla uniforme.

Algunos modelos de nivel Pro tienen un límite de hasta el 50% del peso total. Las solicitudes que incumplen ese límite se rechazan con INVALID_ARGUMENT.

ThinkingLevel

Qué tan difícil debe pensar el modelo, como un nivel portátil en lugar de un presupuesto de tokens. Los niveles necesitan un modelo de Gemini 3: Gemini 2.5 y versiones anteriores presupuestan el razonamiento en tokens y rechazan un nivel de inmediato.

Los niveles que acepta un modelo determinado y los que usa cuando no se establece esta opción son específicos de cada modelo y se documentan con el modelo, no aquí.

Enums
THINKING_LEVEL_UNSPECIFIED Sin establecer. El modelo aplica su propio valor predeterminado, que no es el mismo nivel para todos los modelos.
MINIMAL La menor cantidad de pensamiento. No todos los modelos la ofrecen.
LOW Vertex LOW.
MEDIUM Vertex MEDIUM.
HIGH Vertex HIGH.

EvolutionSettings

Es la configuración de la evolución del experimento.

Representación JSON
{
  "parentSamplingConfig": {
    object (ParentSamplingConfig)
  }
}
Campos
parentSamplingConfig

object (ParentSamplingConfig)

Es opcional. Es la configuración del muestreo principal.

ParentSamplingConfig

Es la configuración del muestreo de elementos superiores.

Representación JSON
{
  "paretoSamplingConfig": {
    object (ParetoSamplingConfig)
  }
}
Campos
paretoSamplingConfig

object (ParetoSamplingConfig)

Es opcional. Es la configuración del muestreo de Pareto.

ParetoSamplingConfig

Es la configuración del muestreo de Pareto.

Representación JSON
{
  "paretoSamplingProbability": number
}
Campos
paretoSamplingProbability

number

Opcional. Es la probabilidad [0.0, 1.0] de muestrear programas principales a partir de la frontera de Pareto en lugar del muestreo normal basado en la aptitud durante la generación de candidatos. Es útil cuando se optimizan varias métricas de forma simultánea. El valor predeterminado es 0.0 (inhabilitado). Solo es eficaz cuando la evaluación devuelve varias métricas en scores_to_optimize.

AlphaEvolveExperimentStats

Son las estadísticas sobre el experimento.

Representación JSON
{
  "candidatesCount": integer,
  "evaluatedCandidatesCount": integer,
  "inputTokenCount": string,
  "outputTokenCount": string
}
Campos
candidatesCount

integer

Solo salida. Cantidad de candidatos generados.

evaluatedCandidatesCount

integer

Solo salida. Cantidad de candidatos evaluados.

inputTokenCount

string (int64 format)

Solo salida. Es la cantidad de tokens de entrada facturados que consumió el experimento.

outputTokenCount

string (int64 format)

Solo salida. Es la cantidad de tokens de salida facturados que consumió el experimento.

Estado

valores del estado del experimento.

Enums
STATE_UNSPECIFIED Valor predeterminado. Este valor no se usa.
CREATED Se creó el experimento.
RUNNING El experimento se está ejecutando.
PAUSED El experimento está en pausa.
COMPLETED El experimento ha finalizado.
FAILED El experimento falló.

Métodos

acquirePrograms

Adquiere uno o más AlphaEvolveProgram de la cola de programas generada para la evaluación.

create

Crea una AlphaEvolveExperiment nueva.

delete

Borra un experimento, siempre y cuando este se encuentre en un estado final (p.ej.,

get

Obtén un AlphaEvolveExperiment existente.

list

Enumera todos los AlphaEvolveExperiment en una sesión determinada.

resume

Reanuda un flujo de trabajo para procesar el AlphaEvolveExperiment.

start

Inicia un flujo de trabajo para procesar el AlphaEvolveExperiment.

submitProgramsEvaluations

Agrega un AlphaEvolveProgramEvaluation al experimento.