Website-Suche

Ich ließ Claude, ChatGPT und Gemini jeweils dieselbe Chrome-Erweiterung erstellen, und nur eine funktionierte tatsächlich.


Vibe-Coding ist jetzt überall. Wenn die meisten Menschen den Begriff hören, denkt ihr Geist jedoch sofort daran, Full-Stack-CRUD-Apps zu erstellen, polierte Websites, die man in wenigen Minuten zusammenstellen kann, oder Portfolio-Seiten, die irgendwie alle denselben Hero-Bereich (und Farbverlaufshintergrund) haben. Als jemand, der immer Dutzende von Ideen im Kopf hat, mache ich schon seit der öffentlichen Einführung von ChatGPT durch OpenAI eine Art von "Vibe-Coding".

Das gesagt, war das allererste, was ich mit Vibe-Code erstellt habe, weder eine Website, noch eine Landingpage oder eine App. Stattdessen war es eine Chrome-Erweiterung. Ich erinnere mich nicht genau, was sie tun sollte, aber ich erinnere mich, dass sie funktionierte. Also entschied ich mich, wieder von vorne zu beginnen und drei der größten LLMs (Claude, ChatGPT und Gemini) demselben Test zu unterziehen: Baue mir eine Chrome-Erweiterung von Grund auf.

Chrome-Erweiterungen sind der einfachste Vibe-Coding-Stresstest

Lade es, klicke es, bete

Wenn Sie ein LLM verwenden, um Code für eine vollwertige App oder Website zu schreiben, werden Sie höchstwahrscheinlich irgendwann an den Punkt kommen, an dem Sie sich mit Hosting, Deployment, Umgebungsvariablen, Datenbanken und einem Dutzend anderer Infrastrukturprobleme befassen müssen. Um fair zu sein, hängt dies vom verwendeten Tool ab, da Tools wie Replit und Lovable es ermöglichen, direkt von ihrer Plattform mit einem einzigen Klick zu deployen. Aber selbst dann testen Sie die Plattform genauso sehr wie das Modell. Chrome-Erweiterungen hingegen erfordern nichts davon. Es gibt kein Backend, Hosting oder Datenbanken, um die Sie sich wirklich kümmern müssten. Sie laden einfach einen Ordner in den Erweiterungen-Bereich Ihres Browsers und er funktioniert entweder oder nicht.

Chrome-Erweiterungen bestehen nur aus wenigen Dateien: einer manifest.json, die Chrome genau sagt, was die Erweiterung tut, und dann HTML-, JavaScript- und CSS-Dateien. Dies sind drei Sprachen, die LLMs tendenziell ziemlich gut handhaben. Da Chrome-Erweiterungen dazu gedacht sind, ein spezifisches Problem zu lösen, eignen sie sich perfekt als kleine Testprojekte, da es ein klares Ziel gibt. Wann immer ich solche Tests mache, ziehe ich es vor, eine Idee auszuwählen, die ich wirklich selbst bauen wollte. Das gibt mir nicht nur den perfekten Vorwand, tatsächlich damit zu beginnen, sondern macht den Test auch extrem fair.

Faire Warnung, die Erweiterung, die ich im Sinn habe, könnte ein bisschen... albern und unkonventionell klingen, also habt Geduld mit mir. Ich wollte eine Erweiterung, die es mir ermöglicht, meine Instagram-Story-Zuschauer zu durchsuchen. Ich weiß nicht, warum dies noch keine native Funktion ist, aber wenn du jemals Hunderte (und manchmal Tausende) von Personen hattest, die deine Instagram-Story angesehen haben, und versucht hast, eine bestimmte Person in dieser Liste zu finden, kennst du bereits den Schmerz. Theoretisch wusste ich, dass eine Chrome-Erweiterung den Trick machen würde, also habe ich beschlossen, genau das allen drei Modellen vorzuschlagen, um zu sehen, wer es tatsächlich schaffen könnte. Ich habe einen extrem vagen Prompt verwendet - ich habe jedem Modell einfach gesagt, was ich wollte, und nicht viele Details angegeben. Nochmals, das Ziel hier ist zu sehen, wie gut jedes Modell eine einfache Idee aufgreifen und den Rest selbst herausfinden kann.

ChatGPT hat eine anständige Erweiterung gebaut

Es hat funktioniert, aber ich glaube nicht, dass ich es benutzen würde






