Code Execution
Code Execution gibt dem LLM Chat ein abgeschottetes Terminal. Das Modell schreibt ein kurzes Programm, führt es auf den an Ihre Unterhaltung angehängten Dateien aus, und was dieses Programm ausgibt oder schreibt, kommt zurück in den Chat — als Ausgabe, die Sie lesen, und als Dateien, die Sie herunterladen können. So summiert der Chat die Zeilen einer Tabelle, konvertiert zwischen Formaten und erzeugt Dokumente, Arbeitsmappen, Präsentationen und Diagramme.
Wofür es verwendet wird
Für alles, was berechnet oder geschrieben statt beschrieben werden muss:
- Rechnen über Daten — Summen, Differenzen, Prozentsätze und verstrichene Zeiten über die Zeilen einer Datei — also genau dort, wo das Ablesen und Zusammenzählen im Kopf schiefgeht.
- Konvertieren und Bereinigen — CSV nach Excel, eine breite Tabelle ins lange Format umgeformt, Duplikate entfernt, Datumsangaben normalisiert, zwei Exporte verglichen.
- Dateien erzeugen — ein Word-Bericht, eine ausgefüllte Vorlage, eine Präsentation, ein JSON- oder Markdown-Export oder ein ZIP-Archiv, wenn es zu viele Dateien sind, um sie einzeln anzuhängen.
- Diagramme — ein Balken- oder Liniendiagramm Ihrer Daten, als Bild gespeichert und an die Unterhaltung angehängt.
- Bilder und PDFs — Seitenzahlen, Textextraktion, PDFs zusammenführen oder teilen, Bilder stapelweise skalieren, eine Kontaktbogen-Übersicht erstellen.
Eine einzelne Rechnung, die schon in der Frage steht — 15 % von 200 — wird direkt beantwortet, ohne Ausführung. Die Sandbox ist für Arbeit an Daten gedacht, die das Modell nicht zuverlässig im Kopf erledigen kann, und für alles, was als Datei enden soll.
Wie man es aktiviert
Code Execution ist eine eingebaute Fähigkeit und steht mit den übrigen Werkzeugen in der Werkzeugauswahl des Chats. Schalten Sie sie für eine Unterhaltung aus, antwortet das Modell ohne sie; schalten Sie sie wieder ein, kann die nächste Frage sie erneut nutzen.
Code Execution erklärt sich während der Arbeit: Der Tool-Schritt zeigt ab den ersten Sekunden eine Zeile dazu, was das Programm tut („Summing the invoice totals per month into an Excel file“), und behält sie mit einem Häkchen, sobald das Ergebnis da ist. Das ist das Verhalten Explain Actions, für Code Execution auf der ganzen Plattform eingeschaltet; ein Administrator kann es auf der Seite des Servers Code Execution ausschalten.
Beispiele
Das sind echte Anfragen, so formuliert, wie Menschen sie formulieren — keine einzige erwähnt Code, eine Sandbox oder eine Programmiersprache. Jede endet in einer überprüfbaren Antwort und, wo es sinnvoll ist, in einer Datei zum Herunterladen.
Tabellen und Daten
- „Entferne die exakten Duplikate aus der angehängten sales_dirty.csv, wandle jedes order_date ins ISO-Format um und gib sie als sales_clean.xlsx zurück.“ Drei Datumsformate gehen hinein, eine saubere Arbeitsmappe kommt heraus, und die Zeilenzahl wird genannt, damit Sie es überprüfen können.
- „Füge eine Spalte margin hinzu, berechnet als (price − cost) / price, und schicke die Datei als products_with_margin.xlsx zurück, mit hervorgehobenen Zeilen geringer Marge. Welche SKUs liegen unter 10 %?“
- „Verknüpfe orders.csv über customer_id mit customers.csv und sag mir genau, welche Bestellungen keinen passenden Kunden haben.“ Beide Anhänge erreichen denselben Lauf, und die Abweichungen werden benannt statt übergangen.
- „Die angehängte quarterly_wide.csv hat eine Spalte pro Quartal. Forme sie ins lange Format um, mit product, quarter und revenue.“
- „Vergleiche catalogue_v1.csv und catalogue_v2.csv anhand von sku: Was kam hinzu, was fiel weg, und wo änderte sich der Preis — mit altem und neuem Wert.“
- „Prüfe contacts_dirty.csv — eine E-Mail muss genau ein @ und keine Leerzeichen enthalten, eine Postleitzahl darf nur aus Ziffern bestehen. Melde die Probleme und nenne mir die fehlerhaften Zeilen-IDs.“
Zahlen, die stimmen müssen
- „Die angehängte Rechnung nennt eine Nettosumme von 8000,00 EUR. Ergeben die Positionen tatsächlich diesen Betrag? Nenne mir das korrekte Netto, die 20 % Mehrwertsteuer und den Bruttobetrag.“ Sie summieren sich auf 9090,00 — die Rechnung weist das Netto also um 1090,00 zu niedrig aus. Genau die Art Frage, bei der das Zusammenzählen mit dem Auge schiefgeht.
- „Berechne für jedes Ticket die verstrichenen Stunden zwischen opened_at und resolved_at und sag mir, welche länger als 24 Stunden gedauert haben.“ Datumsrechnung über Tage und ein Wochenende hinweg — leicht falsch zu machen und leicht zu überprüfen.
Dokumente, Präsentationen und Briefe
- „Erstelle aus der angehängten KPI-Tabelle eine PowerPoint: eine Titelfolie plus eine Folie je KPI, jeweils mit einem kleinen Liniendiagramm der vier Quartale.“
- „Fülle die Platzhalter unserer northwind_template.pptx mit einem aus der CSV erstellten Rückblick auf Q1–Q4, unter Beibehaltung des Layouts und der Farben der Vorlage.“ Ihre Unternehmensvorlage bleibt erhalten — nur die Platzhalter ändern sich.
- „Schreibe je Empfänger ein Word-Angebotsschreiben, sprich sie namentlich an und nenne Unternehmen, Rolle und Rabatt, und bündle alles in offers.zip.“ Mehr Dokumente, als sich einzeln anhängen lassen — also packt der Lauf sie in ein ZIP-Archiv.
- „Fülle die Vorlage des Audit-Berichts aus, ersetze den Platzhalter für die Feststellungen durch eine echte Word-Tabelle und ergänze ein Diagramm der Feststellungen nach Schweregrad.“
PDFs
- „Wie viele Seiten hat das angehängte PDF? Gib mir außerdem die Seiten 1 bis 5 als neue Datei zurück.“
- „Führe diese beiden PDFs zusammen, Paracetamol zuerst, und nenne mir die Seitenzahl jeder Eingabe und des Ergebnisses.“
- „Auf wie vielen Seiten kommt ‚escalation‘ vor, unabhängig von Groß- und Kleinschreibung, und wie viele erwähnen ‚KPI‘? Gib mir eine CSV der passenden Seitenzahlen.“
- „Gib mir für das angehängte PDF eine Tabelle mit der Wortzahl pro Seite als page_stats.xlsx und sag mir, welche Seite die meisten Wörter hat.“
Bilder, Audio und Vektorgrafiken
- „Skaliere beide angehängten Bilder unter Beibehaltung des Seitenverhältnisses auf 800 Pixel Breite und nenne mir die ursprünglichen und die neuen Abmessungen.“
- „Erstelle aus den drei angehängten Bildern einen einzigen Kontaktbogen: Miniaturen nebeneinander, jede 300 Pixel breit, auf Weiß.“
- „Füge unten rechts in diesem Bild ein Wasserzeichen mit dem Text (c) QAnswer ein.“ Direkt gefragt, nachdem der Chat das Bild erzeugt hatte — ein vom Assistenten erzeugtes Bild ist eine Datei in der Unterhaltung wie jede andere und lässt sich daher nachträglich bearbeiten.
- „Erzeuge einen 3 Sekunden langen 440-Hz-Sinuston als Audiodatei zum Herunterladen.“
- „Erzeuge ein SVG eines Balls und gib mir die Datei.“ Auszeichnungscode, den das Modell auch einfach hinschreiben könnte, kommt trotzdem als Datei an statt als Text in der Antwort.
Mehrere Schritte nacheinander
Dateien bleiben zwischen Läufen erhalten, sodass eine Aufgabe über eine Unterhaltung hinweg aufgebaut werden kann:
- „Füge der angehängten catalogue.csv eine Spalte margin_pct hinzu, auf eine Nachkommastelle gerundet, und speichere sie als catalogue.csv.“
- „Sortiere catalogue.csv jetzt absteigend nach margin_pct und speichere sie zurück.“
- „Exportiere die sortierte catalogue.csv nach catalogue.xlsx und sag mir, wie viele Zeilen sie hat.“
Jede Runde liest, was die vorherige geschrieben hat, sodass der dritte Lauf die sortierte Datei exportiert und nicht den ursprünglichen Upload.
Zusammen mit anderen Werkzeugen
„Sieh dir https://qanswer.ai an und erstelle dazu eine Präsentation mit 2 Folien.“ Die Seite wird über das URL-Scraping der Web Search gelesen und die Präsentation in der Sandbox geschrieben, in einer einzigen Runde. Code Execution hat kein eigenes Netzwerk; die Kombination beider Werkzeuge ist also der Weg, wie Live-Daten in einer erzeugten Datei landen.
Was in der Sandbox verfügbar ist
Die Sandbox ist ein kleiner Linux-Container mit einem Interpreter und einem festen Satz an Bibliotheken. Zur Laufzeit lässt sich nichts installieren, das hier Aufgeführte ist also alles, was ein Lauf nutzen kann:
- Python 3.11 — pandas, numpy und matplotlib für Daten und Diagramme; scipy für Statistik, Signal- und Audioverarbeitung; mpmath für Arithmetik mit beliebiger Genauigkeit; openpyxl, xlsxwriter, xlrd und odfpy für Tabellen; pypdf, python-docx und python-pptx für Dokumente, PDFs und Präsentationen; Pillow für Bilder; tabulate für Texttabellen.
- Weitere Sprachen — Auch JavaScript, Java, C++, Go, Ruby und R laufen, jeweils nur mit ihren Standardbibliotheken. Für die Arbeit an Ihren Dateien wird Python verwendet, denn dort liegen die Lese- und Schreibbibliotheken.
Der Arbeitsbereich der Unterhaltung
Der Ordner /sandbox gehört der Unterhaltung, nicht einem einzelnen Lauf. Ihre Anhänge, die Dateien, die ein Lauf schreibt, und die Dateien, die der Assistent selbst schreibt, bleiben dort von Runde zu Runde erhalten. So können Sie später im selben Chat zu einem Ergebnis zurückkehren und daran weiterarbeiten.
- Schreiben und Lesen ohne Lauf — der Assistent kann dort eine Datei anlegen, etwa ein Skript, eine CSV oder einen kurzen Bericht, und eine Datei wieder lesen, ohne Code auszuführen. Bitten Sie um eine Konfigurationsdatei oder eine bereinigte Notiz, und sie wird direkt geschrieben.
- Änderungen statt Neusenden — muss eine Datei korrigiert werden, ändert der Assistent nur die betroffenen Zeilen, statt die ganze Datei neu zu schreiben, und Sie sehen genau, was sich geändert hat.
- Erneut ausführen nach einer Korrektur — jedes Programm, das der Assistent ausführt, ist eine Datei im Arbeitsbereich, etwa clean.py, und bleibt dort. Nach einer Änderung führt der Assistent genau diese Datei erneut aus, sodass aus „die Summen sind um eins verschoben, korrigiere das“ eine Änderung von zwei Zeilen und ein neuer Lauf wird.
- Eine Shell — ein Lauf kann auch ein einzelner Shell-Befehl sein: den Arbeitsbereich auflisten, die Zeilen einer Datei zählen, ein Archiv entpacken oder ein gespeichertes Skript mit Argumenten starten.
- Was Sie sehen — Code-Dateien erscheinen auf der Aufrufkarte im Chat, sodass Sie das ausgeführte Skript lesen können. Andere Dateien, die der Assistent schreibt, etwa Markdown, CSV, JSON, SVG, HTML oder Text, erhalten eine Download-Karte wie jede Datei, die ein Lauf erzeugt.
Grenzen
- Kein Netzwerk — die Sandbox hat überhaupt keinen Internetzugang. Ein Lauf kann keine URL abrufen, keine API aufrufen und kein Paket installieren.
- Zeit und Speicher — ein Lauf wird nach 30 Sekunden abgebrochen und erhält 512 MB Arbeitsspeicher und eine CPU. Die Ausgabe wird nach etwa 8.000 Zeichen abgeschnitten.
- Dateigrößen — ein Lauf sieht bis zu 30 Dateien des Arbeitsbereichs (je 25 MB, 50 MB insgesamt) und bis zu zehn kommen heraus (je 25 MB). Eine Datei, die der Assistent direkt schreibt, ist auf 1 MB Text begrenzt.
- Kein Zustand zwischen Läufen — Variablen, installierte Pakete und alles im Arbeitsspeicher Gehaltene sind nach dem Ende eines Laufs verschwunden. Nur Dateien werden übernommen — deshalb schreibt eine mehrstufige Aufgabe alles Nötige in eine Datei.
Isolation
Jeder Lauf findet in einem Container ohne Netzwerkzugang statt, und dessen Arbeitsverzeichnis wird sowohl vor dem Start des Programms als auch nach dessen Ende gelöscht — nichts aus einer Unterhaltung ist also in der nächsten sichtbar. Ihre Dateien werden aus Ihrer eigenen Unterhaltung hineinkopiert und niemals an einen Dritt-Dienst gesendet.








