{"id":51088931,"url":"https://github.com/A-EVO-Lab/a-evolve","last_synced_at":"2026-07-12T04:00:48.023Z","repository":{"id":340221227,"uuid":"1162297170","full_name":"A-EVO-Lab/a-evolve","owner":"A-EVO-Lab","description":"The official repository of \"Position: Agentic Evolution is the Path to Evolving LLMs\".","archived":false,"fork":false,"pushed_at":"2026-06-25T03:14:08.000Z","size":7949,"stargazers_count":618,"open_issues_count":7,"forks_count":80,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-06-25T05:08:20.156Z","etag":null,"topics":["agents","continual-learning","llm-agents","recursive-self-improvement","self-evolving","self-improving","self-improving-ai"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/A-EVO-Lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-20T04:52:59.000Z","updated_at":"2026-06-25T03:14:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/A-EVO-Lab/a-evolve","commit_stats":null,"previous_names":["a-evo-lab/a-evolve"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/A-EVO-Lab/a-evolve","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/A-EVO-Lab%2Fa-evolve","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/A-EVO-Lab%2Fa-evolve/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/A-EVO-Lab%2Fa-evolve/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/A-EVO-Lab%2Fa-evolve/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/A-EVO-Lab","download_url":"https://codeload.github.com/A-EVO-Lab/a-evolve/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/A-EVO-Lab%2Fa-evolve/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35381310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","continual-learning","llm-agents","recursive-self-improvement","self-evolving","self-improving","self-improving-ai"],"created_at":"2026-06-24T00:00:46.379Z","updated_at":"2026-07-12T04:00:47.916Z","avatar_url":"https://github.com/A-EVO-Lab.png","language":"Python","funding_links":[],"categories":["Agent Evolution and Self-Improvement"],"sub_categories":[],"readme":"# A-Evolve 🧬: The Universal Infrastructure for Self-Improving Agents\n\n[![GitHub stars](https://img.shields.io/github/stars/A-EVO-Lab/a-evolve?style=social)](https://github.com/A-EVO-Lab/a-evolve)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)\n[![arXiv](https://img.shields.io/badge/arXiv-2602.00359-b31b1b.svg)](https://arxiv.org/abs/2602.00359)\n\n\u003e **The PyTorch for Agentic AI.**\n\u003e A-Evolve is an open-source infrastructure that evolves *any* agent, across *any* domain, using *any* evolution algorithm — with zero human intervention.\n\n[Quick Start](#quick-start) | [News](#news) | [Benchmark Highlights](#benchmark-highlights) | [Architecture \u0026 Design](#architecture--design) | [Contribution](#community--contributing)\n\u003c/p\u003e\n\n![A-Evolve Teaser](figs/teaser.png)\n\n---\n\n## What Does A-Evolve Do?\n\nYou provide a Base Agent. A-Evolve returns a SOTA Agent. **3 lines of code. 0 hours of manual harness \nengineering.** One infra, any domain, any evolution algorithm.\n\n```python\nimport agent_evolve as ae\n\nevolver = ae.Evolver(agent=\"./my_agent\", benchmark=\"swe-verified\")\nresults = evolver.run(cycles=10)\n```\n\n### Benchmark Highlights\n\nBy applying our open-source **reference evolution algorithms** to a base Claude Opus-4.6 model with **zero manual harness engineering**, A-Evolve pushed agents into top-tier performance across four diverse benchmarks:\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"23%\"\u003e\n\u003ch3\u003e🟢 MCP-Atlas\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/badge/79.4%25-10b981?style=for-the-badge\u0026labelColor=065f46\" /\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cstrong\u003e🥇 #1\u003c/strong\u003e\u003cbr/\u003e\n\u003csub\u003eBaseline → \u003cstrong\u003e79.4%\u003c/strong\u003e (+3.4pp)\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"23%\"\u003e\n\u003ch3\u003e🔵 SWE-bench Verified\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/badge/76.8%25-2563eb?style=for-the-badge\u0026labelColor=1e3a5f\" /\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cstrong\u003e~#5\u003c/strong\u003e\u003cbr/\u003e\n\u003csub\u003eBaseline → \u003cstrong\u003e76.8%\u003c/strong\u003e (+2.6pp)\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"23%\"\u003e\n\u003ch3\u003e🟣 Terminal-Bench 2.0\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/badge/76.5%25-7c3aed?style=for-the-badge\u0026labelColor=3b1d6e\" /\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cstrong\u003e~#7\u003c/strong\u003e\u003cbr/\u003e\n\u003csub\u003eBaseline → \u003cstrong\u003e76.5%\u003c/strong\u003e (+13.0pp)\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"23%\"\u003e\n\u003ch3\u003e🟡 SkillsBench\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/badge/34.9%25-d97706?style=for-the-badge\u0026labelColor=78350f\" /\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cstrong\u003e#2\u003c/strong\u003e\u003cbr/\u003e\n\u003csub\u003eBaseline → \u003cstrong\u003e34.9%\u003c/strong\u003e (+15.2pp)\u003c/sub\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"23%\"\u003e\n\u003ch3\u003e🟢 ARC-AGI\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/badge/12.3%25-10b981?style=for-the-badge\u0026labelColor=065f46\" /\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cstrong\u003e🥇 #2 Community Leaderboard\u003c/strong\u003e\u003cbr/\u003e\n\u003csub\u003eBaseline → \u003cstrong\u003e12.3%\u003c/strong\u003e (+2.2pp)\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"23%\"\u003e\n\u003ch3\u003e🔵 OSWorld\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/badge/69.6%25-2563eb?style=for-the-badge\u0026labelColor=1e3a5f\" /\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cstrong\u003e—\u003c/strong\u003e\u003cbr/\u003e\n\u003csub\u003eBaseline → \u003cstrong\u003e69.6%\u003c/strong\u003e (+3.9pp)\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"23%\"\u003e\n\u003ch3\u003e🟣 SWE-bench Lite\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/badge/67.0%25-7c3aed?style=for-the-badge\u0026labelColor=3b1d6e\" /\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cstrong\u003eEvolved\u003c/strong\u003e\u003cbr/\u003e\n\u003csub\u003e63.7 → \u003cstrong\u003e67.0%\u003c/strong\u003e (+3.3pp)\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"23%\"\u003e\n\u003ch3\u003e🟡 τ-bench\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/badge/77.0%25-d97706?style=for-the-badge\u0026labelColor=78350f\" /\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cstrong\u003eEvolved\u003c/strong\u003e\u003cbr/\u003e\n\u003csub\u003e72.7 → \u003cstrong\u003e77.0%\u003c/strong\u003e (+4.3pp)\u003c/sub\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"23%\"\u003e\n\u003ch3\u003e🟢 CL-Bench\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/badge/34.0%25-10b981?style=for-the-badge\u0026labelColor=065f46\" /\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cstrong\u003eEvolved\u003c/strong\u003e\u003cbr/\u003e\n\u003csub\u003e29.5 → \u003cstrong\u003e34.0%\u003c/strong\u003e (+4.5pp)\u003c/sub\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"23%\"\u003e\n\u003ch3\u003e🔵 WebArena-Infinity\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/badge/76.3%25-2563eb?style=for-the-badge\u0026labelColor=1e3a5f\" /\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cstrong\u003eEvolved\u003c/strong\u003e\u003cbr/\u003e\n\u003csub\u003e72.5 → \u003cstrong\u003e76.3%\u003c/strong\u003e (+3.8pp)\u003c/sub\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n![A-Evolve Benchmarks](figs/a_evolve_benchmarks.png)\n\n\u003e *All results achieved with a single Claude Opus-4.6 base model, evolved using A-Evolve's sample algorithms. 0 hours of human harness engineering. Data checked March 2026.*\n\n### News\n- **6/11** **New Tech Report**, [*A-Evolve-Training: Autonomous Post-Training of a 30B Model\n*](https://arxiv.org/abs/2606.20657) (arXiv 2606.20657). We present an autonomous system that runs this loop with no human in the loop, **post-training a 30B Nemotron** across four rounds over multiple weeks. The autonomously produced model reaches a held-out score of **0.86 against the top human submission's 0.87** on the public NVIDIA Nemotron-Reasoning Challenge leaderboard, placing 8th of ~4000 at the time of writing. To the best of our knowledge, this is the first publicly reported autonomous post-training run at this scale, where prior public autonomous-ML-research demonstrations sit at GPT-2-class (~124M) budgets. The same system also post-trains the **120B and 550B** Nemotron models.\n- **6/1** **New Research Paper**, [*Adaptive Auto-Harness: Sustained Self-Improvement for Agentic System Deployment on Open-Ended Task Streams*](https://arxiv.org/abs/2606.01770) (arXiv 2606.01770). We address the brittleness of traditional auto-harness systems when moving from fixed benchmarks to open-ended, shifting task streams. We introduce **Adaptive Auto-Harness**, a framework that significantly outperforms five existing auto-harness baselines across prediction-market, security-competition, and event-forecasting streams. \n- **5/30** **New Research Paper**, [*Harness Updating Is Not Harness Benefit: Disentangling Evolution Capabilities in Self-Evolving LLM Agents*](https://arxiv.org/abs/2605.30621) (arXiv 2605.30621).Tested across 7 evolver models (Opus-4.6, Sonnet-4.6, Qwen-3.5-9B, GPT-OSS-120B, etc.) × 6 solver agents × 3 agentic benchmarks (SWE-bench Verified, MCP-Atlas, SkillsBench), we answered **which model produced the best harness update and which models benefits the most from harness update**.  \n- **05/04** **New Benchmark Results**, A-Evolve added [results](https://x.com/HenryL_AI/status/2051711038618480816?s=20) on ARC-AGI-3, evolving a multi-agent system to be more powerful on solving difficult tasks like [ARC-AGI-3](https://arcprize.org/arc-agi/3). Improving performance from 10% to 12%.\n- **04/20** **New Algorithm Drop**, A-Evolve added new evolutionary algorithm [GEPA](https://x.com/HenryL_AI/status/2046326722912739713?s=20), submitted by the [GEPA](https://gepa-ai.github.io/gepa/blog/) team.\n- **04/10** **Integration**, A-Evolve is officially integrated into [Orch-Research Skills Library](https://x.com/HenryL_AI/status/2042688465855488476), along with others including AutoResearch, OpenRLHF, DeepSpeed, SGLang\n- **04/07** **New Agent Drop**, We added recently leaked public ClawCode (Claude Code), took the evolution harness + skills we learned on Terminal-Bench 2.0 (TB2) and directly transplanted them onto the ClawCode. [Result](https://x.com/HenryL_AI/status/2041621538580132280) on TB2: baseline **67.8%** → **72.9%** (+5.1pp uplift)\n- **04/03** **New Algorithm Drop**, A-Evolve added new evolutionary algorithm [Meta-Harness](https://x.com/HenryL_AI/status/2040218374458974715)\n- **03/30** **Integration**, A-Evolve is officially integrated into [AutoResearchClaw](https://github.com/aiming-lab/AutoResearchClaw) \n- **03/25** 🚀 **Open-source A-Evolve**, the universal infrastructure for developing and testing evolving algorithms.\n- **03/25** 📊 **Open-source 4 evolving algorithms** developed with A-Evolve, achieving SOTA **(#1, ~#5, ~#7, #2)** on MCP-Atlas, SWE-bench Verified, Terminal-Bench 2.0, and SkillsBench.\n- **02/17** 📄 Release the official implementation of [*Position: Agentic Evolution is the Path to Evolving LLMs*](https://arxiv.org/abs/2602.00359) (arXiv 2602.00359).\n\nWe are evolving fast! Support our research by leaving a ⭐.\n\n### What Does an Evolved Agent Look Like?\n\nA-Evolve mutates real files in the workspace. Here's a before/after from our MCP-Atlas evolution:\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth width=\"50%\"\u003eBefore (Seed Workspace)\u003c/th\u003e\n\u003cth width=\"50%\"\u003eAfter (Evolved — 79.4% on MCP-Atlas)\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n```\nmcp_agent/\n├── manifest.yaml\n├── prompts/system.md      ← 20 lines, generic\n├── skills/                ← empty\n└── memory/                ← empty\n```\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n```\nmcp_agent/\n├── manifest.yaml\n├── prompts/system.md      ← 20 lines, unchanged\n├── skills/\n│   ├── entity-verification/SKILL.md   ← NEW\n│   ├── search-iteration/SKILL.md      ← NEW\n│   ├── multi-requirement/SKILL.md     ← NEW\n│   ├── code-execution/SKILL.md        ← NEW\n│   └── conditional-handler/SKILL.md   ← NEW\n└── memory/\n    └── episodic.jsonl     ← 6 entries\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n5 targeted skills outperformed 10 generic ones. Every mutation is git-tagged (`evo-1`, `evo-2`, …) for full reproducibility.\n\n---\n\n## Quick Start\n\n### 1. Install\n\n```bash\n# PyPI (recommended)\npip install a-evolve              # core\npip install a-evolve[anthropic]   # Claude support\npip install a-evolve[mcp]         # MCP-Atlas benchmark\npip install a-evolve[swe]         # SWE-bench benchmark\npip install a-evolve[all]         # everything\n\n# From source (for development)\ngit clone https://github.com/A-EVO-Lab/a-evolve.git \u0026\u0026 cd a-evolve\npip install -e \".[all,dev]\"\n```\n\n### 2. Evolve — 3 Lines of Code\n\n```python\nimport agent_evolve as ae\n\nevolver = ae.Evolver(\n    agent=\"swe-verified\",           # built-in seed workspace (or path to yours)\n    benchmark=\"swe-verified\",       # built-in benchmark adapter\n)\nresults = evolver.run(cycles=10)\n\nprint(f\"Final score: {results.final_score:.3f}\")\nprint(f\"Converged:   {results.converged}\")\n```\n\nA-Evolve ships with built-in seed workspaces (`swe`, `mcp`, `terminal`, `skillbench`) and benchmark adapters (`swe-verified`, `mcp-atlas`, `terminal-bench 2.0`, `skill-bench`). Point `agent=` at any of them — or at your own workspace directory.\n\n### 3. Bring Your Own Agent (BYOA)\n\nTo make any agent evolvable, implement one method — `solve()`:\n\n```python\nfrom agent_evolve.protocol.base_agent import BaseAgent\nfrom agent_evolve.types import Task, Trajectory\n\nclass MyAgent(BaseAgent):\n    def solve(self, task: Task) -\u003e Trajectory:\n        return Trajectory(task_id=task.id, output=\"result\")\n```\n\nThen evolve it:\n\n```python\nevolver = ae.Evolver(agent=MyAgent(\"./my_workspace\"), benchmark=\"mcp-atlas\")\nresults = evolver.run(cycles=10)\n```\n\nYour agent's evolvable state (prompts, skills, memory) lives as a standard directory — the [Agent Workspace](#the-agent-workspace-a-file-system-contract). A-Evolve mutates these files; your agent reloads. See [Architecture \u0026 Design](#architecture--design) for the full picture.\n\nFor benchmark-specific walkthroughs, see [SWE-bench Demo Guide](docs/swe-bench-demo.md), [MCP-Atlas Demo Guide](docs/mcp-atlas-demo.md), and [SkillBench Setup Guide](docs/skillbench-setup.md).\n\n---\n\n## Architecture \u0026 Design\n\n![A-Evolve Framework](figs/A-EVOLVE-FRAMEWORK.png)\n\n### The Agent Workspace: A File System Contract\n\nA-Evolve's core insight: **all evolvable agent state lives on the file system as a standard directory structure.** This lets the evolution engine mutate any agent via LLM-driven file operations — without knowing the agent's internals.\n\n```\nmy_agent/\n├── manifest.yaml          # identity, entrypoint, evolvable layers\n├── prompts/system.md      # system prompt\n├── skills/                # SKILL.md files (dynamic skill library)\n├── tools/                 # tool configurations\n└── memory/                # episodic + semantic memory (JSONL)\n```\n\nThe evolution engine reads these files, analyzes performance logs, and writes mutations back. The agent reloads. That's the entire contract.\n\n### The Evolution Loop\n\nEvery cycle follows five phases:\n\n```\n┌─────────┐    ┌─────────┐    ┌─────────┐    ┌──────┐    ┌────────┐\n│  Solve  │───▶│ Observe │───▶│ Evolve  │───▶│ Gate │───▶│ Reload │\n└─────────┘    └─────────┘    └─────────┘    └──────┘    └────────┘\n```\n\n1. **Solve** — Agent processes a batch of tasks (black-box execution).\n2. **Observe** — Collect trajectories + benchmark feedback into structured logs.\n3. **Evolve** — Evolution engine analyzes observations and mutates workspace files (prompts, skills, memory).\n4. **Gate** — Validate mutations on holdout tasks. Regressed mutations are rolled back via git.\n5. **Reload** — Agent reloads from the (possibly rolled-back) workspace.\n\nThe loop converges when EGL (Evolutionary Generality Loss) stabilizes or `max_cycles` is reached. Every accepted mutation is git-tagged (`evo-1`, `evo-2`, …), providing a full audit trail.\n\n### Built-in Adapters\n\nA-Evolve ships with ready-to-use benchmark adapters and seed workspaces:\n\n| Adapter | Domain | Seed Workspace | Best Result |\n| :--- | :--- | :--- | :--- |\n| [`swe-verified`](docs/swe-bench-demo.md) | Real-world GitHub issues (Python repos) | `seed_workspaces/swe/` | **76.8%** (~#5) |\n| [`mcp-atlas`](docs/mcp-atlas-demo.md) | Tool-calling via MCP (16+ servers) | `seed_workspaces/mcp/` | **79.4%** (🥇 #1) |\n| [`terminal-bench`](docs/terminal-bench-demo.md) | Terminal/CLI ops in Docker | `seed_workspaces/terminal/` | **76.5%** (~#7) |\n| [`skill-bench`](docs/skillbench-setup.md) | Agentic skill discovery | `seed_workspaces/skillbench/` | **34.9%** (~#2)|\n| [`cl-bench`](examples/cl_bench_examples/) | Continual-learning rubric evaluation | — | **38.0%** |\n\n### Pluggability: Bring Your Own Everything\n\nA-Evolve is a **framework**, not a standalone agent. Every axis is pluggable:\n\n| Axis | Interface | You Provide | Built-in Examples |\n| :--- | :--- | :--- | :--- |\n| **Agent (BYOA)** | `BaseAgent.solve()` | Any agent architecture — ReAct, Plan-and-Solve, custom | `SweAgent`, `McpAgent` |\n| **Benchmark (BYOE)** | `BenchmarkAdapter.get_tasks()` / `.evaluate()` | Any domain with task + evaluation signal | SWE-bench, MCP-Atlas, Terminal-Bench 2.0, SkillsBench, CL-bench |\n| **Algorithm (BYO-Algo)** | `EvolutionEngine.step()` | Any evolution strategy | `AEvolveEngine` (LLM-driven mutation) |\n| **LLM Provider** | `LLMProvider.complete()` | Any model API | Anthropic, OpenAI, AWS Bedrock |\n\n### Built-in Evolution Algorithms\n\nA-Evolve ships with 4 reference evolution algorithms, each targeting different domains and strategies:\n\n| Algorithm | Strategy | Best For | Docs |\n| :--- | :--- | :--- | :--- |\n| [`adaptive_evolve`](docs/algorithms/adaptive-evolve.md) | Per-claim feedback analysis + meta-learning | MCP-Atlas (🥇 #1, 79.4%) | [Guide](docs/algorithms/adaptive-evolve.md) |\n| [`adaptive_skill`](docs/algorithms/adaptive-skill.md) | LLM-driven workspace mutation with bash tool access | Terminal-Bench 2.0 (~#7, 76.5%)  | [Guide](docs/algorithms/adaptive-skill.md) |\n| [`skillforge`](docs/algorithms/skillforge.md) | LLM-driven workspace mutation with EGL gating | SkillsBench (#2, 34.9%) | [Guide](docs/algorithms/skillforge.md) |\n| [`guided_synth`](docs/algorithms/guided-synth.md) | Memory-first evolution + LLM-guided intervention synthesis |  General-purpose, SWE-bench (~#5, 76.8%) | [Guide](docs/algorithms/guided-synth.md) |\n\n#### Plugging in a custom evolution algorithm\n\nEach algorithm lives in its own directory under `algorithms/`. Implement a single method:\n\n```python\nfrom agent_evolve.engine.base import EvolutionEngine\nfrom agent_evolve.types import StepResult\n\nclass MyEvolutionEngine(EvolutionEngine):\n    def step(self, workspace, observations, history, trial) -\u003e StepResult:\n        # Analyze observations, mutate workspace files, optionally run trial tasks\n        ...\n        return StepResult(accepted=True, score=new_score)\n```\n\nThen pass it to the Evolver:\n\n```python\nevolver = ae.Evolver(\n    agent=\"swe-verified\",\n    benchmark=\"swe-verified\",\n    engine=MyEvolutionEngine(config),\n)\n```\n\nThe engine has full access to shared primitives — `TrialRunner` (on-demand validation), `EvolutionHistory` (observation + version queries), and `VersionControl` (git-based rollback) — but is never forced to use them. Minimal contract, maximum freedom.\n\n---\n\n## Community \u0026 Contributing\n\nA-Evolve is built for the research community. We welcome contributions across every axis of the framework.\n\n### For Algorithm Researchers\n\nIf you work in LLM self-optimization, reinforcement learning, or agent architectures — implement the `EvolutionEngine` interface and your algorithm instantly gains access to:\n\n- Diverse environments (SWE-bench, MCP-Atlas, Terminal-Bench 2.0, SkillsBench, and more).\n- Standardized agent workspace representations.\n- Rigorous evaluation, gating, and logging infrastructure.\n\nDrop your algorithm into `agent_evolve/algorithms/your_algo/` and open a PR.\n\n### For Benchmark Authors\n\nImplement `BenchmarkAdapter` to plug any new evaluation domain into A-Evolve. The interface is two methods: `get_tasks()` and `evaluate()`.\n\n### Get Involved\n\n- ⭐ **Star this repo** to support our research — we are evolving fast.\n- 🐛 **[Open an issue](https://github.com/A-EVO-Lab/a-evolve/issues)** to report bugs or request features.\n- 🔀 **[Submit a PR](https://github.com/A-EVO-Lab/a-evolve/pulls)** — new evolution algorithms, benchmark adapters, agent implementations, and documentation improvements are all welcome.\n- 💬 **[Join our Discord]()** to discuss research directions, share results, and collaborate.\n\n---\n\n## Citation\n\nIf you use A-Evolve in your research, please cite our position paper:\n\n```bibtex\n@article{lin2026position,\n  title={Position: Agentic Evolution is the Path to Evolving LLMs},\n  author={Lin, Minhua and Lu, Hanqing and Shi, Zhan and He, Bing and Mao, Rui and Zhang, Zhiwei and Wu, Zongyu and Tang, Xianfeng and Liu, Hui and Dai, Zhenwei and others},\n  journal={arXiv preprint arXiv:2602.00359},\n  year={2026}\n}\n```\n\n---\n\n## License\n\n[MIT](https://opensource.org/licenses/MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FA-EVO-Lab%2Fa-evolve","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FA-EVO-Lab%2Fa-evolve","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FA-EVO-Lab%2Fa-evolve/lists"}