Bevor ich weitermache, habe ich Claude Code, Codex oder Antigravity (Googles agentenfähige IDE, die mit Gemini arbeitet) nicht verwendet, um dies zu erstellen. Stattdessen habe ich die standardmäßige Chat-Oberfläche für jedes mit den neuesten Modellen und bezahlten Abonnements verwendet. Für dieses Projekt habe ich GPT-5.5 Thinking verwendet und den Denkaufwand auf Erweitert eingestellt. Ich begann mit einer einfachen Eingabeaufforderung, und es erstellte in weniger als zwei Minuten eine Manifest V3-Erweiterung. Die Erweiterung heißt IG Story Viewer Search und hat mir direkt eine ZIP-Datei geliefert, die ich herunterladen und direkt in Chrome laden konnte. Bisher alles gut. Laut der Beschreibung sollte die Erweiterung ein schwebendes Suchfeld hinzufügen, wenn meine Instagram-Story-Zuschauerliste geöffnet ist.

Sobald ich die Erweiterung geladen hatte, konnte ich sie nicht einmal anklicken! GPT-5.5 stellte dann fest, dass die erste Version, die es erstellt hatte, kein Toolbar-Popup hatte, weshalb das Klicken auf die Erweiterung nichts bewirkte. Es reparierte dies und gab mir eine neue ZIP-Datei. Beim Testen stellte ich fest, dass die Erweiterung funktionierte, aber nur mit ein paar Zuschauern gleichzeitig. Das LLM erklärte, dass dies geschah, weil Instagram die Zuschauerliste „lazy-loadet“. Danach baute GPT-5.5 die Erweiterung richtig für lange Zuschauerlisten neu auf. Mit dieser neuen Version behauptete ChatGPT, dass ein neuer „Indexiere alle Zuschauer“-Button hinzugefügt wurde, der automatisch die Story-Zuschauerliste durchscrollt und einen lokalen durchsuchbaren Index erstellt. Beim Testen funktionierte die Erweiterung jedoch wieder nicht wie gewünscht und funktionierte nur mit den Zuschauern, die auf dem Bildschirm angezeigt wurden.

Nach 2 Minuten und 11 Sekunden Denken lieferte es mir Version 1.4, die zwei neue Modi hinzufügte, um das lästige Verhalten der Zuschauerliste von Instagram zu umgehen. Der erste war Alles automatisch indexieren, der automatisch durch die Zuschauerliste scrollen und Namen sammeln sollte, während Instagram sie lädt. Aber GPT-5.5 gab auch zu, dass Instagram programmatisches Scrollen blockieren oder unterbrechen könnte, daher könnte dieser Modus trotzdem unzuverlässig sein. Der zweite, wichtigere Modus war Live-Erfassung starten. Anstatt zu versuchen, Instagram dazu zu bringen, alle automatisch zu laden, überwacht dieser Modus die Zuschauerliste in Echtzeit und erfasst Benutzernamen, während sie erscheinen, während ich manuell von oben nach unten scrolle. Ich habe das an einer Geschichte getestet, die etwa 400 Aufrufe hatte, und wie GPT vorhergesagt hat, funktionierte die Schaltfläche ‚Alle automatisch indizieren‘ nicht. Ich habe die Schaltfläche für die Live-Erfassung ausprobiert und dann selbst langsam durch die gesamte Betrachterliste gescrollt. Das funktionierte besser, aber es war immer noch nicht das nahtlose ‚Jeden sofort suchen‘-Erlebnis, das ich ursprünglich im Sinn hatte.

Es verwandelte die Erweiterung im Grunde in ein Tool zum Erfassen während des Scrollens. Die Erweiterung konnte sich an Zuschauer erinnern, nachdem sie auf dem Bildschirm erschienen waren, aber sie konnte immer noch nicht auf magische Weise die vollständige Zuschauerliste abrufen, bevor Instagram sie geladen hatte. Merkwürdigerweise wurden einige Nutzer als separate Einträge gelistet, und die Gesamtanzahl der Aufrufe wurde mit über 700 Nutzern angezeigt. Einige Nutzer funktionierten einwandfrei, während andere in separate Einträge aufgeteilt wurden, je nach ihrem Namen. Das Suchen funktionierte diesmal jedoch, aber es war eindeutig noch ein grobes Prototyping und kein ausgereiftes Tool. Das ursprüngliche Problem wurde im weitesten Sinne gelöst: Wenn ich zuerst manuell durch die Liste scrollte, konnte ich anschließend nach Personen suchen, die erfasst worden waren. Aber die Indizierung war chaotisch, duplizierte einige Einträge, las Teile von Anzeigenamen als separate Nutzer falsch und übertrieb die Zuschauerzahl weit über die tatsächliche Anzahl der Story-Aufrufe hinaus.

