Quick Start
1
Simple Usage
Deterministic ordering is automatic with memory:
2
With Configuration
Enable provider prompt caching explicitly — later turns hit the cached system block and history prefix:
3
OpenAI — no explicit markers
OpenAI applies prefix caching automatically; the SDK keeps the prefix byte-stable so no markers are emitted:
How It Works
Chat history you pass into
agent.start(...) is not mutated. The SDK deep-copies the boundary message before adding a marker, so the same history dict can be reused across OpenAI, Gemini, and Anthropic in mixed pipelines.Cache breakpoints
On Anthropic models the SDK marks two stable regions with acache_control breakpoint: the system prompt (instructions, tools, memory prelude) and the stable conversation-history prefix. The two most recent messages stay uncached — they change every turn, and marking them would move the cache boundary and invalidate the prefix.
The history-prefix breakpoint lands on the last stable message. Each turn the prefix grows by one exchange, so older prefixes stay cache-hittable while the volatile tail (the two most recent messages) is re-sent uncached.
Anthropic allows up to 4 breakpoints per request. The SDK counts markers already present — the system block plus any markers left on caller-supplied history — and returns early before adding a new one if that count reaches 4, so the provider cap is never exceeded.
Provider behaviour
Verified against
_explicit_cache_breakpoints() in llm.py — Anthropic gets explicit markers; OpenAI and Gemini rely on automatic prefix caching so no markers are emitted.
Configuration Options
Best Practices
Keep memory writes between turns minimal
Keep memory writes between turns minimal
Frequent memory updates change the prefix and reduce cache hits — batch updates at conversation boundaries.
Place stable content first
Place stable content first
Instructions, tools, and static memory before user messages and fresh data.
Use consistent parameters
Use consistent parameters
Varying
max_items between turns changes context and breaks cache effectiveness.Pair with cache optimisation
Pair with cache optimisation
See Prompt Cache Optimisation for tool sorting and the deterministic memory prefix.
Related
Prompt Cache Optimisation
Stable prefixes, tool sorting, and deterministic memory ordering
Advanced Memory
Memory configuration and search strategies

