Large language modelle genießen eine große Popularität doch bisher wird dessen Potential nur teilweise ausgeschöpft. So finden LLM ihren Einsatz als Suchmaschine, zum Programmieren oder um Fragen zu beantworten. Hingegen werden sie kaum bis gar nicht eingesetzt um Computerspiele automatisiert durchzuspielen. Zwar gibt es neuere Entwicklungen wie Deepmind Sima 2, was durchaus in der Lage ist innerhalb von virtuellen Welten zu agieren, doch ist der Tokenverbrauch hoch und es gibt nur wenige Dokumentationen dazu.
Heutige LLM sind durchaus imstande in virtuellen Welten zu agieren. Als Beispiel sei hier eine stichpunktartige Komplettlösung für das Maniac Mansion Point&click adventure gegeben welche durch ein LLM from scratch erzeugt wurde:
Karte 1: Start
Team-Wahl: Empfohlen: Syd oder Razor (Musik-Talent) + Bernard (Technik).
Eingang: Gehe zum Haus. Unter der Fußmatte liegt der Türschlüssel.
Eingangshalle: Benutze Schlüssel mit Haustür. Drinnen: Vorsicht vor Edna oder Weird Ed! Wenn sie kommen, schnell in einen Nebenraum flüchten.
Küche: Gehe nach rechts durch die Tür. Nimm das Fleisch aus dem Kühlschrank und die Getränkedose (für später).
Karte 2: Das Gefängnis & Der Fluchtplan
Trigger: Wenn ein Charakter geschnappt wird, landet er im Kerker.
Ausbruch: Drücke den losen Stein an der Wand (links neben der Tür), um die Tür kurz zu öffnen.
Taktik: Nutze einen Charakter als „Köder“, um die Edisons abzulenken, während die anderen zwei das Haus erkunden.
Wichtig: Speichere oft! Ein falscher Schritt führt zum Game Over.
Karte 3: Die Vorräte im Erdgeschoss
Esszimmer: Nimm die Früchte von der Schüssel.
Speisekammer: Nimm den Glasschneider (hinter der Glasvitrine) und den Saft.
Wohnzimmer: Benutze die Kassette mit dem Kassettenrekorder (wichtig für später, um das Glas zu zerschmettern).
Bibliothek: Öffne die Lampe, um das Zimmer zu erhellen. Nimm den Loseblatt-Katalog.
Karte 4: Weird Eds Zimmer (1. Stock)
Vorsicht: Wenn Ed dich sieht, fliegst du raus.
Ablenkung: Warte, bis Ed sein Zimmer verlässt (um das Paket zu holen) oder nutze die Türklingel an der Haustür, um ihn runterzulocken.
Gegenstand: Nimm den Hamster (nur als Razor/Syd relevant für böse Enden) und das Sparschwein. Brich das Schwein auf, um Geld zu erhalten.
Schlüssel: Nimm den Schlüssel vom Nachttisch.
Karte 5: Das Musikzimmer & Die Glasplatte
Vorbereitung: Geh ins Musikzimmer (1. Stock).
Aktion: Benutze den Glasschneider mit der Vitrine, um die Kassette zu stehlen.
Klavier: Wenn du Razor oder Syd bist, kannst du hier spielen, aber das Ziel ist die Schallplatte im Zimmer daneben.
Tipp: Du musst die Schallplatte auf den Rekorder im Wohnzimmer legen und aufnehmen, um später das Fenster im Labor zu sprengen.
Karte 6: Das Schwimmbad (Außenbereich)
Gefahr: Das Wasser ist radioaktiv! Nicht hineingehen.
Aktion: Leere das Becken, indem du das Ventil im Keller (unter der Küche) benutzt.
Fundstück: Am Boden des leeren Beckens liegt der leuchtende Schlüssel.
Wichtig: Fülle das Becken sofort wieder auf, da sonst der Reaktor überhitzt (Game Over Timer startet!).
Karte 7: Der Grüne Tentakel
Ort: 2. Stock, Weg zum Dachboden.
Problem: Der Grüne Tentakel hat Hunger und lässt dich nicht vorbei.
Lösung: Gib ihm den Obstteller aus dem Esszimmer und den Saft (oder die Cola).
Ergebnis: Er wird dein Freund und lässt dich passieren. Du hast nun Zugang zu den oberen Räumen und dem Funkgerät.
Karte 8: Das Paket & Das Telefon
Paket: Wenn die Türklingel läutet, renne mit einem Charakter zur Haustür und schnapp dir das Paket, bevor Ed es bekommt.
Inhalt: Briefmarken.
Telefon: Benutze das Telefon im Arbeitszimmer. Wähle die Nummer vom „Metzger“ (findest du im Loseblatt-Katalog), um Edna abzulenken.
Nächster Schritt: Während Edna telefoniert, schleiche in ihr Zimmer, um den Schlüssel zum Labor zu finden.
Diese Anleitung gibt in natürlicher Sprache einen Ablauf vor um das Spiel erfolgreich zu spielen. Einziges Problem bei dieser Anleitung ist, dass es kein ausführbarer Computer code ist sondern an menschliche Leser adressiert wurde. In der DIKW pyramide ist die Komplettlösung also auf dem Layer 3 (knowledge) angesiedelt. Damit eine KI Maniac Mansion automatisiert durchspöielen kann, muss man die Anleitung auf eine niedrige DIKW Stufe übersetzen also auf Stufe 2 und Stufe 1 (Daten).
Sowas wird über ein Text to action model realisiert. DAs erhält eine Karteikarte als Input und erzeugt dafür die Mausbewegung als Ausgabe.
Hier die simulierten Mausbewegungen für Karteikarte #1 innerhalb der SCUMM-Engine bei einer Auflösung von 320x200 Pixeln. Das json file enthält dieselben Anweisungen wie die textuelle Komplettlösung auch nur mit dem Unterschied dass es nicht auf dem DIKW layer 3 sondern auf dem untersten Layer 1 angesiedelt ist. Als Folge gibt es numerische Koordinaten die definieren wo genau der Mauscursor hinbewegt wird.
{
"card_id": 1,
"title": "Start",
"steps": [
{
"action_order": 1,
"description": "Walk to the front door area",
"command": "WALK_TO",
"target_coords": {"x": 160, "y": 140},
"wait_ms": 2000
},
{
"action_order": 2,
"description": "Pick up the door mat",
"verb_click": {"x": 40, "y": 170, "label": "PICK_UP"},
"object_click": {"x": 155, "y": 155, "label": "DOOR_MAT"},
"wait_ms": 1500
},
{
"action_order": 3,
"description": "Pick up the key under the mat",
"verb_click": {"x": 40, "y": 170, "label": "PICK_UP"},
"object_click": {"x": 155, "y": 155, "label": "KEY"},
"wait_ms": 1000
},
{
"action_order": 4,
"description": "Use key with front door",
"verb_click": {"x": 80, "y": 180, "label": "USE"},
"inventory_click": {"x": 300, "y": 170, "label": "KEY"},
"object_click": {"x": 160, "y": 100, "label": "FRONT_DOOR"},
"wait_ms": 3000
},
{
"action_order": 5,
"description": "Enter the house",
"command": "WALK_TO",
"target_coords": {"x": 160, "y": 90},
"wait_ms": 2000
},
{
"action_order": 6,
"description": "Go to the kitchen (right door)",
"command": "WALK_TO",
"target_coords": {"x": 280, "y": 120},
"wait_ms": 2500
},
{
"action_order": 7,
"description": "Open refrigerator",
"verb_click": {"x": 40, "y": 180, "label": "OPEN"},
"object_click": {"x": 100, "y": 100, "label": "REFRIGERATOR"},
"wait_ms": 1000
},
{
"action_order": 8,
"description": "Pick up the meat",
"verb_click": {"x": 40, "y": 170, "label": "PICK_UP"},
"object_click": {"x": 105, "y": 110, "label": "MEAT"},
"wait_ms": 1000
}
]
}
No comments:
Post a Comment