VERSCHWENDE NICHT SO VIELE TOKEN! PI CODING AGENT vs OPENCODE mit demselben lokalen LLM.

LLuigi Tech
컴퓨터/소프트웨어게임/e스포츠AI/미래기술

Transcript

00:00:00Hallo zusammen, dies ist eine Demo von Agent versus Open Code und wir werden diese
00:00:09zwei Harnesses an diesem Beispiel testen. Das ist ein Spiel, das ich in meinem letzten
00:00:20Video “vibe-coded” habe, dieses hier. Und ja, in diesem Video möchte ich testen, wie man dieses Spiel fixen kann,
00:00:29da es einige Bugs gibt. Wie man zum Beispiel sehen kann, hat der X-Marker das
00:00:38Match gewonnen, aber die Zellen sind nicht hervorgehoben. Wir werden versuchen, die gleiche Art von Fix
00:00:51mit einem lokalen LLM zu machen, nämlich Qwen 2.5 3B, was meiner Meinung nach das beste Modell ist,
00:01:04das man derzeit auf seinem Computer laufen lassen kann. Versuchen wir es also zuerst mit PI, also
00:01:16das hier ist PI und ich werde es in diesem Verzeichnis ausführen, in dem sich die Quellen in
00:01:30getrennten Dateien befinden. Ich habe index.html, game.js und style.js und wir werden
00:01:42denselben Prompt in beiden Harnesses ausprobieren, die Ergebnisse vergleichen und ich werde
00:01:55auch einen Timer benutzen, um zu sehen, wie lange die Aufgabe dauern wird. Das ist also der Prompt. Der
00:02:11Prompt lautet: Mache die Zellwürfel sichtbarer und füge Platz zwischen ihnen hinzu,
00:02:19denn wie man hier sehen kann, liegen die Würfel sehr nah beieinander. Und dann haben wir
00:02:28die zweite Aufgabe: Verbessere die Gewinnlogik. Die Gewinn-Marker sollten
00:02:37grün werden. Das ist ein weiteres Problem, weil man nicht sieht, wo der
00:02:46Spieler mit den Markern gewonnen hat. Und ja, er hat angefangen, meinem Prompt zu folgen und das ist
00:02:59PI. Er beginnt mit der Analyse des aktuellen Verzeichnisses und hier sieht man den
00:03:09verwendeten Kontext, aber vielleicht ist es interessanter, die Zeit zu sehen, die für die
00:03:20Behebung des Spiels aufgewendet wurde. Und ja, es funktioniert. Danach werden wir die gleiche Aufgabe mit
00:03:30Open Code machen, und ich werde das Repo zurücksetzen, um die gleiche Art von Test durchzuführen. Jetzt werde ich
00:03:41das Video für eine Weile pausieren und wir sehen uns wieder, wenn die Behebung des Spiels fertig ist.
00:04:00Ok, fertig. Es wird noch der Bericht über die Änderungen geschrieben und dann werden wir die
00:04:20Ergebnisse testen. Ok, fertig. Machen wir eine Pause. 7 Minuten und 44 Sekunden mit Qwen 2.5, also testen
00:04:38wir die Ergebnisse. Das ist also der Bericht, also das, was technisch im Code
00:04:47passiert ist. Und wie man sehen kann, hat er die game.js mehrmals in
00:04:58mehreren Teilen partiell gelesen. Dies ist auch ein Diff. Wie man sehen kann, musste viel an der Datei
00:05:09geändert werden, und insgesamt wurden 9,4 K Token gesendet und 2,8 K empfangen. Dies
00:05:23ist das Ergebnis der Kontextnutzung. Probieren wir das Ergebnis aus: Neu laden, und wie man
00:05:35sehen kann, sind die Zellwürfel jetzt weiter voneinander entfernt, stärker voneinander getrennt.
00:05:44Probieren wir das Spiel aus. Ich fange mal mit der mittleren Zelle an, ok... und ok, ich lasse ihn
00:06:00gewinnen, ok, perfekt. Jetzt hat der Computer gewonnen, und wie man sehen kann, sind die Würfel weiter
00:06:11voneinander getrennt und auch die Gewinn-Marker sind hervorgehoben. Es funktioniert also. Das war mit
00:06:20dem PI-Coding-Agenten. Jetzt machen wir den gleichen Test mit Open Code und demselben
00:06:30Modell und demselben Code. Ich werde also den Code zurücksetzen, ok. Die Änderungen sind nun zurück
00:06:50auf der fehlerhaften Version wie hier. Jetzt versuchen wir denselben Prompt mit
00:07:00Open Code, für die Zellen und für die Gewinnlogik. Ich werde dasselbe Modell mit
00:07:11Basico verwenden. Basico ist ein benutzerdefinierter Agent, den ich erstellt habe, und wir starten. Ich
00:07:27habe den Basico-Agenten erstellt, weil er viel einfacher ist als der standardmäßige Coding-Agent,
00:07:36und der Basico-Agent sieht so aus:
00:07:56Es ist nur eine einfache Markdown-Datei: Du bist Basico, ein minimaler Agent. Und ja, ich
00:08:07habe hier nicht viel spezifiziert, nur, dass ein Web-Fetch mit dem Suchmaschinen-Tool genutzt werden soll,
00:08:15was wir in diesem Anwendungsfall nicht brauchen werden. Es ist also ein sehr einfacher Agent, nur um
00:08:24ähnliche Bedingungen für Open Code zu schaffen. Wir verwenden bereits
00:08:3412 K des Kontexts. Es begann mit index, game.js und ja, auch hier werden wir
00:08:47das Endergebnis nach der Videopause ausprobieren. Es läuft noch, ohne
00:08:58viel Feedback hier. Ich wollte auch sagen, dass ich denselben Test auch
00:09:07mit Gemma 2 27B probiert habe, aber es war nicht in der Lage, Tool-Calling in
00:09:20dieser Art von Projekt durchzuführen. Gemma 2 konnte das 3D-Tic-Tac-Toe-Spiel zwar nachbauen, aber dann
00:09:30war es nicht in der Lage, die Tool-Aufrufe zum Editieren dieser Dateien zu machen. Daher habe ich diesen Test nur
00:09:38mit Qwen 2.5 gemacht, da ich denke, dass es für lokale Szenarien wie dieses das beste ist.
00:09:48Ja, interessant, denn es füllt die To-Dos aus. Es gibt zwei Aufgaben: Eine ist
00:09:58die Zellwürfel sichtbarer zu machen und die andere ist, die Logik zu fixen. Es wird also ein wenig
00:10:07mehr Overhead im Vergleich zum PI-Agenten haben. Aber ja, der PI-Agent war in der Lage,
00:10:17diese Art von Aufgabe auch ohne ein To-Do dazwischen zu erledigen. In komplizierteren
00:10:26Situationen könnte es nützlich sein, ein To-Do zu haben, aber ja, es ist das LLM-Modell,
00:10:35das meiner Meinung nach den größeren Unterschied macht, und nicht die Harness. Wir werden
00:10:44es ja sehen.
00:10:56...
00:11:27Okay, fast fertig. Beide To-Dos wurden abgeschlossen, aber es muss immer noch lesen und
00:11:40dann in die Datei schreiben.
00:11:52Okay, es schreibt den Bericht. Ich hoffe, dass es dann fertig ist. Wir sind bei 12
00:12:05Minuten, also ist es mehr, aber okay, es ist fertig. Pause. Und wie man sehen kann,
00:12:15beträgt der verwendete Kontext bei Open Code etwa 23 K. Wahrscheinlich werden
00:12:26die verbrauchten Token auf unterschiedliche Weise berichtet, aber es scheint, dass PI die Hälfte der Token
00:12:36verwendet hat, um die Probleme zu beheben. Dies ist der technische Bericht, er hat also
00:12:46game.js oft geöffnet, um die Fixes durchzuführen. Probieren wir das Spiel aus, um zu sehen, ob die Fixes
00:12:57tatsächlich funktionieren. Neu laden... es sieht ähnlich aus wie die PI-Version. Die mittlere Zelle, okay...
00:13:19Versuchen wir, das Spiel zu gewinnen. Okay, ich habe gewonnen! Und wie man sieht, haben wir das gleiche Ergebnis
00:13:32wie bei PI erhalten, aber mit mehr Token und mehr Zeitaufwand für die
00:13:43Lösungen. In diesem Anwendungsfall hat Open Code, das normalerweise viele Funktionen wie
00:13:55Guardrails und mehr Prompt-Tweaks hat, die gleichen Lösungen geliefert, die wir auch mit
00:14:06PI erhalten haben, aber mit weniger Zeit und weniger Token. Zusammenfassend ist
00:14:18meiner Meinung nach das verwendete LLM der relevanteste und wichtigste Teil. Die
00:14:28Harnesses sind nützlich und wichtig, aber wichtiger ist die Qualität der Daten,
00:14:36die in den Kontext gestellt werden. In dieser Situation mit dem PI-Coding-Agenten
00:14:47haben wir weniger Overhead und ein gutes Ergebnis erzielt, auch ohne einen sehr großen Prompt im
00:14:58LLM. Lasst mich in den Kommentaren wissen, welcher euer bevorzugter Open-Source-
00:15:06Harness-Coding-Agent ist. Wir sehen uns in einem anderen Video, bye!

