Evolve
anything.
Prompts, skills, programs, agent harnesses, or your own artifact type. AgentDescent gives each a measurable evolution loop, with interchangeable modules for how candidates are proposed, selected, merged and accepted.
curl -fsSL https://raw.githubusercontent.com/Birfy/agentdescent/main/scripts/install.sh | bashDefine what changes.
Measure what improves.
AgentDescent is not tied to a prompt format. A Strategy represents your artifact as state and turns proposals into diffs. An actor tries tasks; a reward says what success means. The loop explores candidates, evaluates them and commits accepted changes to a versioned ledger.
Meet evolve() ↗One evolve().
Many algorithms.
Keep the loop; change its decisions. Choose what the artifact is, who proposes edits, how work runs, and which candidates survive. Swap one module or supply your own optimizer.
Start with one artifact.
The same entry point handles the task, reward, actor and artifact strategy. Unspecified policy slots use their defaults.
evolve(tasks, reward, agent=agent,
strategy=FileTree(files),
policies=Policies())Illustrative configuration · supply your own tasks, reward, agent and files.A policy slot only changes that decision. For algorithms with their own population or optimizer state, use aggregator_factory ↗. See the full module map ↗
See it inside
your agent.
AgentDescent also works inside Claude Code, Codex and other coding agents. Walk through a sample conversation, from plan to proposed diff.
No model calls or files changed
More than prompts.
More than skills.
Any artifact you can represent, propose changes to and evaluate can fit the loop. Start with built-in strategies or define the three-method Strategy contract for your own state.
Evolve one instruction.
Replace a single value and compare candidates against the tasks you care about.
Read the prompt quickstart ↗You are a helpful assistant. + Respond with only the requested answer. + Omit extra explanation and restatement.
Algorithms are examples,
not the limit.
The repository ports published methods onto the same engines. ACE evolves context, GEPA searches prompts, DGM edits an agent harness, and OpenEvolve searches programs. Each declares its own strategy, policies or optimizer.
Explore all 23 methods ↗Research flexibility.
Engineering control.
AgentDescent includes the machinery around an algorithm: scheduling work, checking candidates, handling conflicts and keeping accepted versions. Use what you need; replace the parts your method changes.
Split the search.
Shard tasks, partition artifact sections or lease task clusters with pluggable parallel strategies.
DataParallel · TensorParallel · ClusterParallel ↗02 / ASYNC RUNTIMEKeep workers moving.
Run without a round barrier. The merger processes evidence while workers continue, with staleness and backpressure controls.
Explore the async runtime ↗03 / CONFLICT-AWARE MERGECombine what belongs.
Resolve contradictory diffs, fuse compatible changes and accept candidates against held-out evidence.
Follow the aggregator ↗04 / EVALUATIONMeasure before committing.
Optionally rank on a fixed cheap subset, use the full held-out set for commit decisions and cache repeated evaluations.
Understand verification ↗05 / VERSIONED STATEKnow what changed.
A git-backed ledger records artifact versions and accepted diffs, with development and stable branches.
Inspect the ledger ↗06 / GOVERNANCEControl the blast radius.
Keep protected material outside the evolving artifact and use stronger gates for agent harnesses or code.
Read the governance model ↗Use Claude, an OpenAI-compatible endpoint, a local model or your own run and propose functions.
Start with your agent.
One command installs AgentDescent and connects supported agents on your PATH.