00:00:00[MUSIK]
00:00:02Hallo, mein Name ist Mario.
00:00:04Ich stamme aus dem Land von Arnold Schwarzenegger,
00:00:06was Sie wahrscheinlich noch nicht bemerkt haben,
00:00:09basierend auf meinem sehr guten Englisch.
00:00:12Ich möchte vorausschicken, dass wir
00:00:13den ganzen Tag mit unserem Vierjährigen
00:00:16durch London gelaufen sind.
00:00:17Wir waren bei Dinosauriern, Mumien, natürlich bei Nandos
00:00:24und bei Dingen, die ich schon wieder vergessen habe.
00:00:26Ich bin sehr, sehr müde.
00:00:28Und wenn Sie nichts verstehen, was ich sage,
00:00:31heben Sie einfach die Hand und sagen: Opa, wach auf.
00:00:36Der Grund, warum ich hier bin, ist eigentlich eine andere Person,
00:00:39die heute hier in Cockneyville ist.
00:00:40Nennen wir ihn mal Shteter Pineburger.
00:00:44Damals im Jahr 2025, ich glaube etwa im April,
00:00:53erzählte er mir und Armin Ronacher, den Sie vielleicht
00:00:58von Flask und Sentry kennen: Leute, diese Coding-Agents,
00:01:02die funktionieren jetzt wirklich.
00:01:04Und ich dachte mir nur: Ach, halt doch die Fresse.
00:01:06Sorry, ich benutze auch Schimpfwörter.
00:01:09Ganz sicher nicht.
00:01:10Einen Monat später taten wir uns in dieser Wohnung für 24 Stunden
00:01:13über Nacht zusammen und ließen uns von den "Clankern",
00:01:19vom Wipe-Code und vom Wipe-Slop mitreißen.
00:01:21Und seitdem hat keiner von uns wirklich –
00:01:23wir schlafen im Grunde nicht mehr.
00:01:27Wir haben also Sachen gebaut, jede Menge Zeug, von dem
00:01:32wir das meiste nie benutzt haben, denn das ist das Neue in 2025,
00:01:36'26.
00:01:37Wir bauen viel, aber wir bauen nicht viel von dem,
00:01:39was wir tatsächlich benutzen.
00:01:40Wir haben eine Menge geschrieben.
00:01:42Und schließlich gipfelte das darin, dass ich dachte:
00:01:46Hey, ich hasse all die existierenden Coding-Agents oder Frameworks.
00:01:50Wie schwer kann es sein, selbst einen zu schreiben?
00:01:53Und Peter meinte: Oh, ich will da nur so eine Sache machen.
00:01:56Wahrscheinlich wird niemand davon hören.
00:01:58Und es wird ein persönlicher Assistent,
00:02:01denn das ist das, was ich schon immer haben wollte.
00:02:03Die meisten von Ihnen wissen wohl, wie seine Geschichte weiterging.
00:02:05Heute werde ich Ihnen meine viel weniger beeindruckende Geschichte erzählen.
00:02:08Aber ich hoffe, ich kann ein paar Erkenntnisse vermitteln,
00:02:11wie wir in der Branche sagen, die ich in den letzten
00:02:16paar Monaten sammeln konnte.
00:02:17Also Pi.
00:02:19Am Anfang war Cloud Code.
00:02:21Eigentlich war da Copy-and-Paste von ChatGPT.
00:02:25Das haben wir am Anfang alle gemacht, 2023.
00:02:27Dann gab es – wer erinnert sich an den ursprünglichen GitHub Copilot?
00:02:32Ja, eigentlich, wie viele von Ihnen sind Ingenieure?
00:02:35Wie viele von Ihnen nutzen Coding-Agents,
00:02:37wie Cursor oder Cloud Code?
00:02:39Okay.
00:02:40Beliebtheitswettbewerb: Cloud Code?
00:02:43Codex CLI?
00:02:45Cursor?
00:02:48Open–
00:02:48[UNVERSTÄNDLICH]
00:02:49Ja.
00:02:50Open Code?
00:02:50Anti-gravity.
00:02:51Oh, das sind nicht viele.
00:02:52Benutzt das jemand?
00:02:55Ich mag Sie.
00:02:56Wir trinken später ein Bier zusammen.
00:02:58Wie auch immer, das war im Grunde das, was 2025
00:03:03und davor passierte.
00:03:04Es begann mit Copy-and-Paste von ChatGPT.
00:03:06Es war meistens alles kaputt.
00:03:07Meistens nur einzelne Funktionen, Zeug, das man nicht schreiben will.
00:03:10Dann bekam man GitHub Copilot direkt in
00:03:13Visual Studio Code, wo man sich zum Glück durchklicken konnte,
00:03:15was manchmal funktionierte, meistens aber nicht.
00:03:17Manchmal hat es auch einfach GPL-Code zitiert,
00:03:22wie John Carmacks inverse Quadratwurzel
00:03:25und solche Sachen, was sehr lustig war.
00:03:29Und dann gab es Aider.
00:03:30Erinnert sich jemand an Aider?
00:03:31Ja.
00:03:32Die alten Leute.
00:03:33Hallo.
00:03:33Ja.
00:03:37Sie haben graue Haare.
00:03:37Sie kennen Aider offensichtlich.
00:03:41Es gab auch AutoGPT.
00:03:43Wahrscheinlich nicht viele.
00:03:44Ja, okay.
00:03:45Er kennt all diese Dinge.
00:03:48Und dann gab es schließlich Cloud Code.
00:03:51Ich glaube, sie haben es im November veröffentlicht,
00:03:52eigentlich als Beta im Jahr 2024.
00:03:55Aber es wurde erst mehr genutzt – wie bitte?
00:03:59Erst im Februar.
00:04:01Ja, Februar, März, so um den Dreh, 2025.
00:04:03Und ich dachte nur: Ich liebe es.
00:04:05Es ist fantastisch.
00:04:06Das Cloud-Team ist auch klasse.
00:04:07Sie sind auf Social Media präsent.
00:04:08Und sie sind alle sehr gute und talentierte Leute.
00:04:13Und sie haben im Grunde das gesamte Genre erschaffen.
00:04:15Ich weiß, es gab Vorläufer wie Aider und AutoGPT,
00:04:18aber nichts hat das so gemacht.
00:04:20Und das war im Grunde diese ganze agentische Suche.
00:04:22Anstatt dass wie bei Cursor die Codebasis durchforstet wird,
00:04:25Dinge indiziert, ASTs erstellt und auch das indiziert wird –
00:04:29was irgendwie nicht so richtig funktioniert.
00:04:31Sie sagten einfach: Ach was.
00:04:33Wir haben unsere Modelle mit Reinforcement Learning trainiert,
00:04:35um einfach Datei-Tools und Bash-Tools zu nutzen,
00:04:37um Ihre Codebasis ad hoc zu erkunden und die Stellen zu finden,
00:04:41die sie brauchen, um den Code zu verstehen und zu ändern.
00:04:44Und das funktionierte so gut, dass wir ja
00:04:46aufhörten zu schlafen, weil wir plötzlich
00:04:48so viel mehr Code produzieren konnten als vorher von Hand.
00:04:52Damals war es einfach und vorhersehbar
00:04:54und passte eigentlich perfekt in meinen Workflow.
00:04:57Schön.
00:04:58Aber dann tappten sie in die Falle, in die die meisten von uns
00:05:05wahrscheinlich tappen.
00:05:06Die "Clanker" können so viel Code schreiben.
00:05:08Warum lässt man sie nicht einfach alle Features schreiben,
00:05:11die man sich nur vorstellen kann, oder?
00:05:11Ist das nicht toll?
00:05:12Fügen wir einfach dieses Feature hinzu, und jenes,
00:05:14und dieses hier, und das da auch noch.
00:05:15Und am Ende landet man bei Homer Simpsons –
00:05:18ich weiß nicht mal, wie es heißt.
00:05:20Ich nenne es ein Raumschiff.
00:05:21Und Cloud Code ist jetzt ein Raumschiff.
00:05:23Es kann so viele Dinge, dass man wahrscheinlich
00:05:26nur etwa 5 % dessen nutzt, was es bietet.
00:05:28Man kennt insgesamt vielleicht 10 %.
00:05:30Und der Rest, die verbleibenden 90 %,
00:05:33das ist so etwas wie die dunkle Materie von KI und Agents.
00:05:36Niemand weiß, was es eigentlich macht.
00:05:37Und ich persönlich finde das nicht besonders hilfreich,
00:05:40weil ich immer noch glaube, dass man irgendwie
00:05:43wissen muss, was der Agent gerade tut.
00:05:45Dieser Herr hier mag bis zu einem gewissen Grad widersprechen.
00:05:49Und wir sind hier bei TESOL, und sie mögen auch
00:05:51Kontext-Management oder Kontext-Engineering,
00:05:54wie wir es genannt haben.
00:05:55Und ich fand schließlich, dass Cloud Code kein
00:05:58gutes Tool war, wenn es um Beobachtbarkeit
00:06:01und die eigentliche Verwaltung des Kontexts ging.
00:06:04Dann war da auch noch das hier.
00:06:06Wem gefällt das an Cloud Code, wie dieses immense Ausmaß
00:06:09an unerklärlichem Flackern?
00:06:10Nun, eigentlich weiß ich, wie man es erklärt und warum es passiert,
00:06:13aber sie haben es immer noch nicht behoben.
00:06:15Hier ist Tarik.
00:06:16Er ist wirklich großartig.
00:06:16Ich mag ihn sehr.
00:06:17Er ist ihr DevRel-Typ, meistens auf Twitter, und er ist spitze.
00:06:21Aber manchmal sagt er auch fragwürdige Dinge,
00:06:24wie: Unsere Terminal-Benutzeroberfläche ist jetzt eine Game-Engine.
00:06:27Nun müssen Sie wissen, dass ich aus der Spieleentwicklung komme.
00:06:30Da komme ich her.
00:06:31Und wenn ich so etwas lese,
00:06:32dann tut mir das irgendwie ein bisschen weh,
00:06:34weil es eine verdammte Terminal-Benutzeroberfläche ist, Kumpel.
00:06:37Es ist keine Game-Engine.
00:06:38Glauben Sie mir.
00:06:39Der einzige Grund, warum du denkst, es sei eine Game-Engine,
00:06:41ist, dass du React in deinem Terminal verwendest
00:06:44und es etwa 12 Millisekunden dauert,
00:06:45um deinen gesamten UI-Graphen neu zu berechnen.
00:06:49Lass das doch einfach bleiben.
00:06:51Es ist keine Game-Engine, okay?
00:06:54Und dann Mitchell, der Ghostty schreibt,
00:06:56meinte nur: Mann, das ist eine Beleidigung.
00:06:59Schieb es nicht auf Ghostty oder ein anderes Terminal.
00:07:02Dein Code ist Müll.
00:07:04Terminals können mit hunderten
00:07:05Bildern pro Sekunde rendern, im Sub-Millisekundenbereich.
00:07:09Also lass das sein, ja?
00:07:12Und schließlich haben sie das Flackern behoben.
00:07:15Aber dann passierten andere Dinge.
00:07:16Es ist, als hätten sie sich voll und ganz dem "Vibe Coding" verschrieben.
00:07:20Und man spürt es jeden Tag, wenn man Cloud Code benutzt.
00:07:23Nochmals, ich möchte ihre Bemühungen
00:07:27und ihre Ergebnisse nicht schmälern.
00:07:28Cloud Code ist aus gutem Grund immer noch der Marktführer.
00:07:30Sie haben das erfunden und sie machen einen tollen Job.
00:07:32Ich persönlich bin einfach ein alter Mensch,
00:07:34der berechenbare, einfache Werkzeuge mag.
00:07:37Und das passte einfach nicht mehr zu meinen Arbeitsabläufen.
00:07:41Also ja.
00:07:42Außerdem machen sie eine Menge im Hintergrund,
00:07:44wobei sie deinen Kontext manipulieren.
00:07:46Ich habe im Sommer 2025 ein paar Tools gebaut,
00:07:50mit denen ich Anfragen abfangen konnte,
00:07:52die von Cloud Code an deren Backend gesendet wurden,
00:07:55um herauszufinden, was für kleine zusätzliche Texte
00:07:58hinter deinem Rücken in deinen Kontext injiziert werden.
00:08:00Und all das war sehr schädlich
00:08:01und änderte sich zudem ständig.
00:08:04Fast jeden oder jeden zweiten Tag gab
00:08:06wo es eine neue Version gab, in der sich änderte, was
00:08:08an welcher Stelle eingefügt wird, was im Grunde
00:08:11deine bestehenden Arbeitsabläufe durcheinanderbrachte.
00:08:13Es war einfach kein stabiles Werkzeug.
00:08:14Und jetzt verstehe ich es aus ihrer Sicht.
00:08:16Sie müssen experimentieren.
00:08:17Und sie haben eine riesige Nutzerbasis.
00:08:18Und es ist wirklich schwer zu experimentieren,
00:08:19wenn man eine riesige Nutzerbasis hat.
00:08:21Aber es war ihnen egal.
00:08:23Also mussten wir alle darunter leiden.
00:08:25Du arbeitest mit diesem neuen Werkzeug.
00:08:27Du versuchst, vorhersagbare Arbeitsabläufe zu schaffen.
00:08:31Und dann ändert der Anbieter eine winzige Kleinigkeit
00:08:35unter der Haube, die das LLM
00:08:36bei deinen bestehenden Workflows durchdrehen lässt.
00:08:38Das ist einfach nicht nachhaltig.
00:08:39Ich brauche Kontrolle darüber.
00:08:40Ich kann mich nicht darauf verlassen, dass sie mir etwas Stabiles liefern.
00:08:46Ich glaube, als Folge des UI-Designs
00:08:52müssen sie die Sichtbarkeit einschränken, die man hat.
00:08:54Mir persönlich gefällt das nicht besonders.
00:08:56Aber das ist nur eine persönliche Vorliebe.
00:08:57Ich verstehe, dass die meisten Leute
00:08:58mit der Menge an Informationen zufrieden sein werden,
00:09:00die Cloud Code einem präsentiert.
00:09:03Es gibt natürlich null Modellauswahl,
00:09:06da es sozusagen ein Anthropic-natives Tool ist.
00:09:09Das ist kein Nachteil, denn Claude-Modelle sind –
00:09:12ich mag sie.
00:09:13Sie sind wirklich gut.
00:09:15Und es gibt fast null Anpassbarkeit.
00:09:17Und das findst du vielleicht lustig, weil sie
00:09:19dieses ganze Hook-System und so weiter haben.
00:09:21Aber wenn man es mit dem vergleicht, was Pi einem ermöglicht,
00:09:25ist es nicht so tief integriert.
00:09:28Es basiert im Grunde auch darauf, einen Prozess zu starten, wenn
00:09:32das Hook-Ereignis beginnt, was sehr teuer ist, wenn man
00:09:36diesen Prozess immer und immer wieder neu starten muss.
00:09:40So hat sich meine Meinung zu Cloud Code schließlich verschlechtert,
00:09:42nicht weil es schrecklich war.
00:09:44Es passte einfach nicht mehr zu mir.
00:09:47In dieser Zeit passte es für viel mehr andere Leute.
00:09:50Offensichtlich machen sie also Dinge richtig, aber nicht für mich,
00:09:54weil ich alt bin.
00:09:56Also habe ich mich nach Optionen umgesehen.
00:09:59Und da ist Codex CLI, was mir wirklich nicht gefiel.
00:10:01Am Anfang sowohl die Benutzeroberfläche als auch das Modell,
00:10:05das hat sich geändert, zumindest in Bezug auf das Modell.
00:10:08Codex ist mittlerweile wirklich ziemlich gut.
00:10:10Dann gibt es noch AMP.
00:10:12Das Team dahinter hat früher bei Sourcegraph gearbeitet.
00:10:15Sie haben sich von Sourcegraph abgespalten.
00:10:20Und sie sind super gute Ingenieure.
00:10:21Sie haben es geschafft, ein kommerzielles Coding-Harness zu bauen, bei dem
00:10:25sie Funktionen entfernen, statt welche hinzuzufügen.
00:10:28Und die meisten ihrer Entscheidungen ergeben für mich viel Sinn.
00:10:33Also ja, wenn du nach einem kommerziellen Coding-Harness suchst,
00:10:36würde ich dir AMP definitiv empfehlen, weil es wirklich gut ist.
00:10:39Factory Troye, ähnliche Geschichte, auch wirklich gut,
00:10:44obwohl sie nicht so experimentierfreudig sind wie AMP.
00:10:47Und dann gibt es OpenCode, das ist das Open-Source-
00:10:50Coding-Harness, das viele Leute benutzen.
00:10:53Ich habe eine Vorgeschichte mit Open Source.
00:10:55Ich bin seit, nun ja, 17 Jahren in der Open-Source-Welt.
00:11:00Ich habe große und kleine Open-Source-Projekte geleitet.
00:11:04Das liegt mir also sehr am Herzen.
00:11:05Und so dachte ich mir, ich probiere OpenCode mal aus,
00:11:08weil mir das nahesteht.
00:11:12Und neben AMP haben sie eines der bodenständigsten
00:11:15oder pragmatischsten Teams in diesem Bereich.
00:11:16Sie hypen dich nicht mit Funktionen auf,
00:11:18die du wahrscheinlich nie benutzen wirst.
00:11:20Sie versuchen, einen reibungslosen Pfad zu bewahren, der
00:11:23sehr stabil ist.
00:11:26Und sie haben auch ziemlich gute Gedanken darüber,
00:11:27was Coding-Agenten für uns
00:11:29als Berufsstand bedeuten, womit ich mich persönlich identifizieren kann.
00:11:32Das Problem mit OpenCode ist, dass es auch nicht besonders gut
00:11:37beim Verwalten deines Kontexts ist.
00:11:38Zum Beispiel ruft es bei jedem Durchgang sessionCompaction.prune auf,
00:11:44was folgendes tut.
00:11:46Es entfernt alle Ergebnisse vor den letzten 40.000 Token.
00:11:52Nun, wer hier weiß, was Prompt-Caching ist?
00:11:56Was macht das mit deinem Prompt-Cache?
00:11:58OpenCode und Anthropic hatten also eine interessante Geschichte.
00:12:05Und schließlich sagte Anthropic meiner Meinung nach zu Recht:
00:12:11Leute, das wird einfach nicht passieren.
00:12:14Und es gab nie eine öffentliche Verlautbarung dazu.
00:12:17Aber Tarek erklärt es hier.
00:12:19Wenn du in ein Fitnessstudio kommst, dich nicht benimmst und
00:12:22die Infrastruktur missbrauchst, wirst du rausgeworfen.
00:12:25Und ich denke –
00:12:27ich habe keine Beweise dafür,
00:12:28aber ich glaube, das ist der Grund,
00:12:30warum diese Feindseligkeit zwischen Anthropic und OpenCode herrscht.
00:12:33Und ich kann dem voll zustimmen, oder zumindest
00:12:36denke ich, dass Anthropic hier eindeutig im Recht ist.
00:12:39Leg dich nicht mit der Infrastruktur an.
00:12:42Dann gibt es noch andere Dinge, wie zum Beispiel, dass OpenCode
00:12:44standardmäßig mit LSP-Unterstützung (Language Server Protocol) kommt.
00:12:46Direkt nach der Installation.
00:12:48Um auf das Context Engineering zurückzukommen:
00:12:51Nehmen wir an, du gibst deinem Agenten die Aufgabe,
00:12:53eine Reihe von Dateien zu ändern.
00:12:55Was bedeutet das in der Praxis?
00:12:57Er wird eine Reihe von Bearbeitungen vornehmen, eine nach der anderen,
00:13:02an einer Reihe von Dateien.
00:13:03Wie wahrscheinlich ist es, dass nach der ersten von 10 Bearbeitungen
00:13:09der Code kompilierbar ist?
00:13:12Was passiert, wenn du deinen Code Zeile für Zeile änderst?
00:13:15Wie lange dauert es, bis er sich wieder stabilisiert
00:13:17und sauber kompiliert?
00:13:19Das tut er nicht.
00:13:20Er wird nach der ersten Bearbeitung nicht kompilieren, wahrscheinlich nicht
00:13:22nach der zweiten Bearbeitung und so weiter.
00:13:24Wenn du dich dann also umdrehst und sagst: „Hey, lieber LSP-Server,
00:13:28ich habe gerade eine Zeile in dieser Datei bearbeitet.
00:13:30Ist sie kaputt?“
00:13:31Dann wird der LSP-Server sagen: „Ja, sie ist total kaputt.“
00:13:34Und was diese Funktion macht, ist, dass sie
00:13:36diesen Fehler direkt nach dem Tool-Aufruf
00:13:39als eine Art Feedback in das Modell einspeist.
00:13:43„Oh, was du gerade getan hast, ist falsch.“
00:13:45Und das Modell denkt sich: „Was soll der Scheiß, Mann?
00:13:47Ich bin noch nicht fertig mit dem Bearbeiten.
00:13:49Warum sagst du mir das?“
00:13:50Natürlich ist es nicht falsch.
00:13:51Aber wenn man das oft genug macht, gibt das Modell einfach auf.
00:13:54Und das führt zu sehr schlechten Ergebnissen.
00:13:58Ich bin also kein Fan von LSP.
00:13:59Ich halte es für eine sehr schlechte Idee, das aktiviert zu haben.
00:14:02Es gibt natürliche Synchronisationspunkte,
00:14:03an denen man Linting und Typüberprüfung
00:14:06und all das haben möchte.
00:14:07Und das ist erst dann, wenn der Agent denkt, dass er fertig ist.
00:14:10Das hat sich vor kurzem geändert.
00:14:14Dies ist eine einzelne Sitzung von OpenCode, in der jede Nachricht
00:14:20zu einer eigenen JSON-Datei wird.
00:14:22Jede einzelne Nachricht wird zu einer eigenen JSON-Datei auf der Festplatte.
00:14:26Das deutet für mich darauf hin, dass nicht viel über
00:14:29die Architektur des Ganzen nachgedacht wurde.
00:14:31Und wenn ich das Vertrauen darin verliere, möchte ich
00:14:33dieses Werkzeug nicht mehr benutzen.
00:14:35Wiederum: Ich denke, das Team ist eigentlich wirklich gut.
00:14:37Ich denke, sie haben extrem schnell iteriert
00:14:39und etwas gebaut, das offensichtlich für viele Leute super nützlich ist.
00:14:42Es ist nur so.
00:14:43Es sind wieder Entscheidungen, die ich so nicht getroffen hätte, die
00:14:46mich dazu bewogen haben, mein eigenes Ding zu bauen.
00:14:50Dann gab es auch noch das hier.
00:14:51OpenCode wird standardmäßig mit einem Server geliefert.
00:14:54Die Kernarchitektur basiert also auf einem Server.
00:14:56Und Clients verbinden sich damit.
00:14:57Und das Terminal-Interface ist einer dieser Clients.
00:15:00Es gibt auch ein Desktop-Interface.
00:15:01Und ich weiß nicht.
00:15:03Das stellte sich als Sicherheitslücke heraus,
00:15:05bei der Remote Code Execution standardmäßig eingebaut war.
00:15:09Und das ist auch – wenn man so stolz auf seine
00:15:12Server-Infrastruktur oder Server-Architektur ist,
00:15:15dann würde ich davon ausgehen, dass ihr erwachsene Ingenieure seid,
00:15:18die auch über Sicherheit nachgedacht haben.
00:15:20Und anscheinend ist das nicht passiert.
00:15:21Und das war für lange Zeit offen.
00:15:23Und nochmal, ich beschuldige hier niemanden.
00:15:25Das sind Dinge, die einfach passieren, wenn man
00:15:27in einer Branche arbeitet, die in einem halsbrecherischen Tempo agiert,
00:15:31das wir so noch nie gesehen haben.
00:15:33Ich möchte dieses Tool nur nicht benutzen, wenn das so ist.
00:15:36Das waren also meine Beobachtungen in Bezug auf bestehende
00:15:42Coding-Referenzen.
00:15:42AMP und Droid wären etwas gewesen, das ich hätte benutzen können.
00:15:45Aber wieder: keine Kontrolle.
00:15:47Im Fall von AMP entscheiden sie sogar, welche Modelle man benutzen kann.
00:15:50Und es ist nur ein einziges Modell für einen bestimmten Aufgabentyp.
00:15:53Und das bin ich nicht.
00:15:55Was Droid angeht, denke ich, dass es ein bisschen offener ist.
00:15:58Aber zu der Zeit, als ich es ausprobiert habe,
00:16:00hat es einfach nicht –
00:16:02sah ich keinen großen Vorteil gegenüber Cloud Code.
00:16:07Und dann habe ich mir aus ganz anderen Gründen Benchmarks angesehen
00:16:10und Terminal Bench gefunden.
00:16:12Wer weiß, was Terminal Bench ist?
00:16:15Okay, im Grunde ist es eine Testumgebung für Coding-
00:16:20oder Agenten-Evaluierung, die eine Reihe von Computer- und Programmier-
00:16:24bezogenen –
00:16:24sorry, ich bin alt und müde wegen meines Vierjährigen.
00:16:31Es enthält eine Reihe von computer- und programmierbezogenen Aufgaben,
00:16:35die ein Agent oder das LLM innerhalb einer Agenten-Umgebung
00:16:39erfüllen muss.
00:16:40Ich glaube, es sind etwa 82 oder so.
00:16:43Und sie sind sehr vielfältig.
00:16:44Sie reichen von „repariere mein Window-Setup“ bis zu „programmiere mir eine
00:16:48Monte-Carlo-Simulation“ oder so etwas in der Art.
00:16:51Und sie haben eine Bestenliste.
00:16:52Und auf dieser Bestenliste sieht man die Kombination
00:16:54aus Coding-Agent-Harness und Modell.
00:16:57Und sie haben ihren eigenen Coding-Agenten namens Terminus.
00:17:03Und ich finde ihn brillant, weil er
00:17:06eines der leistungsfähigsten Harnesses im Benchmark.
00:17:09Wir werden es später noch sehen.
00:17:11Was genau macht es?
00:17:12Nun, alles, was das Modell erhält, ist eine TMUX-Sitzung.
00:17:17Und alles, was es tun kann, ist Tasteneingaben dorthin zu senden
00:17:19und die ausgegebenen VT-Codesequenzen zurückzulesen.
00:17:23Das ist also die kleinste, minimalste Schnittstelle,
00:17:27die ein Modell zu deinem Computer haben kann.
00:17:31Und das bringt Spitzenleistungen auf dem gesamten Leaderboard.
00:17:36Was sagt uns das über bestehende Coding-Agent-Harnesses?
00:17:39Brauchen wir all diese Funktionen, damit die Modelle
00:17:41tatsächlich Leistung erbringen?
00:17:43Für mich persönlich geht es nicht nur darum, dass das Modell
00:17:48tatsächlich gut ist.
00:17:49Es geht auch um mich als Benutzer, den Menschen,
00:17:51der eine Möglichkeit braucht, mit meinem Agenten, dem Modell, zu interagieren.
00:17:54Und Terminus ist offensichtlich nicht die User Experience oder Developer
00:17:58Experience, die ich möchte.
00:18:00Aber es zeigt uns, dass all diese Funktionen, die diese
00:18:03Coding-Harnesses haben, vielleicht nicht notwendig sind,
00:18:08um gute Ergebnisse von Agenten zu erhalten.
00:18:10Also keine Datei-Tools, keine Sub-Agenten, keine Web-Suche, gar nichts.
00:18:13Zwei Thesen basieren auf all diesen Erkenntnissen.
00:18:16Wir befinden uns in der Phase des Ausprobierens.
00:18:18Und niemand hat eine Ahnung, wie der perfekte Coding-Agent
00:18:21oder das perfekte Coding-Harness aussehen sollte.
00:18:23Wir versuchen beides: Minimalismus und das volle Programm mit
00:18:27Schwärmen und Teams von Agenten, keine Kontrolle, volle Autonomie
00:18:30und was auch immer.
00:18:31Ich denke, das ist noch nicht abgeschlossen.
00:18:33Wir haben die Frage noch nicht beantwortet, wie das
00:18:35idealerweise aussehen sollte und was zum Industriestandard
00:18:37werden wird.
00:18:38Und das Zweite ist: Wir brauchen bessere Wege,
00:18:40um mit Coding-Agenten herumzuexperimentieren.
00:18:42Das heißt, wir müssen sie in die Lage versetzen, sich selbst zu modifizieren
00:18:47und anpassungsfähig zu werden.
00:18:48Damit wir schnell mit Ideen experimentieren
00:18:50und sehen können, ob dies etwas ist, das wir zu einem
00:18:53Industriestandard machen können – ein neuer Workflow, den wir wahrscheinlich alle übernehmen werden.
00:18:58Die Grundidee war also –
00:18:59und es ist sehr einfach, keine Hexenwerk –
00:19:01alles wegzulassen und einen minimalen, erweiterbaren Kern zu bauen.
00:19:05Es gibt ein gewisses Maß an Komfort.
00:19:06Es ist kein unbeschriebenes Blatt.
00:19:09Das ist also Pi.
00:19:10Und das allgemeine Motto lautet: Passe deinen Coding-Agenten
00:19:13deinen Bedürfnissen an, statt umgekehrt.
00:19:16Es kommt mit vier Paketen: ein AI-Paket, das im Grunde
00:19:21nur eine einfache Abstraktion über mehrere Anbieter ist, die
00:19:24alle unterschiedliche Transportprotokolle sprechen.
00:19:27Es ist also sehr einfach, mit allen Anbietern zu sprechen
00:19:29und zwischen ihnen im selben Kontext oder derselben Sitzung zu wechseln.
00:19:34Der Agenten-Kern, der nur ein verallgemeinerter
00:19:36Agenten-Loop mit Tool-Aufrufen, Verifizierung
00:19:38und so weiter ist.
00:19:39Und Streaming, eine Terminal-Benutzeroberfläche,
00:19:42die etwa 600 Zeilen Code umfasst und wirklich gut funktioniert,
00:19:47überraschenderweise, weil sie nicht von einem Clanker geschrieben wurde.
00:19:51Und der Coding-Agent selbst, der sowohl ein SDK ist,
00:19:54das man im Headless-Modus verwenden kann,
00:19:57als auch ein vollständiger Terminal-UI-Coding-Agent.
00:20:02Dies ist der gesamte System-Prompt.
00:20:05Da ist nichts weiter, im Vergleich zu anderen
00:20:08Coding-System-Prompts.
00:20:10Das ist in Token gemessen.
00:20:13Es stellt sich heraus, dass Frontier-Modelle stark mittels RL trainiert sind, um zu wissen,
00:20:16was ein Coding-Agent ist.
00:20:18Warum also sagt man ihnen ständig, dass sie ein Coding-Agent sind
00:20:21und wie sie Coding-Aufgaben erledigen sollen?
00:20:27Standardmäßig YOLO, warum das?
00:20:30Die meisten Coding-Agent-Harnesses haben derzeit zwei Modi.
00:20:33Entweder kann der Agent tun, was er will,
00:20:36oder der Agent darf dich fragen: "Willst du diese
00:20:40Datei wirklich löschen?"
00:20:41"Willst du wirklich die Dateien in diesem Verzeichnis auflisten?"
00:20:44und so weiter.
00:20:44Und hier gibt es verschiedene Graustufen.
00:20:47Aber am Ende des Tages läuft es darauf hinaus, dass der Benutzer
00:20:49eine Aktion des Agenten genehmigen muss.
00:20:52Und dann sind wir sicher.
00:20:53Und ich denke, das ist falsch, weil es zu Ermüdung führt.
00:20:55Die Leute werden es entweder ganz ausschalten (YOLO-Modus)
00:20:58oder einfach nur Enter drücken, ohne etwas zu lesen.
00:21:01Ich glaube also nicht, dass das eine Lösung ist.
00:21:02Containerisierung ist auch keine Lösung,
00:21:04wenn man sich Sorgen um Datenabfluss
00:21:06und Prompt-Injections macht.
00:21:07Aber ich denke, das ist das Einzige, was man –
00:21:10Ich denke, das ist die beste Basis im Vergleich zu Guardrails
00:21:14wie Genehmigungen oder Dialogen.
00:21:17Es hat nur vier Tools: Datei lesen, Datei schreiben,
00:21:19Datei bearbeiten und Bash.
00:21:21Bash ist alles, was man braucht.
00:21:22Was ist nicht drin?
00:21:23Kein MCP, keine Sub-Agenten, kein Plan, kein Hintergrund-Bash,
00:21:25keine eingebauten To-Dos.
00:21:26Hier ist, was man stattdessen tun kann.
00:21:28Für MCP: CLI-Tools plus Skills nutzen
00:21:30oder eine Erweiterung bauen, was wir gleich sehen werden.
00:21:34Keine Sub-Agenten, warum?
00:21:35Weil sie nicht beobachtbar sind.
00:21:36Verwende stattdessen tmux und starte den Agenten erneut.
00:21:41Du hast die volle Kontrolle über die Ausgaben und Eingaben des Agenten
00:21:44und kannst alles sehen, was im Sub-Agenten passiert.
00:21:48Interessanterweise macht Code-Spawn –
00:21:50der Team-Modus jetzt im Grunde genau das auch.
00:21:55Kein Plan-Modus: Schreibe eine plan.md Datei.
00:21:57Man hat ein dauerhaftes Artefakt anstelle
00:21:59einer instabilen UI, die nicht wirklich
00:22:02in den Terminal-Viewport passt.
00:22:04Und man kann es über mehrere Sitzungen hinweg wiederverwenden.
00:22:07Kein Hintergrund-Bash: Brauchen wir nicht, wir haben tmux.
00:22:09Es ist dasselbe.
00:22:11Und keine eingebauten To-Dos: Schreibe eine todo.md.
00:22:13Gleiche Sache.
00:22:14Oder baue all das selbst so, wie du es magst.
00:22:17Und genau das ermöglicht Pi, indem es extrem erweiterbar ist.
00:22:21Man kann Tools individuell erweitern.
00:22:22Man kann dem LLM Tools geben, die man selbst definiert.
00:22:26Ich glaube, kein anderes Coding-Agent-Harness
00:22:28bietet das derzeit an, es sei denn, man forkt Open Code.
00:22:31Hier ist das nicht nötig.
00:22:32Man schreibt einfach eine einfache TypeScript-Datei,
00:22:34und sie wird automatisch geladen.
00:22:37Man kann auch eine eigene UI schreiben.
00:22:39Skills sind natürlich in ihren Prompt-Templates, Themes.
00:22:43Und man kann all das bündeln, auf NPM oder Git stellen
00:22:46und mit einem einzigen Befehl installieren, was sehr nett ist.
00:22:49Und alles wird per Hot-Reload aktualisiert.
00:22:51Ich entwickle also meine eigenen Erweiterungen,
00:22:53die projekt- oder aufgabenspezifisch sind, direkt in Pi innerhalb des Projekts.
00:22:59Und während der Agent die Erweiterung modifiziert, lade ich sie einfach neu.
00:23:05Und es aktualisiert sofort den gesamten laufenden Code,
00:23:10was sehr angenehm ist.
00:23:11In der Praxis bedeutet das, dass man eigene Kompaktierung durchführen kann.
00:23:14Ich denke, das ist eines der Dinge, mit denen die Leute
00:23:16mehr experimentieren sollten, denn alle aktuellen
00:23:19Kompaktierungs-Implementierungen sind nicht gut.
00:23:21Berechtigungs-Schranken kann man leicht
00:23:23in 50 Zeilen Code implementieren und damit abdecken,
00:23:24was all die anderen Agenten-Harnesses tun, wenn man das möchte.
00:23:27Eigene Anbieter: Registriere Proxies von selbstgehosteten Modellen.
00:23:31Ist mir egal.
00:23:32Du brauchst mich nicht, um das für dich zu tun.
00:23:33Du kannst das selbst tun, und tatsächlich kann dein Clanker es für dich tun.
00:23:37Oder überschreibe jedes eingebaute Tool.
00:23:38Modifiziere, wie Lesen, Schreiben, Bearbeiten und Bash funktionieren.
00:23:41Egal.
00:23:42Ich habe eine Version von Lesen, Schreiben, Bearbeiten und Bash,
00:23:43die über SSH auf einer Remote-Maschine funktioniert.
00:23:47Für mich dauerte die Implementierung fünf Minuten, aber es funktioniert.
00:23:51Und man hat vollen TUI-Zugriff, man kann also
00:23:54eine komplett eigene UI im Coding-Agenten schreiben.
00:23:58Cloud Code wurde veröffentlicht – übrigens dauerte es fünf Minuten,
00:24:02bis jemand das in Pi mit mehr Funktionen nachgebaut hatte.
00:24:05PyMessenger – ich habe keine Ahnung, was es genau macht,
00:24:07aber anscheinend ist es wie ein Chatraum für mehrere Pi-Agenten,
00:24:10die dann kommunizieren und eine eigene UI haben.
00:24:13Wir können schauen, was sie machen, und ja, es funktioniert einfach.
00:24:18Oder PyMess – wenn einem langweilig ist, spielt man einfach ein Spiel,
00:24:23während der Agent läuft, richtig?
00:24:24Das kann man machen.
00:24:25Oder PyAnnotate – man öffnet die Website,
00:24:28an der man gerade arbeitet, und annotiert Dinge im Frontend,
00:24:31um dem Agenten direkt Feedback zu geben.
00:24:35Füttere es zurück in den Kontext, lass ihn das Ding ändern.
00:24:39Oder etwas, das ich benutze, ist File Switch It.
00:24:42Ich möchte nicht zu einer IDE oder einem Editor wechseln.
00:24:43Ich möchte mir nur kurz die Datei ansehen, die geändert wurde.
00:24:46All das sind also Erweiterungen.
00:24:48Nichts davon ist eingebaut, und es dauert für die Leute
00:24:50normalerweise nur ein paar Minuten bis zu einem Nachmittag,
00:24:52um all das so zu bauen, wie sie es wollen.
00:24:56PyWavic sagt mir auch nichts.
00:25:00Pi kommt auch mit einer Baumstruktur.
00:25:01Ich werde das nicht erklären.
00:25:03Schaut einfach auf py.dev.
00:25:04Deine Sitzung ist ein Baum, keine lineare Liste von Chats.
00:25:07Man kann also im Grunde Sub-Agenten simulieren,
00:25:09indem man alle Dateien im Verzeichnis liest,
00:25:11dies zusammenfasst, zum Stamm der Konversation zurückkehrt,
00:25:14die Zusammenfassung mitnimmt und die eigentliche Arbeit erledigt.
00:25:19Nichts wird hinter deinem Rücken eingeschleust.
00:25:22Agenten, Skills, volle Kostenkontrolle.
00:25:24Viele Harnesses machen das hier nicht.
00:25:26Open Code macht es nicht gut.
00:25:29HTML-Export, JSON-Format, Headless-JSON-Stream, bla bla.
00:25:33Funktioniert es tatsächlich?
00:25:34Nun, Terminal Bench.
00:25:35Lassen Sie mich hier heranzoomen.
00:25:36Kann ich nicht.
00:25:37Das ist erstaunlich.
00:25:38Hier ist Pi, direkt hinter Terminus 2, unter Verwendung von Claude Opus 4.5.
00:25:45Das war im Oktober, als Pi noch nicht einmal Kompaktierung hatte.
00:25:49Zeit für die Demo – ich überspringe das, gegen die Clanker,
00:25:51weil sie Open Source kaputt machen.
00:25:54Wenn man mit dem Projekt dieses Typs in Verbindung gebracht wird,
00:25:56dann kommen Hunderte von Leuten von OpenClaw
00:26:02zu deinem Repository und spamen dich mit Clanker-Müll zu.
00:26:06Ich musste also ein paar Maßnahmen erfinden.
00:26:09Ich habe die "OSS-Vacation" erfunden.
00:26:11Ich habe einfach Issues und PRs für ein paar Wochen geschlossen
00:26:14und allein an den Dingen gearbeitet.
00:26:16Alles, was wichtig ist, wird ohnehin später
00:26:20oder im Discord gemeldet.
00:26:21Und dann habe ich auch ein eigenes Zugangssystem implementiert,
00:26:26bei dem ich eine Markdown-Datei im Repository habe.
00:26:28Wenn jemand einen PR öffnet, ohne dass sein Kontoname
00:26:32in dieser Markdown-Datei steht, wird der PR automatisch geschlossen.
00:26:34Das ist mir egal.
00:26:35Stell dich zuerst mit einer menschlichen Stimme über ein Issue vor.
00:26:39Schreibe ein Issue, das nicht länger als die Anzeige ist,
00:26:42denn alles andere ist wahrscheinlich Clanker-Müll.
00:26:45Und sobald du das getan hast, gebe ich gerne mein Okay.
00:26:47Man kommt also in diese Datei und kann nun PRs
00:26:50für das Repository einreichen.
00:26:51Alles, worum ich bitte, ist eine menschliche Verifizierung.
00:26:53Und Mitchell von Ghosty hat das dann aufgegriffen und
00:26:57ein Projekt namens Vouch gebaut, das leichter auf eigene
00:27:00Open-Source-Repositories anwendbar ist.
00:27:02Und das ist Pi.
00:27:03Geht hin und probiert es aus.
00:27:05Das war's von mir.
00:27:06[APPLAUS]
00:27:07[MUSIK]