Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions docs/community/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).

<div class="resource-grid">
<a href="https://www.youtube.com/watch?v=vbqKmK0rArI" class="resource-card">
<div class="card-image-wrapper">
<img src="https://img.youtube.com/vi/vbqKmK0rArI/maxresdefault.jpg" alt="ADK Community Call May 2026">
</div>
<div class="card-content">
<div class="type">Community Call</div>
<h3>📞 May 2026 Recording</h3>
<p>Discussions include the ADK Python 2.0 GA release, initial release of ADK for Kotlin and Android, demos of Agents CLI and Skills for dynamic capability loading, and a community spotlight on Beever Atlas.</p>
</div>
</a>
<a href="https://www.youtube.com/watch?v=bPngDY7EuOQ" class="resource-card">
<div class="card-image-wrapper">
<img src="https://img.youtube.com/vi/bPngDY7EuOQ/maxresdefault.jpg" alt="ADK Community Call Mar 2026">
Expand All @@ -82,16 +92,6 @@ playlist](https://www.youtube.com/playlist?list=PLwi6PfxEP7zZbBPmWiZ8QbPcuKyAY5R
<p>Discussions include ADK evaluations with built-in metrics, token-based context compaction, the BigQuery observability plugin, and a community spotlight on Redis integration.</p>
</div>
</a>
<a href="https://www.youtube.com/watch?v=h9Lueiqo89E" class="resource-card">
<div class="card-image-wrapper">
<img src="https://img.youtube.com/vi/h9Lueiqo89E/maxresdefault.jpg" alt="ADK Community Call Jan 2026">
</div>
<div class="card-content">
<div class="type">Community Call</div>
<h3>📞 Jan 2026 Recording</h3>
<p>Discussions include Session Service schema for cross-language support, TypeScript multi-agent demo, API Registry for MCP servers, and third-party tool integrations.</p>
</div>
</a>

</div>

Expand Down
2 changes: 1 addition & 1 deletion docs/integrations/agent-registry.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ catalog_tags: ["google", "mcp", "connectors"]
<span class="lst-supported">Supported in ADK</span><span class="lst-python">Python v1.26.0</span><span class="lst-preview">Preview</span>
</div>

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
Expand Down
53 changes: 48 additions & 5 deletions docs/optimize/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
Loading