RepoNous ResearchNous Researchpublished Mar 9, 2026seen 5d

NousResearch/hermes-agent-self-evolution

Python

Open original ↗

Captured source

source ↗

NousResearch/hermes-agent-self-evolution

Description: ⚒ Evolutionary self-improvement for Hermes Agent — optimize skills, prompts, and code using DSPy + GEPA

Language: Python

Stars: 4016

Forks: 455

Open issues: 78

Created: 2026-03-09T10:42:48Z

Pushed: 2026-03-29T15:47:23Z

Default branch: main

Fork: no

Archived: no

README:

🧬 Hermes Agent Self-Evolution

Evolutionary self-improvement for [Hermes Agent](https://github.com/NousResearch/hermes-agent).

Hermes Agent Self-Evolution uses DSPy + GEPA (Genetic-Pareto Prompt Evolution) to automatically evolve and optimize Hermes Agent's skills, tool descriptions, system prompts, and code — producing measurably better versions through reflective evolutionary search.

No GPU training required. Everything operates via API calls — mutating text, evaluating results, and selecting the best variants. ~$2-10 per optimization run.

How It Works

Read current skill/prompt/tool ──► Generate eval dataset
│
▼
GEPA Optimizer ◄── Execution traces
│ ▲
▼ │
Candidate variants ──► Evaluate
│
Constraint gates (tests, size limits, benchmarks)
│
▼
Best variant ──► PR against hermes-agent

GEPA reads execution traces to understand *why* things fail (not just that they failed), then proposes targeted improvements. ICLR 2026 Oral, MIT licensed.

Quick Start

# Install
git clone https://github.com/NousResearch/hermes-agent-self-evolution.git
cd hermes-agent-self-evolution
pip install -e ".[dev]"

# Point at your hermes-agent repo
export HERMES_AGENT_REPO=~/.hermes/hermes-agent

# Evolve a skill (synthetic eval data)
python -m evolution.skills.evolve_skill \
--skill github-code-review \
--iterations 10 \
--eval-source synthetic

# Or use real session history from Claude Code, Copilot, and Hermes
python -m evolution.skills.evolve_skill \
--skill github-code-review \
--iterations 10 \
--eval-source sessiondb

What It Optimizes

| Phase | Target | Engine | Status | |-------|--------|--------|--------| | Phase 1 | Skill files (SKILL.md) | DSPy + GEPA | ✅ Implemented | | Phase 2 | Tool descriptions | DSPy + GEPA | 🔲 Planned | | Phase 3 | System prompt sections | DSPy + GEPA | 🔲 Planned | | Phase 4 | Tool implementation code | Darwinian Evolver | 🔲 Planned | | Phase 5 | Continuous improvement loop | Automated pipeline | 🔲 Planned |

Engines

| Engine | What It Does | License | |--------|-------------|---------| | [DSPy](https://github.com/stanfordnlp/dspy) + [GEPA](https://github.com/gepa-ai/gepa) | Reflective prompt evolution — reads execution traces, proposes targeted mutations | MIT | | [Darwinian Evolver](https://github.com/imbue-ai/darwinian_evolver) | Code evolution with Git-based organisms | AGPL v3 (external CLI only) |

Guardrails

Every evolved variant must pass: 1. Full test suitepytest tests/ -q must pass 100% 2. Size limits — Skills ≤15KB, tool descriptions ≤500 chars 3. Caching compatibility — No mid-conversation changes 4. Semantic preservation — Must not drift from original purpose 5. PR review — All changes go through human review, never direct commit

Full Plan

See [PLAN.md](PLAN.md) for the complete architecture, evaluation data strategy, constraints, benchmarks integration, and phased timeline.

License

MIT — © 2026 Nous Research

Notability

notability 6.0/10

Solid new repo with strong traction