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

Recurso: AlphaEvolveExperiment

Um experimento é uma única execução do agente AlphaEvolve, um agente de programação evolutiva com tecnologia de LLM para descoberta e otimização de algoritmos.

Representação JSON
{
  "name": string,
  "createTime": string,
  "config": {
    object (AlphaEvolveExperimentConfig)
  },
  "stats": {
    object (AlphaEvolveExperimentStats)
  },
  "state": enum (State),
  "initialAlphaEvolveProgram": string
}
Campos
name

string

Identificador. O nome completo do recurso do experimento. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/alphaEvolveExperiments/{alphaEvolveExperiment}

createTime

string (Timestamp format)

Somente saída. Horário em que o experimento foi criado.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

config

object (AlphaEvolveExperimentConfig)

Obrigatório. Configuração do experimento.

stats

object (AlphaEvolveExperimentStats)

Apenas saída. Estatísticas do experimento.

state

enum (State)

Apenas saída. O estado do experimento.

initialAlphaEvolveProgram

string

Apenas saída. Especifica o nome do programa de sementes usado para iniciar o experimento.

AlphaEvolveExperimentConfig

Configuração de um experimento.

Representação JSON
{
  "title": string,
  "problemDescription": string,
  "programLanguage": string,
  "runSettings": {
    object (RunSettings)
  },
  "generationSettings": {
    object (GenerationSettings)
  },
  "evolutionSettings": {
    object (EvolutionSettings)
  }
}
Campos
title

string

Obrigatório. Título do experimento.

problemDescription

string

Obrigatório. Descrição do problema a ser resolvido pelo experimento.

programLanguage

string

Obrigatório. Linguagem de programação principal do código que está sendo otimizado.

runSettings

object (RunSettings)

Obrigatório. Executar configurações para o experimento, controlando o comportamento geral da execução.

generationSettings

object (GenerationSettings)

Opcional. Configurações de geração do experimento, controlando como os novos candidatos a programas são gerados, incluindo parâmetros de LLM e contexto e comandos fornecidos pelo usuário.

evolutionSettings

object (EvolutionSettings)

Opcional. Configurações de evolução do experimento.

RunSettings

Executar as configurações do experimento.

Representação JSON
{
  "maxPrograms": integer,
  "concurrency": integer,
  "maxDuration": string
}
Campos
maxPrograms

integer

Obrigatório. Número máximo de programas a serem gerados durante a execução do experimento. O programa inicial conta para esse limite. Precisa ser maior que 1.

concurrency

integer

Obrigatório. Número máximo de programas que podem ser gerados em paralelo. Precisa ser positivo.

maxDuration

string (Duration format)

Opcional. Duração máxima do experimento. Se não for definido, o padrão será 24 horas.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

GenerationSettings

Configurações de geração do experimento.

Representação JSON
{
  "context": string,
  "includeFullProgramInPrompt": boolean,
  "models": [
    {
      object (ModelConfig)
    }
  ]
}
Campos
context

string

Opcional. Contexto adicional fornecido pelo usuário a ser usado durante a geração.

includeFullProgramInPrompt

boolean

Opcional. Quando verdadeiro, o comando do LLM inclui o texto completo do programa (regiões mutáveis EVOLVE-BLOCK e texto padrão imutável). Quando é "false" (padrão), apenas as regiões mutáveis EVOLVE-BLOCK são mostradas, economizando a janela de contexto.

models[]

object (ModelConfig)

Opcional. Configuração por modelo. Consulte ModelConfig para detalhes. Se não for definido, o servidor vai selecionar um modelo padrão.

ModelConfig

Configuração por modelo. Mutuamente exclusivo com modelMixture e model: quando models é definido, modelMixture e model precisam ficar sem definição.

A mesma lista de modelos permitidos e a regra de no máximo dois modelos que se aplicam a modelMixture também valem para. Além disso, cada entrada pode especificar um temperature por modelo para amostragem de LLM. Ao contrário de modelMixture, os pesos aqui são relativos: apenas as proporções deles importam (o servidor os normaliza). Portanto, os chamadores podem usar qualquer número positivo sem precisar garantir que a soma seja 1,0.

Representação JSON
{
  "name": string,
  "thinkingLevel": enum (ThinkingLevel),
  "weight": number
}
Campos
name

string

