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

每個模型都有各自的設定。與 modelMixturemodel 互斥:設定 models 時,必須將 modelMixturemodel 留空。

modelMixture 相同,最多只能有 2 個模型,且必須在允許的模型清單中。此外,每個項目都可以指定每個模型的 temperature,用於 LLM 取樣。與 modelMixture 不同,這裡的權重是相對權重:只有比率才重要 (伺服器會將權重標準化),因此呼叫者可以使用任何正數,不必確保總和為 1.0。

JSON 表示法
{
  "name": string,
  "weight": number
}
欄位
name

string

這是必要旗標,模型名稱 (例如 gemini-2.5-flashgemini-3.1-pro-preview)。如需允許使用的模型清單,請參閱modelMixture

weight

number

選用。這個模型在混合模型中的相對權重。必須是有限的正值。所有項目的權重都會在伺服器端經過正規化,因此不必加總為 1.0。如未設定,預設值為 1.0,方便您設定單一模型或平均混合。

部分 Pro 級模型最多只能佔總權重的 50%,如果要求違反這項上限,系統會拒絕並傳回 INVALID_ARGUMENT。

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

取得現有 [實驗][]。

list

列出指定工作階段中的所有 AlphaEvolveExperiment

resume

繼續執行工作流程,處理 AlphaEvolveExperiment

start

啟動處理 AlphaEvolveExperiment 的工作流程。

submitProgramsEvaluations

AlphaEvolveProgramEvaluation 新增至實驗。