Startseite / Artikel / Erstellung eines lokalen Angry Birds-Klons mit Qwen3.8-27B und Pi

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.

1952 Wörter

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.
  • Code, der niemals Ihren eigenen Rechner verlässt – ein echter Vorteil, wenn Sie an etwas arbeiten, das Sie lieber nicht bei Dritten hochladen möchten.
  • Keine Geschwindigkeitsbeschränkungen und keine Unterbrechungen während der Sitzung wegen „erreichter Nutzungsgrenze“.
  • 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

    1. Öffnen Sie in LM Studio das Such-/Entdeckungsfenster für Modelle.
    2. Suchen Sie nach qwen/qwen3.8-27b oder gehen Sie direkt zur Modell-Seite auf der LM Studio-Website.
  • Wählen Sie das Quantisierungslevel aus, das zu Ihrer Hardware passt – basierend auf der zuvor erwähnten Speicheraufteilung. Für die meisten Geräte mit 24 bis 32 GB RAM bietet die MLX-4-Bit-Version das richtige Gleichgewicht. Wenn Sie die Gewichte vor dem Herunterladen überprüfen möchten, können dieselben von der Community quantisierten Dateien direkt auf Hugging Face durchgesehen werden.
  • Herunterladen Sie das Modell und laden Sie es anschließend entweder über die Chat- oder die My Models-Seite. Während des Ladevorgangs legen Sie eine Kontextlänge fest, die bequem in Ihrem verfügbaren Speicher Platz findet – 16K ist ein angemessener Standardwert, den Sie erhöhen können, falls genügend Speicher frei ist.
  • Vor dem Weitermachen öffnen Sie das Einstellungsfenster des Modells und senken Sie den Wert „Reasoning Effort“ von 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.

    1. Wechseln Sie zur Registerkarte „Entwickler“ in LM Studio.
    2. Activieren Sie die Option „Server starten“.
    3. Durchgehend wird dadurch ein mit OpenAI kompatibler Endpunkt unter http://localhost:1234/v1 bereitgestellt.

    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:

    • baseUrl muss genau der Adresse entsprechen, die in der Entwicklerleiste von LM Studio angezeigt wird – standardmäßig ist das http://localhost:1234/v1.
    • apiKey kann 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[].id muss Zeichen für Zeichen mit dem übereinstimmen, was LM Studio über curl http://localhost:1234/v1/models zurückgibt. Eine kleine Abweichung ist der häufigste Grund dafür, dass ein lokales Modell nicht an der erwarteten Stelle erscheint.
    • contextWindow sollte 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 xhigh fü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.
  • Passen Sie das Kontextfenster an die verfügbare RAM-Menge an und nicht an das theoretische Limit des Modells. Ein Kontextfenster von 262 K – oder die erweiterte Option von 1 M – sieht auf dem Papier beeindruckend aus, doch bei etwa 64 KB KV-Cache pro Token verbrauchen lange Kontexte den Speicher extrem schnell. Ein Bereich von 16 K bis 64 K ist ein realistischeres Ziel für die meisten Geräte mit einem einzelnen GPU oder Apple Silicon-Systemen.
  • Überprüfen Sie den Modellidentifikator sorgfältig. Der häufigste Grund für Misserfolge bei lokalen Setups ist eine models.json-Einträge, der nicht exakt mit der vom LM Studio angezeigten ID übereinstimmt.
  • Kalibrieren Sie Ihre Erwartungen an die Leistung. Sie sollten mit Geschwindigkeiten im einstelligen Bereich bis zu etwa zehn Stücken pro Sekunde rechnen – nicht mit der Geschwindigkeit einer Cloud-API. Das ist ein angemessener Kompromiss, um kostengünstig zu arbeiten, ohne dass Daten Ihre Maschine verlassen, doch man sollte dies berücksichtigen, insbesondere bei günstigerer Hardware.
  • 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

  • ReAct erklärt: Wie KI-Agenten Denken mit Handlungen in der realen Welt verbinden — Erfahren Sie, wie das ReAct-Framework Denken und Werkzeugnutzung miteinander verbindet, um KI-Agenten zu unterstützen, und wie es sich von Chain-of-Thought-, RL- sowie Denkmodellen unterscheidet.