Die eine Idee
Ein Agent ist nicht das Modell - er ist eine Schleife. Und das Einzige, was wir austauschen, ist die Entscheidungs-Box.
Im vorigen Kapitel haben wir die Welt als Modell festgelegt - mit Ziel, Reflexen und Regeln. Jetzt geht es um den Akteur, der in dieser Welt entscheidet.
Die eine Idee: Ein Agent ist nicht das Modell. Ein Agent ist eine Schleife - Wahrnehmung → Entscheidung → Aktion - und das Einzige, was wir austauschen, ist die Entscheidungs-Box. Wir bauen eine Welt und stecken nacheinander vier verschiedene Gehirne hinein. Erst dann sieht man, was „KI" eigentlich bedeutet.
Wir bauen eine Ameisenkolonie, die Zucker sammelt - inspiriert vom alten Lernspiel AntMe!, aber im Browser und mit einem entscheidenden Twist: Das Gehirn der Ameise ist eine austauschbare Funktion.
entscheide(wahrnehmung) → aktion
Vier Implementierungen dieser einen Funktion:
| Stufe | Gehirn | Was du über Agenten lernst |
|---|---|---|
| 1 | Handcode (feste Regeln) | Das Skelett: perceive → decide → act. Die Nulllinie. |
| 2 | Lernendes Netz (Q-Learning) | Die Maschine findet die Regeln selbst aus Belohnung. |
| 3 | LLM steuert | Sprache als Entscheidung. Latenz. Ghost-Calls. |
| 4 | LLM + Skills + Memory | Wann ein LLM den Handcode tatsächlich schlägt. |
Gleiche Welt, gleiche Schleife. Nur die Box wechselt. Das ist der ganze Trick - und die ganze Lektion.
Die Architektur, die alles trägt
Bevor eine Zeile Gehirn entsteht, definieren wir den Vertrag zwischen Welt und Agent. Die Welt darf nie wissen, welches Gehirn gerade fährt. Drei Funktionen:
// 1. Die Welt erzeugt aus dem Ameisen-Zustand eine Wahrnehmung.
perceive(ant, world) → percept
// 2. Das GEHIRN wählt aus der Wahrnehmung eine Entscheidung. (austauschbar!)
brain.decide(percept) → entscheidung // Navigation, optional eine Marke
// 3. Die Welt führt die Entscheidung aus und gibt Belohnungs-Events zurück.
applyAction(ant, entscheidung, world, percept) → { picked, delivered }
Solange jedes Gehirn decide erfüllt, läuft die Welt unverändert. Genau diese
Trennung findest du in echten Agentensystemen wieder: die Umgebung (Tools, Daten,
Zustand) ist sauber abgekoppelt vom Entscheider (Regel, Modell, LLM).
Das Aktions-Vokabular
Wir entscheiden auf Verhaltens-Ebene, nicht auf „Muskel-Ebene". Das hält den Zustandsraum klein genug fürs Lernen und lesbar genug für ein LLM:
const ACTIONS = ["ERKUNDE", "ZUM_ZUCKER", "FOLGE_SPUR", "ZUM_BAU"];
Designentscheidung mit Folgen: Aufnehmen und Abladen sind Reflexe der Welt (passieren automatisch bei Kontakt), keine gelernten Aktionen. Müsste der Agent „NIMM" pixelgenau selbst lernen, explodiert das Credit-Assignment und nichts konvergiert in einer Live-Demo. Gelernt wird reine Navigation - und die bildet 1:1 die Handcode-Regeln ab. Diese Entscheidung trennt angeborene Reflexe von erlernter Strategie.