Simple components, strong lineage.
SwarmMind is intentionally modular. You can swap models, change evaluators, and add plugins without rewriting the system.
System map
Conceptual flow from spec → run → archive → codex.
YAML Spec
├─ Agents (roles + prompts + tools)
├─ Mutators (prompt/tool/lineup)
├─ Evaluators (fitness functions)
└─ Plugins (pre_run / post_mutation / logging)
Runner
├─ Self-nomination (optional)
├─ Execute swarm
├─ Score outputs
└─ Select survivors
Archive (.jsonl)
├─ per-agent outputs
├─ experiment metadata
└─ reflections
Codex (curated)
├─ oaths / principles
├─ best prompts
└─ archetype registry
Core building blocks
Agents: personas with contracts and tooling.
Mutations: controlled variation of prompts & pipelines.
Selection: pick winners, keep lineage.
Plugins: hooks for persistence and transforms.
The goal is not maximal automation — it’s fast, measurable iteration.
What “fitness” can be
Fitness is a contract you define: rubric scoring, pairwise comparisons, unit tests, retrieval accuracy, cost/latency constraints, or domain outcomes (e.g., “did this explanation match the scoreboard?”).
Traceability
Each run produces artifacts you can inspect: prompts, tool calls, outputs, scores, and reflections. This makes the system debuggable — and makes “progress” auditable instead of mystical.
Debugging is a first-class feature.