Communitygithub.com

swarma – Wachstumsexperimente für Agententeams

Agententeams, die Wachstumsexperimente durchführen und ihr eigenes Playbook erstellen. GROWS-Loop: Hypothese generieren, Experiment durchführen, Signal beobachten, Urteil fällen, Playbook erweitern. 18 vorgefertigte Squads für den gesamten AARRR-Trichter. Deine Agenten hören auf zu raten und fangen an zu lernen.

Was ist swarma – Wachstumsexperimente für Agententeams?

swarma ist ein Framework zur Durchführung von Wachstumsexperimenten (A/B-Tests) durch KI-Agententeams. Es folgt dem GROWS-Loop: Generate (Hypothese generieren), Run (Experiment durchführen), Observe (Signal beobachten), Weigh (Urteil fällen) und Stack (Playbook erweitern). Mit 18 vorgefertigten Squads deckt es den gesamten AARRR-Trichter ab – von der Akquisition (z. B. Hook-Lab, Landing-Lab) über die Aktivierung bis hin zu Bindung und Empfehlungen. Ein zentrales Team-Generator-Tool erstellt maßgeschneiderte Teams aus einem Benutzerziel. Die Plattform unterstützt Claude Code (via MCP), Hermes (via Terminal/MCP), OpenClaw sowie die CLI direkt. swarma ist ideal für Entwickler und Produktteams, die datengetriebene Experimente skalieren möchten (50+ pro Woche). Es ersetzt reine Vermutungen durch protokollierte, analysierte und durchsuchbare Experimentdaten. Ein entscheidendes Feature ist die Möglichkeit, reale Metriken (z. B. CTR, Conversions) in den Loop einzuspeisen, um LLM-Selbstbewertungen zu validieren. swarma ist nicht für Workflow-Automatisierung (n8n/Make) oder einmalige Pipelines (CrewAI/AutoGen) gedacht, sondern für iterative Lernschleifen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add glitch-rabin/swarma

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

swarma – Wachstumsexperimente-Loop für Agententeams

Wann diese Fähigkeit genutzt werden sollte

Nutze swarma, wenn der Benutzer Folgendes möchte:

  • Wachstumsexperimente durchführen (Hooks, Landing Pages, Outreach, Preise, Aktivierung, Bindung)
  • Agententeams aufbauen, die lernen und sich verbessern durch A/B-Tests, nicht nur einmalig ausführen
  • Ein validiertes Playbook erhalten, das tatsächlich für die spezifische Zielgruppe/Produkt funktioniert
  • Ideen in großem Maßstab testen (50+ Experimente/Woche statt 2–5)
  • „Das haben wir versucht, es hat nicht funktioniert" durch protokollierte, analysierte, durchsuchbare Experimentdaten ersetzen

Auslösephrasen: „teste was funktioniert", „optimiere meinen Trichter", „finde die besten Hooks", „Experimente durchführen", „A/B-Test", „was funktioniert", „ein Playbook erstellen", „Wachstumsexperimente", „Conversion verbessern"

NICHT verwenden, wenn: Benutzer Workflow-Automatisierung (n8n/Make), Gesprächsspeicher (honcho) oder einmalige Agenten-Pipelines (CrewAI/AutoGen) möchte. swarma ist speziell für Experiment-Loops, die sich mit der Zeit verbessern.


Kurzreferenz

Befehle auf einen Blick

BefehlWas er tutWann verwenden
swarma initInstanz + Start-Team erstellenErsteinrichtung
swarma cycle <team>Einen Experimentzyklus ausführenTesten, manuelle Ausführung
swarma cycle <team> --topic "..."Zyklus mit einem bestimmten Thema ausführenAd-hoc-Experimente
swarma team create <name> --from-goal "..."Team aus einem Ziel generierenNeuen Experimentbereich starten
swarma team show <name>Teamkonfiguration anzeigenÜberprüfen, was generiert wurde
swarma team listAlle Teams anzeigenÜbersicht
swarma statusKosten, letzte Läufe, ExperimenteHealth Check
swarma metric log <team> <agent> <value>Externe Metrik protokollierenEchtzeitdaten einspeisen
swarma metric import <team> <csv>Metriken in Bulk importierenBatch-Datenaufnahme
swarma metric show <team>Protokollierte Metriken anzeigenLeistungsüberprüfung
swarma serve --port 8282REST-API startenExterne Integrationen
swarma serve --mcpMCP-Server startenClaude Code / Hermes-Integration
swarma runGeplanten Engine-StartKontinuierlicher Betrieb
swarma expert listÜberlegungslinsen durchsuchenExperten-Frameworks erkunden

Entscheidung: Welches Squad-Template?

