GEPA for Coding Agents
Friday product updates for January 17, 2026.
TL;DR
- GEPA now supports context engineering across the full instruction surface (system prompts, AGENTS.md, skills, and other context artifacts).
- First-class coding agent support for Codex, Claude Code, and OpenCode.
- Pattern Discovery API automatically finds optimizable prompt locations from traces.
- RLM v1/v2 graph engine crates shipped with Responses API tool calling, execution tracing, and v4 trace support.
- OpenCode now ships packaged skills and a native TUI pane for interactive sessions.
GEPA for Coding Agents
GEPA now supports first-class context engineering for coding agents—not just prompts in the traditional sense, but the full constellation of instruction files that shape agent behavior:
- AGENTS.md — The instruction file that Codex and OpenCode read at startup
- Skills files —
.codex/skills.yaml,.opencode/skills.yaml, and custom skill definitions - System prompts — The system-level instructions passed to the underlying LLM
- Context artifacts — Architecture guides, reference snippets, documentation
Define what's mutable in your GEPA config:
[prompt_learning.gepa.unified_optimization]
enable_task_app_context_overrides = true
mutable_files = ["AGENTS.md", ".codex/skills.yaml"]GEPA will propose, mutate, and evolve these files alongside your prompts—treating the entire agent instruction surface as optimizable.
Optimize Your Coding Agent Workflow
We now support Codex, Claude Code, and OpenCode end-to-end in the same GEPA workflow. The engine_bench demo shows the full recipe for optimizing coding agents with Synth. It uses EngineBench—a benchmark where AI coding agents implement Pokemon TCG cards in Rust—as the evaluation task:
- Task App — A local API that defines your evaluation: what task the agent solves, how success is measured
- Daytona Sandboxes — Isolated cloud VMs where agents execute safely, with full filesystem and network access
- GEPA Config — Specifies which instruction artifacts to optimize (AGENTS.md, skills, system prompts)
Each rollout provisions a fresh sandbox from a snapshot (~3s), runs your agent (Codex or OpenCode), and returns a reward based on test results. GEPA evolves your agent's instructions across hundreds of rollouts in parallel.
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Synth Backend │────▶│ Task App │────▶│ Daytona Sandbox │
│ │ │ (your machine) │ │ (cloud VM) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
Runs GEPA Defines eval Executes agent
Proposes mutations Returns rewards Makes LLM calls
Run a coding agent optimization job:
cd synth-ai
USE_DAYTONA_SANDBOXES=1 uv run python demos/engine_bench/run_gepa_unified.py --localSee the engine_bench README for the complete setup guide.
Pattern Discovery API
The new /api/prompt-learning/patterns/discover endpoint analyzes your traces and identifies which parts of your agent's instructions can be optimized. Feed it traces from an eval job, and it returns ranked patterns with match counts.
Use this to bootstrap GEPA configs without manually specifying prompt locations—especially useful when you don't know exactly where the optimizable content lives in your agent's instruction hierarchy.
GEPA Auto-Discovery (Experimental)
Set auto_discover_patterns: true in your GEPA config to skip manual pattern specification entirely. GEPA will run a validation rollout, discover patterns from traces, and inject them automatically.
RLM v1/v2 Graph Engine
We added new Rust crates for RLM v1 and v2, including Responses API tool calling and richer execution traces. The graph engine now supports v4 traces and improved execution limits for long-context workloads.
Verifier Optimization, Simplified
Verifier optimization now uses a small set of supported templates (single, rlm_v1, rlm_v2) and a fixed topology. GEPA can focus on optimizing verifier prompts only, making iteration faster and more predictable for rubric-based workflows.
OpenCode TUI Enhancements
OpenCode now ships packaged skills and a native TUI pane for connecting to sessions, sending prompts, and tracking status from the terminal UI. The TUI also got polish updates for icons and loading states.
Reliability Improvements
Graph task apps now enforce stronger output schema validation and longer default rollout timeouts for verifier graphs.