Erstellung eines lokalen Angry Birds-Klons mit Qwen3.8-27B und Pi
Erfahren Sie, wie Sie mithilfe von LM Studio und dem Pi Agent einen vollständig lokalen AI-Entwicklungsworkflow einrichten, um mit Qwen3.8-27B ein spielbares Angry Birds-Niveau zu erstellen.
Vor einigen Wochen begann ein kleines Nebenprojekt, eine etwas absurde Frage zu beantworten: Ist es möglich, ein einzelnes spielbares Level von Angry Birds – mit Physikmotor, Schleudermechanik, einstürzenden Türmen und allem Drum und Dran – ausschließlich mit einem lokalen Modell auf herkömmlicher Consumer-Hardware zu erstellen? Ohne Cloud-API-Schlüssel, ohne gebührenbasierte Abrechnung und ohne Code, der die Maschine verlässt.
Es hat funktioniert. Vögel flogen über den Bildschirm, Holzblöcke kippten um, und Schweine wurden beim Aufprall zerquetscht. Das Modell, das all das ermöglichte, war Qwen3.8-27B, das in LM Studio läuft und von Pi, einem open-source-basierten Terminal-Programmieragenten, gesteuert wird. Im Folgenden finden Sie die vollständige Einrichtung: eine Einführung in das Modell und Erklärungen, warum es trotz seiner Größe auf einem einzelnen Mac ausreicht, sowie die genauen Schritte zur Installation von LM Studio und Pi sowie zur Verbindung beider, sodass Pi seine Anfragen an Ihr lokales Modell statt an einen externen Anbieter leitet.
Warum überhaupt lokal arbeiten?
Die offensichtlichen Gründe sind Kosten und Kontrolle. Die lokale Ausführung bietet Ihnen:
- Keine API-Gebühren – unabhängig davon, wie viele Stunden Sie in einem Hobbyprojekt investieren.
Was Sie aufgeben, ist die reine Generierungsgeschwindigkeit sowie traditionell die Ausgabequalität. Doch diese Lücke hat sich viel schneller verringert, als die meisten annehmen, und Qwen3.8-27B ist ein überzeugendes Beispiel dafür, wie leistungsfähig ein Modell mit etwa 27 Milliarden Parametern werden kann, wenn es sorgfältig trainiert und für Consumer-Hardware gut quantifiziert wird.
Lernen Sie das Modell kennen: Qwen3.8–27B
Qwen3.8-27B stammt vom Qwen-Team von Alibaba. Es handelt sich um ein dichtes Modell mit Vision-Funktionen, das unter der Apache 2.0-Lizenz veröffentlicht wurde, sodass es auch in kommerziellen Projekten kostenlos verwendet werden kann. Bevor Sie sich für ein 16+ GB großes Download-File entscheiden, hier die wichtigsten Spezifikationen:
Architektur
- 27 Milliarden Parameter, verteilt auf 64 Schichten mit einer versteckten Dimension von 5.120
- Ein hybrides Aufmerksamkeitskonzept: wiederholte Blöcke, die lineare „Gated DeltaNet“-Aufmerksamkeit mit einer standardmäßigen gated-Aufmerksamkeitsschicht kombinieren, wodurch das Modell auch bei zunehmendem Kontext schnell bleibt
- Eine eingebaute Kontextfenstergröße von 262.144 Tokens, die auf bis zu 1.000.000 erweitert werden kann
- Training, das die Mehr-Token-Vorhersage berücksichtigt, was die Geschwindigkeit der lokalen Inferenz erheblich steigert
Benchmark-Ergebnisse (wie von Qwen berichtet, mit Vergleichen zu Anthropics Opus 4.6 Max, wo relevant):
Der wichtigste Schluss ist, dass ein 27B-Modell in Bezug auf Coding- und Agentic-Benchmarks mit einem frontier Closed-Weight-Modell mithalten oder es sogar übertreffen kann, was erklärt, warum es eine praktikable Wahl für Anwendungen wie den Pi-Agent darstellt. Es handelt sich dabei um selbst gemeldete Werte, weshalb Vorsicht angebracht ist, bis unabhängige Tests folgen – doch die praktischen Ergebnisse beim später beschriebenen Angry Birds-Projekt stimmen mit den Angaben überein.
Eine Sache, die man von vornherein beachten sollte: Qwen3.8-27B hat die erweiterte „Denkfunktion“ (Logikverarbeitung) standardmäßig aktiviert und auf das xhigh-Niveau eingestellt. Das ist bei wirklich schwierigen Aufgaben nützlich, bedeutet aber auch, dass das Modell bei trivialen Anfragen, die keine solche gründliche Überlegung erfordern, Tausende von Logik-Token verbrauchen kann. Für routinemäßige Arbeiten mit Coding-Agenten reicht es aus, die Logikleistung in den Einstellungen von LM Studio auf medium oder low zu senken – dadurch werden die Antworten deutlich schneller, ohne dass die Qualität stark leidet. Behalten Sie xhigh für Probleme bei, die es tatsächlich erfordern.
Verfügbare Quantisierungen zum Lokalbetrieb des Modells umfassen GGUF und MLX, jeweils in 4-Bit-, 5-Bit-, 6-Bit- und 8-Bit-Auflösung. MLX ist die speziell für Apple Silicon entwickelte Variante.
Für Mac-Nutzer lassen sich die Speicheranforderungen grob wie folgt einteilen, was dabei helfen sollte zu entscheiden, welches Quantisierungslevel für Ihre Hardware geeignet ist:
Zum Vergleich kann ein Mac mini mit dem M4-Chip und 32 Gigabyte gemeinsamem Systemspeicher die 4-Bit-quantisierte Version mit etwa 5 bis 6 generierten Tokens pro Sekunde ausführen. Das ist im absoluten Sinne nicht schnell, aber völlig ausreichend für einen Agenten, dessen Aufgabe darin besteht, Code zu schreiben und zu bearbeiten, anstatt Live-Prosa zu streamen. Bei leistungsstärkeren Apple Silicon-Chips – den Max- oder Ultra-Modellen – oder bei einer leistungsstarken Nvidia-GPU steigt die Durchsatzrate erheblich; einige Berichte geben für leistungsstärkere Consumer-Systeme eine Quantisierungsleistung im Bereich von 15 bis 30 Tokens pro Sekunde an.
Schritt 1: LM Studio installieren
LM Studio ist die Desktop-Anwendung, die dafür zuständig ist, das Modell lokal zu laden und es über einen mit OpenAI kompatiblen API-Server bereitzustellen. Mit diesem Server kommuniziert Pi tatsächlich.
Laden Sie es von der offiziellen Download-Seite herunter – es sind Versionen für macOS, Windows und Linux verfügbar.
Installieren Sie es wie jedes andere Desktop-Programm und starten Sie es anschließend.
Schritt 2: Qwen3.8–27B innerhalb von LM Studio herunterladen
- Öffnen Sie in LM Studio das Such-/Entdeckungsfenster für Modelle.
- Suchen Sie nach
qwen/qwen3.8-27boder gehen Sie direkt zur Modell-Seite auf der LM Studio-Website.
xhigh auf medium oder low für Programmier- und Agentenaufgaben – aus denselben Gründen wie zuvor besprochen.Schritt 3: Den lokalen Server von LM Studio starten
Dieser Schritt bereitet vielen Menschen Probleme – das Laden eines Modells in die Chat-Oberfläche macht es nicht automatisch als API verfügbar.
- Wechseln Sie zur Registerkarte „Entwickler“ in LM Studio.
- Activieren Sie die Option „Server starten“.
- Durchgehend wird dadurch ein mit OpenAI kompatibler Endpunkt unter
http://localhost:1234/v1bereitgestellt.
Man kann über eine Terminalanzeige überprüfen, ob der Server läuft:
curl http://localhost:1234/v1/models
Die JSON-Antwort sollte qwen/qwen3.8-27b aufzählen (oder welcher genaue Identifikator auch immer verwendet wird) – notieren Sie sich diesen exakten String, da Sie ihn bald benötigen werden.
Schritt 4: Pi installieren
Pi ist ein quelloffener, terminalbasiierter Programmieragent. Er arbeitet nach dem Prinzip „Bring-your-own-Key“ und ist modellunabhängig; er wurde von Anfang an so konzipiert, dass er gleichermaßen gut mit Cloud-Anbietern sowie lokalen OpenAI-kompatiblen Servern wie LM Studio oder Ollama funktioniert.
Der offizielle Installer:
curl -fsSL https://pi.dev/install.sh | sh
Oder, falls Sie lieber npm verwenden möchten:
npm install -g @earendil-works/pi-coding-agent
Bestätigen Sie, dass die Installation erfolgreich war:
pi --version
Umfassende Dokumentation finden Sie unter pi.dev/docs/latest.
Schritt 5: Weisen Sie Pi auf Ihr lokales LM Studio-Modell hin
Pi speichert seine Anbieterkonfiguration in ~/.pi/agent/models.json. Öffnen Sie diese Datei (erstellen Sie sie ggf. erst, falls sie noch nicht existiert) und fügen Sie einen Eintrag hinzu, der auf den lokalen Server von LM Studio verweist:
{
"providers": {
"lmstudio": {
"baseUrl": "http://localhost:1234/v1",
"api": "openai-completions",
"apiKey": "lm-studio",
"models": [
{
"id": "qwen/qwen3.8-27b",
"input": ["text"],
"contextWindow": 65536,
"reasoning": true
}
]
}
}
}
Mehrere Details hier können leicht falsch interpretiert werden:
baseUrlmuss genau der Adresse entsprechen, die in der Entwicklerleiste von LM Studio angezeigt wird – standardmäßig ist dashttp://localhost:1234/v1.apiKeykann beliebigen Platzhaltestext enthalten – der lokale Server von LM Studio wird diesen nicht überprüfen, doch Pi zeigt das Modell nur an, wenn dieses Feld ausgefüllt ist.models[].idmuss Zeichen für Zeichen mit dem übereinstimmen, was LM Studio übercurl http://localhost:1234/v1/modelszurückgibt. Eine kleine Abweichung ist der häufigste Grund dafür, dass ein lokales Modell nicht an der erwarteten Stelle erscheint.contextWindowsollte die tatsächlich konfigurierte Kontextlänge beim Laden des Modells widerspiegeln und nicht den absoluten Maximalwert des Modells.
Sie können es auch zum Standardanbieter machen, indem Sie ~/.pi/agent/settings.json bearbeiten:
{
"defaultProvider": "lmstudio",
"defaultModel": "qwen/qwen3.8-27b"
}
Nach dem Neustart des Pi – oder nach Ausführung von /model innerhalb einer bereits geöffneten Sitzung – wählen Sie lmstudio / qwen/qwen3.8-27b. Ab diesem Zeitpunkt bleibt jede Anfrage, die das Pi sendet, auf Ihrem eigenen Rechner; nichts wird außerhalb Ihres lokalen Netzwerks gesendet.
Aufbau der Angry Birds-Ebene
Sobald alles verbunden war, bestand der nächste Schritt darin, dem Pi eine absichtlich vage Anweisung zu geben: Eine einzige im Browser spielbare Ebene im Stil von Angry Birds zu erstellen – mit einer Schleudermechanik, Projektilphysik, einem Stapel von Blöcken, die zerstört werden können, sowie einem Schwein, das umgeworfen werden muss – alles in einer eigenständigen HTML/JS/Canvas-Seite zusammengefasst.
Interessant war nicht nur, dass es bereits beim ersten echten Versuch eine funktionierende Version erzeugte – das geschah erst, nachdem die Rechenanstrengung auf medium reduziert wurde. Bei xhigh verbrauchte das Modell eine enorme Anzahl an Tokens, um grundlegende physikalische Konstanten zu überprüfen, bevor es überhaupt eine Zeile Code schrieb. Nach der richtigen Anpassung konnte es folgende Aspekte sinnvoll betrachten:
- Die Mechanik des Schießens durch Ziehen sowie die Bewegung von Projektilen bei der Schleuder
- Einen grundlegenden Physik-Loop, der Schwerkraft, Kollisionen und umfallende Blöcke abdeckt
- Das Beibehalten des gesamten Codes in einer einzigen, sauberen JavaScript-Datei, die es in mehreren Durchgängen überarbeiten konnte, ohne das bereits Geschriebene aus den Augen zu verlieren
Dies ist genau die Art von agiler Programmierarbeit, die Benchmarks wie SWE-bench Pro, Terminal-Bench und LiveCodeBench dazu dienen zu messen – das Verhalten stimmt mit dem überein, was diese Werte nahelegen. Es handelt sich dabei nicht um einen oberflächlichen Trick für Chatbots, sondern um ein Modell, das in der Lage ist, eine mehrdateibasierte, mehrrunden Programmiersession von Anfang bis Ende vollständig offline auf der Hardware durchzuführen, die Sie bereits auf Ihrem Schreibtisch haben.
Praktische Tipps, falls Sie es selbst einrichten
- Nehmen Sie standardmäßig eine mittlere Rechenleistungslast. Speichern Sie
xhighfür wirklich schwierige architektonische oder algorithmische Herausforderungen. In routinemäßigen Programmier-Agent-Schleifen führt dies meist nur zu Verzögerungen, ohne die Ergebnisse zu verbessern.
models.json-Einträge, der nicht exakt mit der vom LM Studio angezeigten ID übereinstimmt.Zusammenfassung
Vor nicht allzu langer Zeit hätte der Versuch, ein vollständig lokales Modell dazu zu bringen, ein spielbares physikbasiertes Spiel zu erstellen, ambitioniert geklungen. Heute schafft ein 27-Milliarden-Parameter-Modell, das so quantisiert ist, dass es problemlos auf einem einzelnen Mac läuft, in Kombination mit einem leichten Open-Source-Terminal-Agenten, dies bereits am Nachmittag. Wenn Sie 24 GB oder mehr an integrierter Speicher haben oder eine leistungsstarke GPU, die sonst untätig bleibt, ist diese Konfiguration eine wirklich angenehme und kostengünstige Möglichkeit, zu erkennen, wie weit die lokalen KI-Entwicklungstools bereits vorgedrungen sind.
Ressourcen, auf die in dieser Anleitung verwiesen wird:
Die Download-Seite für LM Studio ist unter lmstudio.ai/download zu finden, und die Einträge für dieses spezielle Modell sind unter lmstudio.ai/models/qwen/qwen3.8-27b zu sehen. Die quantisierten MLX-Gewichte selbst sind auf Hugging Face im Namespace lmstudio-community unter dem Namen Qwen3.8-27B-MLX-4bit verfügbar. Der Pi-Coding-Agent hat seine eigene Website unter pi.dev, wobei die dazugehörige Dokumentation unter pi.dev/docs/latest zu finden ist.
Verwandte Literatur
- Erstellung von Multi-Step-AI-Agent-UIs mit Next.js und dem AI SDK — Erfahren Sie, wie man eine für die Produktion geeignete AI-Agent-Schnittstelle mithilfe typisierter Tools, mehrstufiger Schleifen sowie streamender generativer UI-Komponenten in Next.js entwirft.