Ökosystem

27 Minuten für eine Laufrunde – und dann war der Code weg

2 Min. Lesezeit KI-generiert

Simon Willison lässt sich zwei Laufstrecken aus OpenStreetMap-Daten bauen. Das Ergebnis stimmt, nur den Weg dorthin bekommt er nicht mehr zu sehen: Die Kompaktierung hatte den Code längst verschluckt.

Featured image for "27 Minuten für eine Laufrunde – und dann war der Code weg"

Ein Prompt, mehr nicht: „Ich wohne unter . Finde 5-km- und 10-km-Laufrunden, die bei mir zu Hause starten und wieder dort enden. Nutze OSM-Daten.” Das gab Simon Willison am Samstagmorgen in ChatGPT Work mit GPT-6 Astra (Max) ein.

27 Minuten später lag genau das vor ihm: eine eingebettete Karte, dazu die Strecken als GPX- und GeoJSON-Datei zum Herunterladen.

Der Weg dorthin bleibt im Dunkeln

Auf die Frage, wie es das gemacht habe, antwortete das Modell: Nominatim für die Adresse, Overpass für die lokalen Straßen und Wege aus OpenStreetMap, die Schleifen dann lokal berechnet.

Klingt vernünftig. Nur ließ sich in der ChatGPT-Oberfläche eben nicht nachsehen, welcher Code tatsächlich gelaufen ist. Willison nennt diese fehlende Transparenz ein Anti-Feature – ein Feature also, das man besser nicht hätte.

Richtig unangenehm wurde es beim Nachfassen. Als er später um den Python-Code bat, konnte ChatGPT ihn nicht mehr liefern: Der Thread war zwischenzeitlich kompaktiert worden. Der Code war nicht versteckt, er war fort.

Daraus leitet Willison eine Forderung ab, die über OpenAI hinausgeht: Jedes System, das kompaktiert, sollte den Text vor der Kompaktierung aufbewahren und ihn über Tool-Aufrufe wieder abrufbar machen.

Die Karte kommt aus einem Skill

Für die Darstellung griff das Modell auf den visualize-Skill zurück und legte eine Datei namens /workspace/el-granada-5k-share.html an, die direkt in die ChatGPT-Oberfläche eingebettet wurde. Willison hat sie sich angesehen: Ein <script type="application/json">-Block enthält die komplette Geometrie für Route und Karte, gezeichnet wird mit D3.

D3 kommt dabei von einem erlaubten CDN. Der visualize-Skill lässt per Content Security Policy nur cdnjs.cloudflare.com, esm.sh, cdn.jsdelivr.net, unpkg.com, fonts.googleapis.com, fonts.gstatic.com und fonts.bunny.net zu. Alles andere wird blockiert, und zwar still.

Einordnung

Zwei Dinge nehme ich mit. Erstens: 27 Minuten Rechenzeit für eine Laufrunde ist eine Ansage. Nicht wegen der Strecke – solche Werkzeuge gibt es – sondern weil hier niemand ein Werkzeug gebaut hat. Es gab eine Adresse, eine Distanz und einen Hinweis auf die Datenquelle.

Zweitens, und das ist der eigentliche Punkt: Kompaktierung ist Datenverlust. Wer mit Claude Code arbeitet, kennt das Gefühl, wenn nach einer langen Sitzung die Details verschwunden sind. Bei Prosa fällt das kaum auf. Bei Code, den der Agent selbst geschrieben und ausgeführt hat, ist es ein handfestes Problem – dann existiert die Lösung nur noch als Ergebnis, nicht als Verfahren.

Willisons Vorschlag ist deshalb kein Detail für die Wunschliste. Er beschreibt den Unterschied zwischen einem Agenten, dessen Arbeit man nachvollziehen kann, und einem, der Dateien ausspuckt.

Quelle: Simon Willison: Generating running routes with GPT-6 Astra and ChatGPT Work

Simon WillisonGPT-6 AstraAgentenKompaktierung