Synth AI
WorkshopCookbooksBlogDocsStackStackSign in
WorkshopCookbooksBlogDocsStackStackSign in
Changelog

GEPA for Coding Agents

Friday product updates for January 17, 2026.

Saturday, January 17, 20261 min read
gepacoding-agentscodexopencode
Archive
This is historical material. Use the current Managed Research, Research Factory, and GEPA/GELO pages for product decisions.

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:

toml
[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:

  1. Task App — A local API that defines your evaluation: what task the agent solves, how success is measured
  2. Daytona Sandboxes — Isolated cloud VMs where agents execute safely, with full filesystem and network access
  3. 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:

bash
cd synth-ai
USE_DAYTONA_SANDBOXES=1 uv run python demos/engine_bench/run_gepa_unified.py --local

See 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.

←Back to Changelog

Ready to try Synth?

Get started with serverless RL training and prompt optimization.

Get StartedSchedule Demo
On this page
  • TL;DR
  • GEPA for Coding Agents
  • Optimize Your Coding Agent Workflow
  • Pattern Discovery API
  • GEPA Auto-Discovery (Experimental)
  • RLM v1/v2 Graph Engine
  • Verifier Optimization, Simplified
  • OpenCode TUI Enhancements
  • Reliability Improvements
© 2026 SynthWorkshopReleasesCookbooksChangelogOpen sourceDocsBook a Demo