Obrigatório. Nome do modelo (por exemplo, gemini-2.5-flash, gemini-3.1-pro-preview). Consulte modelMixture para ver a lista de modelos permitidos.

thinkingLevel

enum (ThinkingLevel)

Opcional. Enviado como Vertex ThinkingConfig.thinking_level.

weight

number

Opcional. Ponderação relativa para esse modelo na combinação. Precisa ser um valor finito e estritamente positivo. As ponderações em todas as entradas são normalizadas no lado do servidor, portanto, não precisam somar 1,0. O padrão é 1.0 quando não definido, o que é conveniente ao configurar um único modelo ou uma mistura uniforme.

Alguns modelos do nível Pro são limitados a no máximo 50% do peso total. Solicitações que violam esse limite são rejeitadas com INVALID_ARGUMENT.

ThinkingLevel

O quanto o modelo precisa pensar, como um nível portátil em vez de um orçamento de token. Os níveis precisam de um modelo do Gemini 3: o Gemini 2.5 e versões anteriores fazem um orçamento de raciocínio em tokens e rejeitam um nível imediatamente.

Os níveis que um determinado modelo aceita e os que ele usa quando isso não está definido são específicos de cada modelo e estão documentados com ele, não aqui.

Tipos enumerados
THINKING_LEVEL_UNSPECIFIED Não definido. O modelo aplica o próprio padrão, que não é o mesmo nível para todos os modelos.
MINIMAL Menos pensamento. Não é oferecido por todos os modelos.
LOW Vertex LOW.
MEDIUM Vertex MEDIUM.
HIGH Vertex HIGH.

EvolutionSettings

Configurações de evolução do experimento.

Representação JSON
{
  "parentSamplingConfig": {
    object (ParentSamplingConfig)
  }
}
Campos
parentSamplingConfig

object (ParentSamplingConfig)

Opcional. Configuração de amostragem da família.

ParentSamplingConfig

Configuração para amostragem de parentes.

Representação JSON
{
  "paretoSamplingConfig": {
    object (ParetoSamplingConfig)
  }
}
Campos
paretoSamplingConfig

object (ParetoSamplingConfig)

Opcional. Configuração de amostragem de Pareto.

ParetoSamplingConfig

Configuração para amostragem de Pareto.

Representação JSON
{
  "paretoSamplingProbability": number
}
Campos
paretoSamplingProbability

number

Opcional. Probabilidade [0.0, 1.0] de amostragem de programas principais da fronteira de Pareto em vez da amostragem normal baseada em adequação durante a geração de candidatos. Útil ao otimizar várias métricas simultaneamente. O padrão é 0,0 (desativado). Só é eficaz quando a avaliação retorna várias métricas em "scores_to_optimize".

AlphaEvolveExperimentStats

Estatísticas sobre o experimento.

Representação JSON
{
  "candidatesCount": integer,
  "evaluatedCandidatesCount": integer,
  "inputTokenCount": string,
  "outputTokenCount": string
}
Campos
candidatesCount

integer

Apenas saída. Número de candidatos gerados.

evaluatedCandidatesCount

integer

Apenas saída. Número de candidatos avaliados.

inputTokenCount

string (int64 format)

Apenas saída. Número de tokens de entrada faturados consumidos pelo experimento.

outputTokenCount

string (int64 format)

Apenas saída. Número de tokens de saída faturados consumidos pelo experimento.

Estado

valores de estado do experimento.

Tipos enumerados
STATE_UNSPECIFIED Valor padrão. Esse valor não é usado.
CREATED O experimento é criado.
RUNNING O experimento está em execução.
PAUSED O experimento está pausado.
COMPLETED O experimento foi concluído.
FAILED O experimento falhou.

Métodos

acquirePrograms

Adquire um ou mais AlphaEvolveProgram da fila gerada de programas para avaliação.

create

Cria uma AlphaEvolveExperiment.

delete

Exclui um experimento, desde que ele esteja em um estado final (por exemplo,

get

Obtenha um AlphaEvolveExperiment existente.

list

Lista todos os AlphaEvolveExperiments em uma determinada sessão.

resume

Retoma um fluxo de trabalho para processar o AlphaEvolveExperiment.

start

Inicia um fluxo de trabalho para processar o AlphaEvolveExperiment.

submitProgramsEvaluations

Adiciona um AlphaEvolveProgramEvaluation ao experimento.