38 Datei(en) geändert. Erzeugt von .vault-tools/auto-push/werkzeuge_spiegel.py.
89 lines
4.2 KiB
Markdown
89 lines
4.2 KiB
Markdown
---
|
|
type: resource
|
|
status: active
|
|
title: "Verbrauchsauswertung: Tokens und Listenpreis aus den Claude-Code-Transkripten"
|
|
summary: "analyse_transkripte.py zählt je Nachricht Tokens, Modell, Effort und Listenpreis über alle Transkripte eines projects-Ordners, mit Auswahl einzelner Sitzungen für Effort-Messungen; dazu zwei Hilfsskripte für die Ablageorte unter D:\\ClaudeData. Entstanden 2026-10-30 im Workflow-Review."
|
|
tags: [vault-tools, codeworkflow]
|
|
created: 2026-10-30
|
|
updated: 2026-10-30
|
|
---
|
|
|
|
# Verbrauchsauswertung — Anleitung
|
|
|
|
Zählt, wo Tokens und Listenpreis hingehen: je Modell, Effort, Woche, Sitzung, Subagent und Werkzeug. Warum so: [Hintergrund](LIESMICH-hintergrund.md)
|
|
|
|
**Voraussetzungen**
|
|
|
|
- Python ab 3.12 unter dem Befehl `python`.
|
|
- Lesezugriff auf den projects-Ordner von Claude Code, auf dieser Maschine `D:\ClaudeData\config\projects`.
|
|
- Ein Ausgabeordner **außerhalb des Vaults**, etwa das Scratchpad der Sitzung unter `D:\ClaudeData\claude\D--Claude\<sitzung>\scratchpad`.
|
|
|
|
**Schritte**
|
|
|
|
1. Fälle fahren, bevor du Zahlen verwendest:
|
|
|
|
```bash
|
|
# Fixture und Mutanten, rund 5 Sekunden
|
|
python -I -X utf8 .vault-tools/verbrauch-auswertung/faelle.py
|
|
```
|
|
|
|
2. Auswertung starten:
|
|
|
|
```bash
|
|
# Gesamtauswertung ab dem Stichtag, Ausgabe ins Scratchpad
|
|
python -I -X utf8 .vault-tools/verbrauch-auswertung/analyse_transkripte.py D:/ClaudeData/config/projects --ausgabe "D:/ClaudeData/claude/D--Claude/<sitzung>/scratchpad/verbrauch" --seit 2026-10-01
|
|
```
|
|
|
|
⚠ Ein Ausgabeordner im Vault bricht mit Exit 2 ab. Das ist Absicht.
|
|
|
|
3. Für eine Messung einzelne Sitzungen auswählen:
|
|
|
|
```bash
|
|
# Sitzungen, deren Titel, Slug oder Kennung den Ausdruck trifft; schreibt zusätzlich auswahl.md
|
|
python -I -X utf8 .vault-tools/verbrauch-auswertung/analyse_transkripte.py D:/ClaudeData/config/projects --ausgabe "<scratchpad>/verbrauch" --seit 2026-10-30 --auswahl "paket 1|paket 2"
|
|
```
|
|
|
|
⚠ Die Kennung ist die der Claude-Code-Sitzung (Dateiname des Transkripts), nicht die `local_…`-Kennung der App. Sicher zuordnen kannst du nur über den Titel.
|
|
|
|
4. Ablageorte ansehen, wenn es ums Aufräumen geht:
|
|
|
|
```bash
|
|
# Zufallsordner unter D:\ClaudeData nach Alter und Größe
|
|
python -I -X utf8 .vault-tools/verbrauch-auswertung/claudedata_wurzel.py D:/ClaudeData
|
|
# Scratchpads ab 50 MB, laufende Sitzungen als Kennungsanfänge angeben
|
|
python -I -X utf8 .vault-tools/verbrauch-auswertung/scratchpads.py --laufend 370f5095,13a29464
|
|
```
|
|
|
|
⚠ Beide Skripte löschen nichts und wissen nicht, welche Sitzung läuft. Das liest du in der App nach.
|
|
|
|
**Prüfen**
|
|
|
|
- `faelle.py` endet mit „11 Fälle grün; 10 von 10 Mutanten gefangen“ und Exit 0.
|
|
- Die erste Zeile der Auswertung nennt Dateien, Zeilen, Sekunden, Kopien und Nachrichten mit Teilausgabe.
|
|
- `auswertung.md` nennt unter dem Kopf die Teilausgaben nach Claude-Code-Version. Tauchen dort Versionen ab 2.1.308 auf, stimmt die Annahme zur Teilausgabe nicht mehr; dann erst nachsehen, dann Zahlen weitergeben.
|
|
- In `auswertung.md` stehen Sitzungstitel. Kopierst du Tabellen in den Vault, prüfst du sie vorher auf Kundennamen.
|
|
|
|
## Ausgabe
|
|
|
|
| Datei | Inhalt |
|
|
|---|---|
|
|
| `auswertung.md` | Tabellen je Modell, Effort, Woche, teuerste Sitzungen, Kontextgröße, Subagenten, Werkzeuge, Lesezugriffe |
|
|
| `auswertung.json` | dieselben Summen plus je Sitzung und Subagent ein Datensatz, zum Weiterrechnen |
|
|
| `auswahl.md` | nur mit `--auswahl`: je getroffene Hauptsitzung Effort, Runden, Dauer, Ausgabe je Runde, USD; darunter ihre Subagenten nach Typ und Effort |
|
|
|
|
## Fassungen
|
|
|
|
| Fassung | Datum | Änderung |
|
|
|---|---|---|
|
|
| 2 | 2026-10-30 | Größter usage-Wert je Nachricht, Deduplizierung über Dateien, Haiku-5.5-Stufe über 100k. Als Werkzeug abgelegt mit `--ausgabe`, Vault-Sperre, `--seit`, `--auswahl`, Teilausgabe nach Version, Typprüfung je Zeile. |
|
|
|
|
## Dateien
|
|
|
|
| Datei | Zweck |
|
|
|---|---|
|
|
| `analyse_transkripte.py` | die Auswertung |
|
|
| `faelle.py` | Regressionstreiber: Fälle unter `fixture/` und Mutanten |
|
|
| `fixture/` | je Fall ein synthetischer projects-Ordner mit zwei bis drei JSONL-Zeilen |
|
|
| `claudedata_wurzel.py` | Einträge unter `D:\ClaudeData` nach bekannt und zufällig benannt |
|
|
| `scratchpads.py` | Sitzungs-Scratchpads mit Größe, Titel und Alter |
|