Letzten Monat musste ich 18 Monate an Handelsdaten aus 3 CSV-Dateien analysieren. Das Hochladen in ChatGPT fühlte sich an, als würde man API-Schlüssel an einen Fremden übergeben. Claudes Dateiverwaltung sah sicherer aus, aber ich wollte genau wissen, was das Modell sah, bevor es überhaupt etwas berührte. Hier ist, was ich gebaut habe – und warum das Setup wichtiger ist als der Prompt.
Warum Datei-Uploads weniger wichtig sind, als Sie denken
Die meisten Praktiker behandeln Claude und GPT bei Daten wie Black Boxes. CSV hochladen, Frage stellen, Antwort erhalten. Das Problem: Sie verlieren die Kontrolle in dem Moment, in dem die Datei im Kontextfenster des Modells landet.
Sie können nicht überprüfen, was gesendet wurde. Sie können den genauen Kontext nicht reproduzieren, wenn sich die Ergebnisse ändern. Sie können dieselben analysierten Daten nicht für mehrere Analysen wiederverwenden, ohne sie erneut hochzuladen. Und wenn Ihre Datei sensible Daten enthält – Kunden-IDs, Transaktionsbeträge, proprietäre Metriken –, bedeutet das Hochladen, dass Sie der Datenverarbeitung des Anbieters vollständig vertrauen müssen.
Die Alternative: Daten lokal parsen, nur das senden, was das Modell benötigt, und die Rohdateien auf Ihrem Rechner behalten.
Das Muster: Lokales Parsen + Gezielte Prompts
Hier ist der Workflow, der tatsächlich funktioniert.
Schritt 1: Lokal in Python oder JavaScript parsen.
Lassen Sie das Modell nicht Ihre gesamte CSV sehen. Extrahieren Sie Zusammenfassungen: Spaltennamen, Zeilenanzahl, Datentypen und eine Stichprobe von Zeilen. Dies dient zwei Zwecken: Es liefert dem Modell saubere Eingaben und zwingt Sie, zu verstehen, was Sie analysieren, noch bevor der API-Aufruf erfolgt.
import pandas as pd
import json
# CSV laden
df = pd.read_csv('trading_data.csv')
# Zusammenfassung erstellen
summary = {
'shape': df.shape,
'columns': df.columns.tolist(),
'dtypes': df.dtypes.astype(str).to_dict(),
'sample_rows': df.head(3).to_dict(orient='records'),
'basic_stats': df.describe().to_dict()
}
print(json.dumps(summary, indent=2))
Schritt 2: Entscheiden Sie, was das Modell wirklich braucht.
Wenn Sie fragen: „Was ist die Korrelation zwischen diesen Spalten?“, benötigt das Modell nicht jede Zeile. Es benötigt die statistische Zusammenfassung. Wenn Sie fragen: „Finde Zeilen, die diesem Muster entsprechen“, senden Sie den vollständigen Datensatz – aber nur die relevanten Spalten.
Schritt 3: Erstellen Sie den Prompt um die geparsten Daten herum.
Hier gewinnt Präzision. Zeigen Sie dem Modell genau, womit es arbeitet.
# Schlechter Prompt
"Analysiere diese Daten und sag mir, was du siehst"
# Guter Prompt
"Ich habe einen Trading-Datensatz mit folgender Struktur:
Spalten: Datum, Symbol, Einstiegspreis, Ausstiegspreis, Volumen, Slippage (bps)
Zeilen: 1.847 Trades über 6 Monate
Datentypen: Datum (datetime64), Symbol (Objekt), numerische Werte (float64)
Beispiel (erste 3 Zeilen):
[{"Datum": "2024-01-15", "Symbol": "AAPL", "Einstiegspreis": 182.43, ...}]
Statistische Zusammenfassung:
- Einstiegspreis: Mittelwert=185.2, Min=178.5, Max=192.1
- Slippage (bps): Mittelwert=2.3, Median=1.8, Max=12.4
Aufgabe: Identifizieren Sie, welche Symbole die höchste durchschnittliche Slippage aufweisen.
Ordnen Sie sie nach der Median-Slippage und zeigen Sie, welche Trades 5 bps überschritten haben.
Geben Sie die Antwort als JSON mit Symbol, median_slippage und count_above_5bps aus."
Der zweite Prompt funktioniert, weil er Kontext liefert – das Modell weiß genau, welche Spalten existieren, wie die Daten aussehen und welche Form die Ausgabe haben soll. Es wird weniger halluzinieren und sich besser strukturieren.
Wann Claude bei Datenaufgaben besser abschneidet als GPT
Claude 3.5 Sonnet übertrifft GPT-4o bei der CSV-Analyse konsistent in drei Bereichen:
- Strukturierte Extraktion: Wenn Sie Claude bitten, bestimmte Zeilen zu extrahieren oder nach Kategorie zu aggregieren, erstellt es zuverlässiger gültiges JSON und CSV. GPT-4o driftet in natürliche Spracherklärungen ab, selbst wenn Sie nach strukturierter Ausgabe fragen.
- Spalten-Logik: Claude geht besser mit Randfällen um – fehlende Werte, inkonsistente Formatierung, mehrdeutige Spaltennamen. Es stellt klärende Fragen, anstatt zu raten.
- Token-Effizienz: Claudes 200.000er Kontextfenster bedeutet, dass Sie sicher größere Datensätze (bis zu ca. 50.000 Zeilen typischer CSV-Daten) laden können, ohne sich um Abschneiden sorgen zu müssen. GPT-4o’s 128.000er Fenster ist enger, besonders wenn Ihr Prompt viel Kontext enthält.
Für einfache Aggregationen oder schnelle explorative Fragen ist der Unterschied vernachlässigbar. Für reproduzierbare Analyse-Pipelines in Produktionsqualität gewinnt Claudes Konsistenz.
Die Vorlage, die Sie heute kopieren können
Hier ist ein wiederverwendbares Muster für jede CSV-Analyseaufgabe:
import anthropic
import pandas as pd
import json
df = pd.read_csv('your_data.csv')
# Lokal parsen
data_context = f