Human Agent Interface / Tutorials / Hermes Tutorial

Hermes — Harness Tutorial

Stand: März 2026. Aus der täglichen Praxis mit Hermes; Flags, Preise und Bugs können sich seitdem geändert haben. Siehe auch: Hermes Referenz.

Pipeline-Rolle: Output bauen (Wave 2, Implementierung) Hermes ist das guenstigste und anpassungsfahigste Arbeits-Harness. Hier entsteht der meiste Code.


1. Quick Start

cd ~/Projekte/MeinProjekt     # KRITISCH: IMMER im Projektordner starten
                              # NICHT in ~/.hermes/ oder irgendwo anders

hermes chat                   # interaktive Session
# oder mit spezifischem Modell:
hermes chat --model minimax/minimax-text-01

Erste 2 Minuten:

> [Tasksheet aus harness-tasksheets/ einfuegen]
> Bestatige: In welchem Verzeichnis arbeitest du gerade?
> Welche Dateien wirst du anlegen/aendern?

Den zweiten und dritten Schritt IMMER machen — Hermes driftet sonst in ~/.hermes/ oder baut an der falschen Stelle.


2. Typischer Workflow

Hermes ist fuer iteratives Arbeiten gemacht — nicht fuer Einmal-Outputs.

  1. Tasksheet einfuegen — Scope, Output-Pfad, Constraints klar definieren.
  2. Verzeichnis-Check — Bestaetigen lassen wo Hermes gerade ist.
  3. Ersten Output — Hermes baut. Warten, bis Output erscheint (kann kurz still sein).
  4. Feedback geben — Konkret und priazise. Hermes nimmt Korrekturen gut an.
  5. Iterieren — 2-4 Iterationen bis Ergebnis passt.
  6. Summary — "Fasse zusammen was du geaendert hast" — fuer Handoff an Codex.

Beispiel-Flow:

> [Tasksheet einfuegen]
> Implementiere src/api.py mit dem /health Endpunkt.
[Output abwarten]
> Gut. Jetzt fuege /api/status hinzu, der {"agents": [], "status": "ok"} zurueckgibt.
[Output abwarten]
> Die agents-Liste soll aus config.yaml geladen werden. Hier ist der Pfad: config/agents.yaml
[Output abwarten]
> Fasse zusammen: Welche Dateien hast du veraendert und was hast du gemacht?

3. Starken nutzen

Beste Feedback-Annahme: Hermes akzeptiert Korrekturen ohne zu diskutieren. Fehler direkt benennen — Hermes baut sofort weiter:

> Das ist falsch. src/api.py Zeile 23: status_code muss 200 sein, nicht 404.
  Korrigiere nur diese Zeile.

Iteratives Arbeiten: Ideal fuer Aufgaben die mehrere Runden brauchen. Feature by Feature vorgehen statt alles auf einmal beauftragen.

# Statt:
> Implementiere das komplette Dashboard mit allen Endpunkten

# Besser:
> Implementiere nur /health
[fertig]
> Implementiere /api/agents
[fertig]
> Implementiere /api/status

Guenstig fuer taeagliche Arbeit: Mit MiniMax ~150x guenstiger als Opus. Hermes fuer alle Routineaufgaben nutzen, Claude Code nur fuer Planung.

Parallele unabhaengige Tasks mit --worktree:

# Zwei unabhaengige Features parallel:
hermes chat --worktree feature-health-endpoint
hermes chat --worktree feature-agent-list

4. Schwachen kompensieren

Scope-Drift: Hermes groesstes Problem. Ohne expliziten Output-Pfad baut Hermes in ~/.hermes/ statt im Projektordner.

IMMER im Tasksheet angeben:

Output-Pfad: ~/Projekte/MeinProjekt/src/
Verzeichnis: ~/Projekte/MeinProjekt/
NICHT: ~/.hermes/ oder relative Pfade

Langsamer Start: Hermes ist kurz still bevor Output kommt. Das ist normal — nicht abbrechen und neu starten. Nach ~10-15 Sekunden Stille: einmal Enter druecken.

Output-Qualitaet mittel: Hermes schreibt funktionalen aber nicht eleganten Code. Fuer finales Polishing → Codex.

# Hermes-Output ist funktional:
def get_agents():
    with open("config.yaml") as f:
        return yaml.safe_load(f)["agents"]

# Codex macht daraus sauberen Code mit Error-Handling, Types, Docstrings

Was passiert dann plotzlich Output: Hermes denkt intern — der Output kommt manchmal in einem Block. Das ist kein Fehler.


5. Handoff-Muster

Von OpenCode zu Hermes:

> Lies src/ — OpenCode hat das Geruest angelegt.
  Deine Aufgabe: Implementiere die Logik in src/api.py.
  Scope: Nur src/api.py und src/services/agent_service.py.
  Keine neuen Dateien anlegen.

Von Hermes zu Codex (Polishing):

# Hermes gibt Summary:
> Fasse zusammen: Welche Dateien hast du geaendert? Was hast du implementiert?
  Was fehlt noch? Was ist TODO?

# Summary in Tasksheet schreiben:
cat > ~/Projekte/harness-tasksheets/task-codex-polish.md << 'EOF'
Hermes hat implementiert:
- src/api.py: /health, /api/agents, /api/status
- src/services/agent_service.py: AgentService mit load_agents()

Aufgabe fuer Codex:
- Code-Review und Polishing
- Type Hints hinzufuegen
- Error Handling verbessern
- README.md aktualisieren
EOF

--worktree fuer parallele Tasks:

# Unabhaengige Features parallel:
hermes chat --worktree frontend    # baut src/templates/
hermes chat --worktree backend     # baut src/api.py
# Am Ende: git merge

6. Kosten-Tipps

Guenstigstes Harness fuer iterative Arbeit. MiniMax nutzen:

hermes chat --model minimax/minimax-text-01

Tasksheet verhindert Scope-Drift = verhindert Token-Verschwendung: Drift bedeutet Hermes baut das Falsche → Session wegwerfen → neu starten. Ein gutes Tasksheet kostet 2 Minuten aber spart eine komplette Re-Session.

Feature by Feature ist guenstiger als Big-Bang:

# Teuer (wenn ein Feature falsch → alles nochmal):
> Implementiere alle 8 Endpunkte

# Guenstiger (jeder Schritt kann frueh korrigiert werden):
> Implementiere /health
> [Feedback] Gut. Jetzt /api/agents.

Iteration ist guenstig: Eine Korrektur-Runde kostet <10% einer neuen Session. Hermes iterieren lassen statt neu starten.

Verzeichnis-Check ist kostenlos: 2 Sekunden fragen wo Hermes arbeitet verhindert eine weggeworfene Session wegen falschem Pfad.

Faustregeln: - Einfache Funktion implementieren: ~$0.01-0.03 - Vollstaendiger Endpunkt mit Tests: ~$0.05-0.10 - Feature-Iteration (3-4 Runden): ~$0.10-0.20 - Re-Session wegen Scope-Drift: gleiche Kosten nochmal