Benutzer möchte verbessern...Dieses Squad verwendenAARRR-Stufe
Eröffnungszeilen / Hookshook-labAkquisition
Landing-Page-Textelanding-labAkquisition
SEO-Rankingsseo-engineAkquisition
Kaltakquise-Antwortratencold-outboundAkquisition
Multiplattform-Inhaltechannel-mixAkquisition
Onboarding von Anmeldung zu Wertactivation-flowAktivierung
Preise und Paketepricing-labUmsatz
Abwanderung und Bindungretention-squadBindung
Virale Loops und Empfehlungenreferral-engineEmpfehlung
Marktpositionierungcompetitive-intel--
Kurzvideo-Pipelinefaceless-factoryAkquisition
Anzeigen-Creative-Testsad-creative-labAkquisition
UGC-Inhaltssimulationugc-factoryAkquisition
Programmatisches SEOprogrammatic-seoAkquisition
Newsletter-Wachstumnewsletter-engineBindung
Paid + organische Loopsacquisition-squadAkquisition
Community-getriebenes Wachstumcommunity-engineBindung
KI-Commerce-Optimierungagentic-storefrontUmsatz

Entscheidung: Generieren vs. Vorlage?

SituationAnsatz
Benutzer hat ein spezifisches, klar definiertes Zielswarma team create --from-goal (KI entwirft das Team)
Ziel entspricht einem bestehenden Squad-TemplateTemplate kopieren, dann anpassen
Benutzer möchte breit experimentierenMit hook-lab starten (am allgemeinsten)
Benutzer weiß nicht, wo er anfangen sollNach Trichterengpass fragen, dann auswählen

Der GROWS-Loop (Kernkonzept)

Jeder Experimentzyklus folgt fünf Schritten:

  Generieren       Ausführen       Beobachten       Urteilen       Erweitern
 Hypothese --> Experiment --> Signal --> Urteil --> Playbook
     ^                                                  |
     └──────────────────────────────────────────────────┘
SchrittWas passiertWo im Code
G -- GenerierenAgent liest strategy.md, schlägt eine Hypothese vorcore/cycle.py
R -- AusführenAgent führt mit aktiver Hypothese aus, produziert Ausgabeflow/executor.py
O -- BeobachtenSeparates günstiges LLM bewertet Ausgabe (1–10, erzwungene Dezimalstellen)core/agent.py
W -- UrteilenNach 5 Zyklen: Durchschnitt vs. Basislinie. >20% = behalten/verwerfencore/experiment.py
S -- ErweiternValidierte Muster werden in strategy.md + Playbook geschriebencore/agent.py

Schlüsselzahlen:

  • Urteilsschwelle: 20% Verbesserung zum Behalten, 20% Verschlechterung zum Verwerfen
  • Standard min_sample_size: 5 Zyklen vor Urteil
  • Bewertung: 1–10-Skala mit erzwungenen Dezimalstellen (7,3, nicht 7)

Setup-Anleitung

Plattform: Claude Code / Claude Desktop

pip install swarma
swarma init

Zu .mcp.json hinzufügen:

{
  "mcpServers": {
    "swarma": {
      "command": "swarma",
      "args": ["serve", "--mcp"],
      "env": { "OPENROUTER_API_KEY": "sk-or-..." }
    }
  }
}

Wichtig: OPENROUTER_API_KEY muss im MCP env-Block sein. Die Instanz .env wird nicht von Unterprozessen geerbt.

Plattform: Hermes (via Terminal)

Hermes hat Terminalzugriff – es kann swarma-CLI-Befehle direkt ausführen. MCP nicht erforderlich.

pip install swarma
swarma init

Dann Hermes sagen: „führe swarma cycle hook-lab --topic 'KI-Agenten werden überbewertet' aus"

Hermes liest Terminalausgabe und handelt basierend auf Ergebnissen. Für strukturierten Zugriff MCP hinzufügen:

# hermes config.yaml
mcp_servers:
  swarma:
    transport: stdio
    command: swarma
    args: ["serve", "--mcp"]
    env:
      OPENROUTER_API_KEY: "sk-or-..."

Plattform: OpenClaw

pip install swarma
swarma init

Als MCP-Tool konfigurieren oder Terminalzugriff nutzen, je nach OpenClaw-Setup.

Plattform: CLI (Standalone)

pip install swarma
swarma init                                        # erstellt Instanz + Start-Team
swarma cycle starter --topic "warum startups scheitern"   # einen Zyklus ausführen
swarma status                                      # Kosten, Läufe, Experimente prüfen

Aus dem Quellcode

git clone https://github.com/glitch-rabin/swarma.git
cd swarma && pip install -e .
swarma init

Umgebungseinrichtung

