From 5060e163c7f7e15de5e97f303c5c8048a159f1db Mon Sep 17 00:00:00 2001 From: Zyan Date: Fri, 5 Jun 2026 10:16:07 -0600 Subject: [PATCH 1/3] Update index.md (#1808) * Update index.md Creating documentation for the new Simple Prompt Optimizer nesting it in the optimization area of the site. * Update index.md --- docs/optimize/index.md | 53 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 48 insertions(+), 5 deletions(-) diff --git a/docs/optimize/index.md b/docs/optimize/index.md index c3a5938944..6c6501dfdc 100644 --- a/docs/optimize/index.md +++ b/docs/optimize/index.md @@ -188,16 +188,13 @@ Valid options are `DEBUG`, `INFO`, `WARNING`, `ERROR`, and `CRITICAL`. ## Available Samplers and Agent Optimizers -The following samplers and agent optimizers are provided with ADK. -The `adk optimize` command uses the `LocalEvalSampler` and -`GEPARootAgentPromptOptimizer` described below. -You can also use these samplers and agent optimizers in your own scripts. +ADK provides several samplers and agent optimizers which you can run using the `adk optimize` command line. The available options are as follows: ### `LocalEvalSampler` {#localevalsampler} The [`LocalEvalSampler`](https://github.com/google/adk-python/blob/main/src/google/adk/optimization/local_eval_sampler.py) -evaluates candidate agents using the ADK's +evaluates candidate agents using ADK's [`LocalEvalService`](https://github.com/google/adk-python/blob/main/src/google/adk/evaluation/local_eval_service.py). It provides eval results as an [`UnstructuredSamplingResult`](#sampler-results). You can configure the `LocalEvalSampler` with a `LocalEvalSamplerConfig` that @@ -258,6 +255,52 @@ Defaults to 3. optimization results if desired. Facilitates warm starts. +### `SimplePromptOptimizer` {#simplepromptoptimizer} + +The `SimplePromptOptimizer` is an automated, iterative prompt-tuning component designed +to systematically improve an agent's root system instructions using empirical evaluation data. +Unlike the GEPA-based optimizers that maintain a diverse Pareto frontier of multiple candidate +agents, the `SimplePromptOptimizer` executes a direct, sequential optimization loop focused entirely on +refining a single primary prompt across a series of specified iterations. + +The optimizer automatically executes an asynchronous, four-stage feedback loop: + +1. **Execute:** The target agent processes a specific batch of evaluation tasks managed by an implementation of the `Sampler` class. +2. **Evaluate**: The Sampler scores the agent's outputs against your evaluation datasets and returns a structured `SamplingResult`. +3. **Critique**: An underlying optimization large language model (LLM) (defaulting to Gemini-2.5-flash) analyzes the historical evaluation scores alongside the current prompt to isolate specific behavioral weaknesses or gaps. +4. **Rewrite**: The optimization model generates an updated variation of the system prompt tailored to address the discovered weaknesses. This new prompt is then fed directly into the next iteration. + +**Note:** The optimization loop does not mutate your initial agent instance in place. Upon completion, it returns an `OptimizerResult` containing the highest-scoring agent variation extracted during the process. + +### Configuration + +Configure the behavior of the loop by passing a `SimplePromptOptimizerConfig` instance to the optimizer. + +| Parameter | Type | Default | Description | +| :---- | :---- | :---- | :---- | +| `num_iterations` | int | *Required* | The total number of optimization rounds to execute. | +| `batch_size` | int | *Required* | The number of evaluation sample cases processed by the sampler during each individual iteration. | + +### Implementation Example + +Once your configuration is defined, run the optimization with: + +```python +from google.adk.optimization import SimplePromptOptimizer, SimplePromptOptimizerConfig + +# Define your Agent and Sampler first... + +# Configure the optimizer +config = SimplePromptOptimizerConfig( + num_iterations=5, + batch_size=10 +) + +# Run optimization +optimizer = SimplePromptOptimizer(config=config) +optimized_result = await optimizer.optimize(agent, sampler) +``` + ## Key Data Types ADK defines several base data types in From ea18deb82a300247ce07403c9cecfab816fd5c06 Mon Sep 17 00:00:00 2001 From: Kristopher Overholt Date: Fri, 5 Jun 2026 11:39:39 -0500 Subject: [PATCH 2/3] Add May 2026 ADK Community Call recording (#1803) --- docs/community/index.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/community/index.md b/docs/community/index.md index 7abdd6290e..19d93b0135 100644 --- a/docs/community/index.md +++ b/docs/community/index.md @@ -62,6 +62,16 @@ for updates on the next call. Recent recordings are below, or browse the full playlist](https://www.youtube.com/playlist?list=PLwi6PfxEP7zZbBPmWiZ8QbPcuKyAY5RR3). From 1d3029aed5a0b1b1f35ea6edb6e05c1b29490de9 Mon Sep 17 00:00:00 2001 From: Juan Carlos Gonzalez Resendiz Date: Fri, 5 Jun 2026 10:41:03 -0600 Subject: [PATCH 3/3] Update agent-registry.md (#1798) --- docs/integrations/agent-registry.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/agent-registry.md b/docs/integrations/agent-registry.md index 6f8de5d452..8e390ee93d 100644 --- a/docs/integrations/agent-registry.md +++ b/docs/integrations/agent-registry.md @@ -11,7 +11,7 @@ catalog_tags: ["google", "mcp", "connectors"] Supported in ADKPython v1.26.0Preview -The Agent Registry client library withins Agent Development Kit (ADK) allows +The Agent Registry client library within Agent Development Kit (ADK) allows developers to discover, look up, and connect to AI Agents and MCP Servers cataloged within the [Google Cloud Agent Registry](https://docs.cloud.google.com/agent-registry/overview). This enables