Also, während GPT-5.5 schließlich die Kernfunktionalität zum Laufen brachte, erforderte es mehrere Runden des Debuggens und endete trotzdem mit einer ziemlich improvisierten Lösung.

Geminis erster Instinkt war es, mir einen Hinweis zu geben

Die Erweiterung hat nie funktioniert

Ich bin schon seit einer Weile ein großer Fan von Googles KI-Bemühungen, aber ich bekomme ständig neue Gründe, enttäuscht zu sein. Nachdem ich die Erweiterung von GPT-5.5 getestet hatte, war es Zeit, Gemini auf die Probe zu stellen, und das, was es produzierte, war einfach... peinlich. Gleich zu Beginn schrieb es nicht einmal die Erweiterung. Stattdessen lieferte es mir eine vollständige architektonische Aufschlüsselung, eine Vorlesung zum DOM-Durchlauf und... haltet euch fest... einen Master-Prompt, den ich in eine agentische IDE einfügen sollte. Gemini, warum hätte ich überhaupt zu dir kommen sollen, wenn ich einen Prompt in ein anderes Werkzeug einfügen wollte?

Ich fragte dann, ob es die Erweiterung tatsächlich für mich erstellen könnte, und es machte sich an die Arbeit. Im Gegensatz zu GPT oder Claude gab es mir nicht eine ZIP-Datei, die ich entpacken und direkt in Chrome laden könnte. Stattdessen bekam ich jede Datei einzeln (manifest.json, content.js und styles.css) und es sagte mir, ich solle einen Ordner erstellen und sie selbst speichern. Das tat ich, und die Erweiterung funktionierte überhaupt nicht. Die Version von Gemini ging einen völlig anderen Ansatz als die von GPT.

Anstatt eines Toolbar-Popups versuchte es, eine Suchleiste direkt in die Instagram-Benutzeroberfläche zu injizieren, direkt im Viewer-Modal selbst. Die Suchleiste erschien nie. Ich habe es Gemini gesagt, und darauf folgten sechs Runden zunehmend selbstbewusster Fehlerbehebungen, die alle auf unterschiedliche Weise scheiterten. Am Ende der vierten Runde erschien die Suchleiste schließlich, konnte aber keinen einzigen Viewer finden. Ich hatte noch etwas Hin und Her und habe schließlich das Gespräch einfach aufgegeben.

Claude brauchte drei Nachrichten, um es richtig zu machen

Derjenige, der tatsächlich geliefert wurde

Nach den Erweiterungen, die GPT und Gemini produziert hatten, waren meine Erwartungen deutlich gesunken. Nun funktionierte auch Claudes erste Version nicht. Claude untersuchte daraufhin die aktuelle DOM-Struktur von Instagram und baute die Erweiterung stattdessen mit den internen API-Endpunkten von Instagram neu auf (die er als viel zuverlässiger erklärte, da ich bereits in meinem Konto eingeloggt bin). Und voilà, es funktionierte endlich.

Als ich auf das Symbol klickte, gab es eine funktionierende Suchleiste und eine vollständige Betrachterliste, die direkt aus der Instagram-API gezogen wurde. Das einzige Problem war, dass sie alle meine Story-Betrachter in einer großen Liste zusammenfasste, anstatt mir zu erlauben, die Betrachter für jede einzelne Story zu durchsuchen. Ich erzählte es Claude, und innerhalb einer weiteren Nachricht bekam ich v3. Diese Version fügte oben einen visuellen Story-Streifen mit Miniaturansichten, Zeitstempeln und Zuschauerzahlen hinzu. Ich konnte auf eine beliebige Story tippen, um nur die Betrachter dieser Story zu laden, und dann darin suchen. Und das war es. Es funktionierte, und es waren keine weiteren Nachrichten nötig. Endlich!

Nächstes Mal fange ich mit Claude an

Claude baute die Erweiterung am schnellsten, mit den wenigsten benötigten Nachrichten, und es ist das einzige Werkzeug, das es geschafft hat, bis zum Ende etwas voll Funktionsfähiges zu bauen. ChatGPT baute etwas, das funktioniert, und Gemini schaffte es einfach nicht.

Verwandte Artikel