Nach swarma init deinen API-Key hinzufügen:

echo "OPENROUTER_API_KEY=sk-or-..." >> ~/.swarma/instances/default/.env

Einen Key unter openrouter.ai/keys abrufen.

Optional (für teamübergreifendes Wissen):

# Nur bei 3+ Teams erforderlich
echo "QMD_ENDPOINT=http://localhost:8181/mcp" >> ~/.swarma/instances/default/.env

Onboarding-Ablauf

Wenn ein Benutzer swarma einrichten möchte, folge dieser Sequenz. Der Team-Generator ist der schnellste Weg – zwinge Benutzer nicht, Agenten manuell zu konfigurieren.

Schritt 1: Ziel verstehen

Fragen:

  • „Was möchtest du verbessern?" (Conversion, Engagement, Antwortrate bei Kaltakquise, SEO-Rankings usw.)
  • „Wer ist deine Zielgruppe?" (B2B-SaaS-Nutzer, Krypto-Community, Unternehmenskäufer usw.)
  • „Wie sieht Erfolg aus?" (mehr Anmeldungen, höhere CTR, bessere Antwortraten usw.)

Schritt 2: Installieren

pip install swarma
swarma init --yes

Schritt 3: Team generieren

Dies ist der entscheidende Schritt. Verwende den Team-Generator anstatt Vorlagen auszuwählen.

swarma team create growth-lab \
  --from-goal "optimiere Landing-Page-Conversion für unser B2B-SaaS" \
  --context "Entwicklertools-Unternehmen, 500 kostenlose Nutzer, 2% Conversion zu Kostenpflichtig" \
  --budget 30

Der Generator:

  1. Entwirft das Team (2–5 Agenten mit spezifischen Rollen)
  2. Wählt Modelle, die zu den Rollen passen
  3. Schreibt Agentenanweisungen und Experimentmuster
  4. Erstellt eine erste Experimenthypothese, die startbereit ist

Überprüfe, was generiert wurde:

swarma team show growth-lab

Schritt 4: Ersten Zyklus ausführen

swarma cycle growth-lab

Erwartete Ausgabe:

Running cycle: growth-lab
  flow: researcher -> copywriter -> judge
  agents: ['researcher', 'copywriter', 'judge']

                              Cycle: growth-lab
  Agent      Model              Cost       Output Preview
  researcher sonar-pro          $0.000384  **Thema:** 52% der Führungskräfte...
  copywriter qwen3.5-plus-02-15 $0.000746  [A] Wir haben 4.382 Kaltmails gesendet...
  judge      mistral-nemo       $0.000416  **Hook-Variationen:** A: "Hast...

  duration: 43,9s | total cost: $0,001546 | agents: 3

Schritt 5: Weitere Zyklen ausführen und überprüfen

swarma cycle growth-lab                    # weiteren Zyklus ausführen
swarma cycle growth-lab --topic "spezifischer Winkel"  # mit einem Thema
swarma status                              # Fortschritt prüfen

Nach 5 Zyklen gibt die Experiment-Engine ihr erstes Urteil ab. Die Strategiedatei entwickelt sich automatisch weiter.


Tägliche Nutzung

Experimente ausführen

# Einzelzyklus
swarma cycle hook-lab

# Mit einem bestimmten Thema
swarma cycle hook-lab --topic "KI-Agenten werden zur Commodity"

# Kontinuierlich (Teams mit Cron-Zeitplänen laufen automatisch)
swarma run

# Kontinuierlich mit API-Server
swarma run --port 8282

Echtmetriken einspeisen

LLM-Selbstbewertung ist ein Ausgangsproxy. Für die Produktion echte Signale zurückspeisen:

# Einzelne Metrik protokollieren
swarma metric log hook-lab copywriter 4.2 --metric ctr_pct

# An ein bestimmtes Experiment anhängen
swarma metric log hook-lab copywriter 127 --metric impressions --exp 3

# Notiz hinzufügen
swarma metric log hook-lab copywriter 5.1 --metric ctr_pct --note "aus LinkedIn-Analyse"

# Bulk-Import aus CSV
swarma metric import hook-lab metrics.csv

# Protokollierte Metriken anzeigen
swarma metric show hook-lab

CSV-Format: agent,value,metric_name,note

copywriter,4.2,ctr_pct,Woche 1
copywriter,5.1,ctr_pct,Woche 2
researcher,7.8,relevance_score,

Squad-Vorlagen verwenden

# Eine Vorlage in deine Instanz kopieren
cp -r "$(python -c "import swarma; print(swarma.__path__[0])")/examples/hook-lab" \
  ~/.swarma/instances/default/teams/hook-lab

# Oder wenn du das Repository geklont hast
cp -r examples/hook-lab ~/.swarma/instances/default/teams/hook-lab