Key Takeaway

Der PI Coding Agent löst Programmieraufgaben mit Qwen 2.5 3B bei gleicher Ergebnisqualität etwa 40% schneller und mit dem halben Token-Verbrauch im Vergleich zu Open Code.

Highlights

  • Qwen 2.5 3B erweist sich als das leistungsfähigste lokale Sprachmodell für Coding-Aufgaben und Tool-Calling auf Consumer-Hardware.

  • Der PI Coding Agent behebt Spiel-Bugs in 7 Minuten und 44 Sekunden bei einem Verbrauch von 9,4 K Input- und 2,8 K Output-Token.

  • Open Code benötigt mit demselben Modell und Prompt über 12 Minuten und verbraucht mit 23 K Token etwa doppelt so viel Kontext wie PI.

  • Gemma 2 27B scheitert im Test an der Ausführung von Tool-Calls für die Dateibearbeitung, obwohl es komplexen Code generieren kann.

  • Die Wahl des LLM beeinflusst das Ergebnis stärker als das verwendete Agent-Framework oder der Umfang des System-Prompts.

Timeline

Testaufbau für lokale Coding-Agenten

  • Ein fehlerhaftes 3D-Tic-Tac-Toe-Spiel dient als Testobjekt für die Fehlerbehebung.
  • Qwen 2.5 3B fungiert als primäres lokales Testmodell für beide Frameworks.
  • Die Quellcode-Struktur besteht aus getrennten Dateien für HTML, Logik und Styling.

