Quick Start
How It Works
| Phase | What happens |
|---|---|
| Reference | Each reference model receives the conversation (tool-free, stripped of system prompt and tool messages) and replies with its perspective |
| Inject | Reference guidance is appended to the tail of the latest user turn — not the system prompt — so Anthropic prompt caching on the stable prefix is preserved |
| Aggregate | The aggregator model acts as the real agent: it has full tool access, hooks, session, and memory |
Selecting a Model
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
provider | str | — | Must be "panel" |
references | list[str] | — | Advisory model names (run first, tool-free) |
aggregator | str | — | The acting model (gets full agent loop) |
enabled | bool | True | Set to False to disable the panel without changing the descriptor |
reference_temperature | float | 0.0 | Temperature for reference calls (stable advice) |
base_url | str | None | Custom endpoint forwarded to both aggregator and references |
api_key | str | None | API key forwarded to both aggregator and references |
api_version | str | None | API version forwarded to both aggregator and references |
base_url, api_key, temperature, api_version, auth) survive both the inline and named-preset paths and reach the aggregator. Explicit Agent(base_url=..., api_key=...) arguments take precedence.
Common Patterns
High-accuracy Q&A
Creative writing with multiple voices
Local + cloud hybrid
Disable panel temporarily
Best Practices
References are advisory — not for tool calls
References are advisory — not for tool calls
Reference models run tool-free by design. Only the aggregator has tool access. This is intentional: references provide perspective, not actions. Don’t expect tool results from reference calls.
Keep reference temperature at 0.0
Keep reference temperature at 0.0
The default
reference_temperature=0.0 gives you stable, deterministic advisory perspectives. Raise it only when you want diverse creative suggestions from references.No nested panels
No nested panels
References and the aggregator cannot themselves be panel descriptors — the SDK raises
ValueError on detection. This prevents infinite recursion and makes the call graph explicit.Prompt-cache discipline
Prompt-cache discipline
Reference guidance is injected at the tail of the latest user turn, never in the system prompt. This keeps the stable cached prefix intact so Anthropic prompt caching stays effective.
Partial failures are tolerated
Partial failures are tolerated
If a reference model call fails, the SDK logs a warning and replaces the result with
"(unavailable: reference call failed)". The aggregator still runs with the available perspectives.Related
LLM Configuration
Configure LLM providers and endpoints
Failover
Automatic fallback when a model fails
Model Router
Route requests to different models by criteria
Tools
Give agents executable capabilities

