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

리소스: AlphaEvolveExperiment

실험은 알고리즘 발견 및 최적화를 위해 LLM으로 구동되는 진화적 코딩 에이전트인 AlphaEvolve 에이전트의 단일 실행입니다.

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)

출력 전용입니다. 실험이 생성된 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. '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시간입니다.

소수점 아래가 최대 9자리까지이고 '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,
  "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이며, 단일 모델 또는 균등한 혼합을 구성할 때 유용합니다.

일부 Pro 등급 모델은 총 가중치의 최대 50% 로 제한됩니다. 이 제한을 위반하는 요청은 INVALID_ARGUMENT와 함께 거부됩니다.

ThinkingLevel

모델이 얼마나 열심히 생각해야 하는지 나타내는 휴대용 수준입니다(토큰 예산이 아님). 수준에는 Gemini 3 모델이 필요합니다. Gemini 2.5 이하 모델은 토큰으로 사고 예산을 책정하고 수준을 완전히 거부합니다.

특정 모델이 허용하는 수준과 이 수준이 설정되지 않은 경우 사용하는 수준은 모델별이며 여기에 설명되어 있지 않고 모델과 함께 문서화되어 있습니다.

열거형
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)

선택사항입니다. 파레토 샘플링 구성입니다.

ParetoSamplingConfig

파레토 샘플링 구성입니다.

JSON 표현
{
  "paretoSamplingProbability": number
}
필드
paretoSamplingProbability

number

선택사항입니다. 후보 생성 중에 일반적인 적합도 기반 샘플링 대신 파레토 프런티어에서 상위 프로그램을 샘플링할 확률[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)

출력 전용입니다. 실험에서 사용한 청구 가능한 입력 토큰 수입니다.

outputTokenCount

string (int64 format)

출력 전용입니다. 실험에서 사용된 청구된 출력 토큰 수입니다.

실험 상태 값입니다.

열거형
STATE_UNSPECIFIED 기본값 이 값은 사용되지 않습니다.
CREATED 실험이 생성됩니다.
RUNNING 실험이 진행 중입니다.
PAUSED 실험이 일시중지되었습니다.
COMPLETED 실험이 완료되었습니다.
FAILED 실험이 실패했습니다.

메서드

acquirePrograms

평가를 위해 생성된 프로그램 대기열에서 하나 이상의 AlphaEvolveProgram을 획득합니다.

create

AlphaEvolveExperiment를 만듭니다.

delete

실험이 종료 상태인 경우 (예:

get

기존 AlphaEvolveExperiment를 가져옵니다.

list

지정된 세션의 모든 AlphaEvolveExperiment를 나열합니다.

resume

AlphaEvolveExperiment를 처리하기 위해 워크플로를 다시 시작합니다.

start

AlphaEvolveExperiment를 처리하는 워크플로를 시작합니다.

submitProgramsEvaluations

실험에 AlphaEvolveProgramEvaluation를 추가합니다.