Der Test vergleicht die Effizienz von PI und Open Code unter identischen Bedingungen. Das Ziel ist die Korrektur einer fehlerhaften Gewinnlogik und die visuelle Anpassung von Abständen zwischen Spielzellen. Ein lokaler Timer erfasst die Bearbeitungsdauer für eine objektive Leistungsbewertung.

Effizienz des PI Coding Agenten

  • PI benötigt 7 Minuten und 44 Sekunden für die vollständige Fehlerbehebung.
  • Das System liest und bearbeitet die JavaScript-Datei in effizienten Teilabschnitten.
  • Der Prozess verbraucht insgesamt 12,2 K Token für Analyse und Code-Änderungen.

PI analysiert das Verzeichnis und wendet Änderungen direkt an, ohne komplexe Zwischenschritte. Die Zellabstände vergrößern sich wie gefordert und die Gewinn-Marker färben sich nach einem Sieg korrekt grün. Diese Performance dient als Benchmark für den nachfolgenden Test mit Open Code.

Vergleich mit Open Code und Basico-Agent

  • Open Code nutzt einen minimalistischen 'Basico'-Agenten ohne komplexe Guardrails.
  • Gemma 2 27B ist aufgrund fehlender Tool-Calling-Fähigkeiten für diesen Workflow ungeeignet.
  • Die Aufgabenbewältigung erfolgt über eine explizite To-Do-Liste innerhalb des Agenten-Frameworks.

Der Basico-Agent in Open Code ist eine einfache Markdown-Konfiguration für minimale Ablenkung. Trotz dieser Reduzierung zeigt das Framework einen höheren Overhead bei der Aufgabenplanung. Das Modell Qwen 2.5 3B bleibt die einzige funktionale Option für die automatisierte Dateibearbeitung im lokalen Betrieb.

Analyse von Token-Verbrauch und Performance

  • Open Code verbraucht 23 K Kontext-Token für die identische Problemlösung.
  • Die Bearbeitungszeit steigt bei Open Code auf über 12 Minuten an.
  • Die Qualität der Kontext-Daten ist entscheidender für den Erfolg als das spezifische Agent-Harness.

Obwohl beide Frameworks funktionale Korrekturen liefern, arbeitet PI deutlich ressourcensparender. Der höhere Token-Verbrauch bei Open Code resultiert aus umfangreicheren internen Prozessen und wiederholten Lesezugriffen auf die Quelldateien. Die Ergebnisse zeigen, dass schlankere Frameworks bei limitierten lokalen Ressourcen deutliche Geschwindigkeitsvorteile bieten.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video