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

ID。實驗的完整資源名稱。格式:projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/alphaEvolveExperiments/{alphaEvolveExperiment}

createTime

string (Timestamp format)

僅供輸出。實驗的建立時間。

使用 RFC 3339,產生的輸出內容一律會經過 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 小時。

時間長度以秒為單位,最多可有 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

每個模型都有各自的設定。與 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,方便您設定單一模型或平均混合。

部分 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

Pareto 取樣的設定。

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)

僅供輸出。實驗消耗的付費輸入權杖數量。

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 新增至實驗。