# Ausführen
swarma cycle hook-lab --topic "warum die meisten Startups scheitern"

Status prüfen

swarma status

Zeigt: alle Teams, letzte Läufe, Kosten (heute + diesen Monat), ausstehende Pläne, Warteschlangen-Statistiken.


MCP-Tools-Referenz

Wenn über MCP verbunden, sind diese 16 Tools verfügbar:

ToolBeschreibungParameter
swarma_healthPrüfen, ob swarma läuft--
swarma_list_teamsAlle konfigurierten Teams auflisten--
swarma_get_teamTeamdetails abrufen (Agenten, Flow, Zeitplan)team_id
swarma_list_agentsAgenten in einem Team auflistenteam_id
swarma_run_agentEinzelnen Agenten mit optionalem Kontext ausführenteam_id, agent_id, context?
swarma_run_cycleVollständigen Zyklus für ein Team ausführenteam_id, topic?
swarma_statusInstanzstatus (Kosten, Läufe, Experimente)--
swarma_costsKostenaufschlüsselung (heute, dieser Monat)--
swarma_list_plansAusstehende Experimentpläne anzeigenteam_id?
swarma_approve_planAusstehenden Experimentplan genehmigenplan_id
swarma_reject_planAusstehenden Plan ablehnenplan_id, reason?
swarma_get_outputsAktuelle Ausgaben von Agententeam_id?, agent_id?, limit?
swarma_list_toolsVerfügbare Agenten-Tools auflisten--
swarma_list_expertsÜberlegungslinsen von Experten durchsuchen--
swarma_get_expertExpertendetails nach ID abrufenexpert_id
swarma_generate_teamNeues Team aus einem Ziel generierenname, goal, context?, budget?

Häufige MCP-Workflows

„Was ist passiert?"

  1. swarma_status – Übersicht
  2. swarma_get_outputs – aktuelle Agentenausgaben
  3. swarma_list_plans – ausstehende Experimente

„Ein Experiment ausführen"

  1. swarma_run_cycle mit team_id und optionalem Thema
  2. swarma_get_outputs zur Ergebnisüberprüfung

„Einen neuen Experimentbereich starten"

  1. swarma_generate_team mit Ziel und Kontext
  2. swarma_get_team zur Überprüfung, was generiert wurde
  3. swarma_run_cycle zum Starten

„Was funktioniert?"

  1. swarma_get_outputs für aktuelle Ergebnisse
  2. strategy.md des Teams für validierte Muster lesen

Teamkonfigurations-Referenz

Ein Team ist ein Ordner. Kein Code erforderlich.

teams/my-squad/
├── team.yaml          # Ziel, Flow, Zeitplan, Budget
├── program.md         # Team-Kontext und Einschränkungen
└── agents/
    ├── researcher.yaml
    ├── writer.yaml
    └── strategy.md    # Vorbereitetes Wachstumswissen (entwickelt sich automatisch)

team.yaml

name: my-squad
Ziel: finde was funktioniert.
flow: "researcher -> writer"        # sequentiell
# flow: "researcher -> [writer, analyst]"  # parallel
Zeitplan: "0 8 * * 1-5"            # optional: Werktags um 8 Uhr
Budget: 30                           # optional: monatliches Budget in $

agent.yaml

id: writer
Name: Schreiber
Anweisungen: |
  verwandle recherche in einen beitrag. max 200 worte.
  hook in der ersten zeile. praxisstimme.
model: qwen/qwen3.5-plus-02-15     # optional: Standard-Routing überschreiben
Metrik:
  name: content_quality
  target: 8.0
experiment_config:
  min_sample_size: 5
  auto_propose: true

strategy.md (entwickelt sich automatisch)

Beginnt mit Vorwissen, wächst mit jedem validierten Experiment:

### Validierte Muster

**Spezifität gewinnt**
- Hooks mit konkreten Zahlen übertreffen vage Behauptungen um das 2- bis 3-Fache bei Saves
- „47% der Startups" > „die meisten Startups"

### Anti-Patterns (Verworfen)
- Generische inspirierende Eröffnungen: -23% vs. Basislinie. Verworfen.

### Zu testende Muster
- [ ] Ich-Form-Geständnis vs. Fallstudie in dritter Person
- [ ] Zeitlich verankerte („Im Jahr 2024...") vs. zeitlose Hooks

Flow-DSL

# Sequentiell: a läuft, Ausgabe geht an b
flow: "researcher -> writer"

# Parallel: a läuft, dann b und c laufen gleichzeitig
flow: "researcher -> [writer, analyst]"

# Gemischt:
…

[gekürzt für die Übersetzung]

Verwandte Skills