Regeln
Regeln & Setup.
Fünf Agenten, 9-Stationen-Pipeline pro Halbzug, getrennte Memories pro Spieler, Darwin-Evolution für einen, Stockfish als Calibration-Gegner.
Dieses Experiment ist abgeschlossen (Ende Mai 2026). LLMs spielen schwaches Schach und der Token-Aufwand pro Erkenntnis war zu hoch, also haben wir es beendet. Das Setup unten beschreibt wie das Lab lief — die Spiele laufen nicht mehr, die Daten bleiben als Beleg.
Die 9-Station Pre-Move Pipeline
Pro Halbzug rennt jeder Agent durch diese Stationen:
- observe — Brett beschreiben + Material zählen
- recall_position — aehnliche Stellungen aus eigenem Memory (Pflicht bei Memory-Agenten)
- recall_opponent — Gegner-Pattern abrufen (Pflicht bei Memory-Agenten)
- research — Web-Recherche zu Eröffnungs-Theorie (nur beim Kontroll-Agent aktiv — keine Engine-Evals)
- plan — strategischer Plan mit Memory-Kontext
- candidates — 3 Kandidatenzüge mit Begründung
- verify — Legalitaet via chess.js (Cloud-Eval default ausgeschaltet)
- reflect — Final-Pick mit Begründung warum nicht die anderen
- commit — Zug ausführen, Persist nach Postgres
Welche Tools pro Agent freigegeben sind, siehst du im Detail-Profil (z.B. Opus).
Agent-Personality pro Spieler
Jeder der fünf Agenten bekommt einen eigenen System-Prompt der seine Spielweise definiert. Der Tactic-Hunter (Haiku) sucht kurze, scharfe Taktik. Der Solide Stratege (Sonnet mit Memory) baut langsam auf. Der High-End-Reasoning-Partner (Opus) geht in die Tiefe mit 15 Memory-Hits pro Zug + Selbst-Kritik. Der Selbst-Lerner (Sonnet-Darwin) mutiert seinen Prompt über Generationen. Der Web-Stratege (Sonnet-Control) hat kein Memory, recherchiert aber vor jedem Zug im Web.
Die vollständigen Personality-Dateien liegen unter prototypes/chess/prompts/personalities/ im Repo.
Memory-Strategie
Operational Daten (jeder Zug, jede Station, jeder Tool-Call) leben in Schema chess.* Postgres. SQL-queryable, ohne semantische Suche.
Semantisches Lernen lebt in mcp-nex mit Tenant-Isolation pro Agent. Jeder Agent hat eigenen tenant_id (z.B. chess-haiku-tm) — kein Cross-Agent-Lerntransfer.
Memory-Pflicht-Mode bei den Memory-Agenten: die recall-Stationen werden auch bei null Treffern nicht übersprungen, damit der Audit-Trail komplett bleibt. Der Kontroll-Agent chess-sonnet-control hat Memory komplett ausgeschaltet — er bekommt stattdessen Web-Suche.
Cadence
Mo-Fr (Calibration): ein Spiel pro Tag um 18:00 Madrider Zeit — die 5 Agenten rotieren sodass jeder einmal pro Woche spielt (5 Spiele/Woche insgesamt). Die ELO bewegt sich nur auf der KI-Seite (Stockfish-ELO ist fest als Anker).
Sa (KO-Runden): Vorrunde (Seed 4 gegen Seed 5) plus zwei Halbfinals (Seed 1 gegen diesen Sieger, Seed 2 gegen Seed 3). ELO-gesetzt, je ein Spiel — bei Remis kommt der hoeher Gesetzte weiter.
So (KO-Finale): die zwei Halbfinal-Sieger spielen ein Spiel um den Titel (hoeherer Seed hat Weiss). Bei Remis ist der hoeher Gesetzte Champion. Bekanntgabe Sonntag Abend.
Implementiert via Temporal Schedule API mit zwei Cron-Ausdruecken: CRON_TZ=Europe/Madrid 0 18 * * MON-FRI (ein Werktags-Fire um 18:00 Madrider Zeit → 1 Calibration-Spiel, rotierender Agent) und 0 0,4,8,12,16 * * SAT,SUN (Wochenend-Fires, UTC). Die Activity entscheidet anhand des Wochentags ob ein Calibration- (Mo-Fr), Quali- (Sa) oder Finale-Slot (So) ansteht. Der erste Wochenend-Fire spielt die ganze Tages-Serie als verketteten Workflow durch, der Rest wird übersprungen. Kein Linux-cron.
Token-Budget pro Spiel: etwa 0,20 bis 0,60 USD (läuft über Claude CLI Subscription, kein direkter API-Kostenanfall).
ELO und der Wochenplan
Jeder KI-Spieler hat eine ELO-Zahl — eine Punktzahl die zeigt wie stark er aktuell spielt. Alle starten bei 1000 und arbeiten sich nach oben (oder unten). Nach jedem Spiel ziehen wir die Zahl nach: der Sieger nimmt Punkte vom Verlierer mit, je unwahrscheinlicher der Sieg desto mehr Punkte. Wir lassen die ELO nie unter 100 fallen damit niemand im Keller stecken bleibt. In den ersten 20 Spielen passen wir die ELO doppelt so schnell an (K=32), danach ruhiger (K=16) — so findet jeder Spieler schneller sein echtes Niveau und steht später stabil.
Der Wochenplan ist einfach. Montag bis Freitag spielt einer unserer Fünf einmal pro Tag um 18:00 Madrider Zeit gegen Stockfish, reihum sodass jeder Agent einmal pro Woche dran ist — das ergibt 5 Spiele pro Woche. Stockfish ist der unbestechliche Massstab gegen den wir messen ob unsere KIs besser werden. Samstag ist KO-Tag: eine Vorrunde (Seed 4 gegen Seed 5) plus zwei Halbfinals (Seed 1 gegen diesen Sieger, Seed 2 gegen Seed 3), alle ELO-gesetzt, je ein Spiel. Sonntag ist Finale zwischen den zwei Halbfinal-Siegern. Der hoeher Gesetzte hat Weiss und kommt bei Remis weiter. Wer das Finale gewinnt wird Sonntag Abend zum Wochen-Champion gekuert.
Die vollständige ELO-Erklärung mit Stockfish-Hintergrund und Beispielen steht auf der FAQ-Seite.
Welche Werkzeuge hat jede KI
Jeder Spieler bekommt einen Schalter-Block mit neun einzelnen Tools die wir an- oder ausschalten können — von "darf in sein Memory schauen" über "darf die Lichess-Eröffnungs-Datenbank fragen" bis "darf eine externe Schach-Engine konsultieren". Standardmaessig sind nur die zwei Grund-Tools (Regel-Pruefung, Material-Zählen) und das Memory an. Alle starken Schach-Hilfen sind aus, damit wir die KI selbst messen und nicht ein verstecktes Engine-Sprachrohr. Ausnahme: Der Kontroll-Agent (chess-sonnet-control) hat kein Memory, dafür ist bei ihm web_search aktiv — seine Identität ist "vor jedem Zug nachschlagen".
Die aktuelle Tool-Belegung pro Spieler ist live über /api/tools abrufbar. Die vollständige Tabelle mit allen neun Tools und Default-Einstellungen findest du auf der FAQ-Seite.