VERSCHWENDE NICHT SO VIELE TOKEN! PI CODING AGENT vs OPENCODE mit demselben lokalen LLM.
LLuigi Tech
Computing/SoftwareVideo & Computer GamesInternet Technology
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!
Community Posts
No posts yet. Be the first to write about this video!
Write about this video