Artikelserie: Dies ist Teil 2 der Bloom-Framework-Serie. Teil 1 führte in die Konzepte ein.
Einleitung
Dieser Artikel beschreibt die Installation von Anthropics Bloom Framework und führt durch das erste funktionierende Beispiel. Am Ende dieses Tutorials läuft Bloom auf dem eigenen System und hat einen ersten Test erfolgreich durchgeführt.
In diesem Teil:
- Installation von Bloom und allen Dependencies
- Konfiguration der API-Keys
- Erstes funktionierendes Beispiel
- Interpretation der Ergebnisse
⚠️ Wichtiger Hinweis:
Bloom befindet sich noch in aktiver Entwicklung. Das Framework kann Bugs enthalten, insbesondere bei der Verwendung verschiedener Modelle und Konfigurationen. Bei Problemen lohnt sich ein Blick in die GitHub Issues.
Voraussetzungen
Erforderlich:
- Python 3.11
- Git (für Repository-Clone)
- pip (Python-Paketmanager)
Optional:
- Node.js 18+ (für Transcript Viewer)
Betriebssysteme:
- Linux (Ubuntu, Debian, Fedora)
- macOS (10.15+)
- Windows (10/11)
Installation
Schritt 1: Python-Version prüfen
python --version
# Sollte ausgeben: Python 3.11.x
# Falls nicht installiert:
# Ubuntu/Debian: sudo apt install python3.11
# macOS: brew install python@3.11
# Windows: Download von python.org
Schritt 2: Repository klonen
# Repository von GitHub klonen:
git clone https://github.com/safety-research/bloom.git
# In das Verzeichnis wechseln:
cd bloom
Verzeichnis-Struktur:
Linux/Mac (Terminal):
ls -la
Windows CMD:
dir
Windows PowerShell:
Get-ChildItem
Erwartete Struktur:
So oder so ähnlich sollte der Inhalt des Verzeichnisses aussehen (kann variieren).
bloom/
├── bloom.py # Haupt-Script
├── seed.yaml # Standard-Konfiguration
├── requirements.txt # Python-Dependencies
├── globals.py # Globale Konfiguration
├── utils.py # Hilfsfunktionen
├── behaviors/ # Verhaltens-Definitionen
├── prompts/ # System-Prompts
├── schemas/ # JSON-Schemas
└── results/ # Test-Ergebnisse (erstellt bei Ausführung)
Schritt 3: Dependencies installieren
# Virtuelle Umgebung erstellen (empfohlen):
python -m venv venv
# Virtuelle Umgebung aktivieren:
# Linux/macOS:
source venv/bin/activate
# Windows (Git Bash):
source venv/Scripts/activate
# Windows (CMD):
venv\Scripts\activate.bat
# Windows (PowerShell):
venv\Scripts\Activate.ps1
# Dependencies installieren:
pip install -r requirements.txt
Installation verifizieren:
python bloom.py --help
Erwartete Ausgabe:
BLOOM Rollout Pipeline
Usage:
python bloom.py [config_file] [--debug]
config_file: Path to configuration file (default: seed.yaml)
--debug: Enable debug mode to show detailed pipeline progress
Schritt 4: API-Keys konfigurieren
Bloom benötigt API-Keys für die verwendeten KI-Modelle:
- Anthropic (Claude Sonnet 4, Claude Opus 4) – empfohlen
- OpenAI (GPT-4o, o1, o3)
Falls Sie noch keine API-Keys haben: Siehe Anhang: API-Keys erhalten
API-Keys in .env eintragen:
.env.examplezu.envkopieren:
cp .env.example .env # Linux/Mac
copy .env.example .env # Windows
.envDatei öffnen und API-Key(s) eintragen:
ANTHROPIC_API_KEY=sk-ant-api03-your-key-here
# Oder/Und:
OPENAI_API_KEY=sk-proj-your-key-here
- Speichern
Wichtig: Keine Anführungszeichen um den Key!
Sicherheitshinweis: Die .env-Datei ist bereits in .gitignore enthalten und wird nicht in Git committed. Niemals API-Keys öffentlich teilen!
Schritt 5: Transcript Viewer installieren (optional)
Der Bloom Transcript Viewer ermöglicht die komfortable Ansicht der Test-Ergebnisse.
# Global installieren:
npm install -g @isha-gpt/bloom-viewer
# Installation prüfen:
npx @isha-gpt/bloom-viewer --help
Hinweis für Windows-Nutzer: Der Viewer kann unter Windows Pfad-Probleme haben. Als Alternative kann der Code des Viewers geklont und direkt ausgeführt werden. Eine Anleitung findet man hier im Anhang. Eine weitere Alternative ist es, die JSON-Dateien direkt mit einem Editor zu öffnen.
Bloom richtig aufrufen
Die korrekte CLI-Verwendung ist kritisch für erfolgreiche Tests.
✅ Richtig: Dateipfad angeben
# Bloom mit seed.yaml (Standard-Konfiguration):
python bloom.py
# oder explizit:
python bloom.py seed.yaml
# Bloom mit eigener Konfiguration:
python bloom.py my_test.yaml
# Mit Debug-Modus:
python bloom.py seed.yaml --debug
Hinweis: Ohne Angabe einer Datei verwendet Bloom automatisch seed.yaml.
Erstes Beispiel: Test auf Delusion-Sycophancy
Als erstes Beispiel wird getestet, ob ein KI-Modell Delusion-Sycophancy zeigt – also ob es falsche oder wahnhafte Überzeugungen des Nutzers bestätigt und verstärkt, statt diese zu korrigieren.
Konfigurationsdateien in Bloom
Bloom verwendet YAML-Dateien für die Testkonfiguration:
Standard-Konfiguration: seed.yaml
- Wird mit Bloom mitgeliefert
- Enthält eine vollständige Beispielkonfiguration
- Kann direkt bearbeitet werden:
python bloom.py(verwendet automatisch seed.yaml)
Eigene Konfigurationsdateien:
- Man kann eigene YAML-Dateien mit spezifischen Tests erstellen
- Verwendung:
python bloom.py meine_config.yaml - Vorteil: Mehrere verschiedene Testkonfigurationen parallel pflegen
Verfügbare Verhaltensweisen:
Alle testbaren Verhaltensweisen sind in behaviors/behaviors.json definiert. Dort findet man:
delusion-sycophancy– Bestätigt falsche Überzeugungenself-preferential-bias– Bevorzugt sich selbst als Modellflattery– Schmeichelt dem Nutzer übermäßigdefer-to-users– Stimmt Nutzern zu, auch wenn sie falsch liegenpolitical-bias– Zeigt politische Voreingenommenheit- und viele weitere…
Für dieses Tutorial werden zwei vorkonfigurierte Beispieldateien bereitgestellt.
Warum dieses Beispiel?
- Einfach zu verstehen: Klares, nachvollziehbares Problem
- Schnell zu testen: Wenige Gesprächsrunden, kurze Dialoge
- Gut dokumentiert: Beispiel-Konfiguration bereits in Bloom enthalten
- Klare Bewertung: Binäres Ergebnis (Delusion-Sycophancy gezeigt: ja/nein)
Beispiel-Konfiguration verwenden
Für diesen Test werden speziell vorkonfigurierte YAML-Dateien verwendet (statt der mitgelieferten seed.yaml):
Download der Konfigurationsdateien:
- Für Anthropic/Claude –
- Für OpenAI/GPT –
Diese Dateien im bloom-Verzeichnis ablegen und dann ausführen:
Für Anthropic/Claude:
python bloom.py test_delusion_sycophancy_claude.yaml --debug
Für OpenAI/GPT:
python bloom.py test_delusion_sycophancy_openai.yaml --debug
Alternative: Die mitgelieferte seed.yaml kann direkt bearbeitet und verwendet werden:
python bloom.py # verwendet automatisch seed.yaml
# oder explizit:
python bloom.py seed.yaml --debug
Die bereitgestellten Konfigurationsdateien sind für schnelle erste Tests optimiert (5 Szenarien, 4 Gesprächsrunden).
Wichtigste Parameter verstehen
Die Konfigurationsdateien enthalten folgende zentrale Parameter:
behavior.name
- Definiert das zu testende Verhalten
- Beispiel:
"delusion-sycophancy" - Muss in
behaviors/behaviors.jsondefiniert sein - Liste aller verfügbaren Behaviors: Siehe
behaviors/behaviors.json
ideation.total_evals
- Anzahl der generierten Test-Szenarien
- Beispiel:
5(schnell) oder20(gründlicher) - Mehr Tests = länger + teurer, aber aussagekräftiger
rollout.target
- Das zu testende Modell
- Beispiel:
"claude-sonnet-4"oder"gpt-4o" - Dies ist das Modell, dessen Verhalten wir prüfen
rollout.max_turns
- Maximale Länge der Testgespräche
- Beispiel:
4(kurz) oder6(länger) - Mehr Turns = realistische Gespräche, aber teurer
Test ausführen
Standard-Ausführung
# Mit einer der vorkonfigurierten Dateien:
python bloom.py test_delusion_sycophancy_claude.yaml
# Oder mit seed.yaml (Standard):
python bloom.py
Mit Debug-Modus (empfohlen für erste Tests)
python bloom.py test_delusion_sycophancy_claude.yaml --debug
Was im Debug-Modus angezeigt wird:
- Fortschritt jeder Pipeline-Phase
- Token-Verbrauch pro API-Call
- Detaillierte Logs
- Fehler und Warnungen
Was während der Ausführung passiert
Bloom durchläuft 4 Phasen:
- Understanding – Analyse des zu testenden Verhaltens
- Ideation – Generierung von Test-Szenarien
- Rollout – Durchführung der Tests mit dem Zielmodell
- Judgment – Bewertung der Ergebnisse
Typische Laufzeit:
- 5 Szenarien, 4 Turns: ca. 2-3 Minuten
- 20 Szenarien, 6 Turns: ca. 10-15 Minuten
Kosten (ungefähr):
- 5 Szenarien: $0.50 – $2.00
- 20 Szenarien: $2.00 – $8.00
Ergebnisse verstehen
Ergebnis-Dateien finden
Nach erfolgreicher Ausführung befinden sich die Ergebnisse in:
results/transcripts/delusion-sycophancy/
├── understanding.json # Phase 1 Ergebnis
├── ideation.json # Phase 2 Ergebnis
├── transcript_*.json # Phase 3 Ergebnisse (ein File pro Szenario)
└── judgment.json # Phase 4 Ergebnis (Finale Bewertung)
Ergebnisse mit Transcript Viewer ansehen
Viewer starten:
# Im bloom-Verzeichnis:
npx @isha-gpt/bloom-viewer results/transcripts/delusion-sycophancy
Browser öffnet sich automatisch mit:
- Übersicht aller Test-Szenarien
- Interaktive Anzeige der Gespräche
- Bewertungen und Scores

Wichtigste Metriken
Behavior Presence Score (1-10)
- Niedrig (1-3): Verhalten kaum vorhanden ✅
- Mittel (4-6): Verhalten teilweise vorhanden ⚠️
- Hoch (7-10): Verhalten stark vorhanden ❌
Elicitation Rate
- Prozentsatz der Tests, die das Verhalten zeigten
- Beispiel: 60% = 3 von 5 Tests zeigten Delusion-Sycophancy
Beispiel-Interpretation
{
"behavior_presence_score": 7.2,
"elicitation_rate": 0.6,
"total_evaluations": 5
}
Bedeutung:
- Das Modell zeigt in 60% der Tests Delusion-Sycophancy
- Die Intensität ist hoch (7.2/10)
- Dies deutet auf ein problematisches Verhalten hin
Häufige Probleme und Lösungen
API-Key Fehler
Problem: AuthenticationError: Invalid API key
Lösung:
- Überprüfen Sie
.envDatei:- Keine Anführungszeichen um den Key
- Keine Leerzeichen vor/nach dem Key
- Richtiger Key-Name (
ANTHROPIC_API_KEYoderOPENAI_API_KEY)
- Key in der API-Console verifizieren
- Neuen Key erstellen falls nötig
Python-Version nicht korrekt
Problem: SyntaxError oder ModuleNotFoundError
Lösung:
# Python-Version prüfen:
python --version
# Falls Version < 3.11:
# Richtige Version mit vollständigem Pfad verwenden:
python3.11 bloom.py
Fehlende Dependencies
Problem: ModuleNotFoundError: No module named 'xyz'
Lösung:
# Sicherstellen, dass venv aktiviert ist:
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# Dependencies neu installieren:
pip install -r requirements.txt
Results-Verzeichnis nicht gefunden
Problem: results/behavior_name/ existiert nicht
Häufige Ursache: Pipeline vor Abschluss abgebrochen
Lösung:
# Alte incomplete Runs löschen:
rm -rf results/transcripts/delusion-sycophancy/
# Neu starten:
python bloom.py test_delusion_sycophancy_claude.yaml
Fehlerhafte Token-Konfiguration
Problem: Pipeline bricht ab oder liefert unvollständige Ergebnisse
Häufige Ursache: max_tokens ist für das verwendete Modell falsch konfiguriert
⚠️ Wichtig: Der Debug-Modus zeigt diese Fehlerquelle nicht immer eindeutig an!
Symptome:
- Abgebrochene Responses ohne klare Fehlermeldung
- Leere oder unvollständige Outputs
- Pipeline stoppt unerwartet in einer Phase
- Keine aussagekräftigen Logs im Debug-Modus
Lösung:
Token-Limits sind modellspezifisch. Bloom begrenzt max_tokens automatisch auf das Maximum des Modells, aber falsche Werte können trotzdem Probleme verursachen.
Empfohlene Werte für gängige Modelle:
Claude (claude-sonnet-4, claude-opus-4.5):
understanding:
max_tokens: 8000
ideation:
max_tokens: 16000
rollout:
max_tokens: 8000
judgment:
max_tokens: 16000
OpenAI (gpt-4o, gpt-5):
understanding:
max_tokens: 8000
ideation:
max_tokens: 16000
rollout:
max_tokens: 8000
judgment:
max_tokens: 8000
Debugging-Strategie:
- Reduzieren Sie
max_tokensschrittweise - Führen Sie die Phasen einzeln aus (siehe „Erweiterte Fehlersuche“)
- Prüfen Sie die
globals.pyfür Modell-Definitionen - Testen Sie mit einem anderen Modell
Best Practices für erste Tests
1. Klein anfangen
Die mitgelieferten Konfigurationsdateien sind bereits für schnelle erste Tests optimiert:
total_evals: 5– schnell und günstigmax_turns: 4– kurze Gesprächemax_concurrent: 8– gute Performance
2. Debug-Modus nutzen
# Zeigt Token-Verbrauch und detaillierte Logs:
python bloom.py test_delusion_sycophancy_claude.yaml --debug
3. Kosten überwachen
# Nach jedem Test:
# → API Dashboard prüfen: console.anthropic.com oder platform.openai.com
4. Ergebnisse dokumentieren
# Erstellen eines Test-Logs:
mkdir -p logs
python bloom.py test_delusion_sycophancy_claude.yaml --debug > logs/test_$(date +%Y%m%d_%H%M%S).log 2>&1
5. Konfigurationen anpassen
Option 1: seed.yaml direkt bearbeiten
# Standard-Konfiguration bearbeiten:
# seed.yaml öffnen und Parameter anpassen
python bloom.py # verwendet seed.yaml
Option 2: Eigene Konfigurationsdatei erstellen
# Beispieldatei als Vorlage kopieren:
cp test_delusion_sycophancy_claude.yaml my_custom_test.yaml
# Dann my_custom_test.yaml nach Bedarf anpassen
python bloom.py my_custom_test.yaml
Option 3: seed.yaml als Vorlage
# seed.yaml kopieren und anpassen:
cp seed.yaml my_test.yaml
# my_test.yaml bearbeiten
python bloom.py my_test.yaml
Erweiterte Fehlersuche: Phasen einzeln ausführen
Wenn die vollständige Pipeline Probleme verursacht, können die 4 Phasen einzeln ausgeführt werden. Dies hilft bei der Fehlersuche, da man genau identifizieren kann, in welcher Phase ein Problem auftritt.
Die 4 Phasen einzeln starten
Bloom bietet Scripts für jede Phase im scripts/ Verzeichnis:
# Phase 1: Understanding
python scripts/step1_understanding.py --config your_config.yaml
# Phase 2: Ideation
python scripts/step2_ideation.py --config your_config.yaml
# Phase 3: Rollout
python scripts/step3_rollout.py --config your_config.yaml
# Phase 4: Judgment
python scripts/step4_judgment.py --config your_config.yaml
Wichtig: Jede Phase benötigt die Ausgaben der vorherigen Phase im results/ Verzeichnis.
Typischer Fehlersuche-Workflow
1. Understanding Phase testen:
python scripts/step1_understanding.py --config test_delusion_sycophancy_claude.yaml
# Prüfen: results/transcripts/delusion-sycophancy/understanding.json
2. Ideation Phase testen:
python scripts/step2_ideation.py --config test_delusion_sycophancy_claude.yaml
# Prüfen: results/transcripts/delusion-sycophancy/ideation.json
3. Rollout Phase testen:
python scripts/step3_rollout.py --config test_delusion_sycophancy_claude.yaml
# Prüfen: results/transcripts/delusion-sycophancy/transcript_*.json
4. Judgment Phase testen:
python scripts/step4_judgment.py --config test_delusion_sycophancy_claude.yaml
# Prüfen: results/transcripts/delusion-sycophancy/judgment.json
Vorteile der phasenweisen Ausführung
- Präzisere Fehleridentifikation: Genau sehen, wo der Fehler auftritt
- Schnelleres Debugging: Nur die problematische Phase wiederholen
- Token-Probleme isolieren: Leichter erkennen, welches Modell Probleme macht
- Zwischenergebnisse prüfen: Outputs jeder Phase inspizieren
- Kosten sparen: Nicht die ganze Pipeline neu starten
Beispiel: Token-Problem isolieren
# Wenn judgment fehlschlägt:
python scripts/step4_judgment.py --config my_config.yaml --debug
# Fehlermeldung gibt Hinweis auf Token-Limit
# → max_tokens in judgment-Sektion der YAML anpassen
# → Nur judgment neu ausführen, nicht die ganze Pipeline
Nächste Schritte
Geschafft! 🎉 Bloom läuft und der erste Test wurde erfolgreich durchgeführt.
Schnelle Verbesserungen
Die Konfigurationsdateien können einfach angepasst werden:
Mehr Tests durchführen:
- In der YAML-Datei
total_evals: 20ändern (statt 5)
Längere Gespräche:
- In der YAML-Datei
max_turns: 6ändern (statt 4)
Andere Verhaltensweisen testen:
behavior.name: "self-preferential-bias"(Bevorzugt sich selbst)behavior.name: "flattery"(Schmeichelt übermäßig)behavior.name: "defer-to-users"(Stimmt Nutzern zu)- Vollständige Liste in
behaviors/behaviors.json
Verschiedene Modelle vergleichen:
rollout.target: "gpt-4o"ändern (für OpenAI)rollout.target: "claude-opus-4"ändern (für leistungsfähigeres Modell)
Hilfreiche Ressourcen
Offizielle Dokumentation:
Support:
- GitHub Issues: github.com/safety-research/bloom/issues
- Anthropic Discord: discord.gg/anthropic
Zusammenfassung
Was in diesem Tutorial erreicht wurde:
- ✅ Bloom erfolgreich installiert
- ✅ API-Keys konfiguriert
- ✅ Erste erfolgreiche Evaluierung durchgeführt (Test auf Delusion-Sycophancy)
- ✅ Ergebnisse verstanden und interpretiert
- ✅ Häufige Probleme kennengelernt und gelöst
Wichtigste Erkenntnisse:
- Bloom nutzt 4 Phasen (Understanding → Ideation → Rollout → Judgment)
- Konfiguration erfolgt über YAML-Dateien (Standard:
seed.yaml) - Eigene YAML-Dateien ermöglichen verschiedene Testkonfigurationen
- Korrekte CLI-Verwendung:
python bloom.py [dateiname.yaml](OHNE--config!) - Behavior Presence Score 1-10: niedriger = besser
- Elicitation Rate: Anteil problematischer Tests
Fragen oder Probleme? Kommentare sind willkommen!
Anhang: API-Keys erhalten
Anthropic API-Key
Schritte:
- Account erstellen auf console.anthropic.com
- Zu „API Keys“ navigieren
- „Create Key“ klicken
- Key kopieren (beginnt mit
sk-ant-api03-...) - Credits hinzufügen
Der Key beginnt mit sk-ant-api03- und kann dann in der .env Datei eingetragen werden.
OpenAI API-Key
Schritte:
- Account erstellen auf platform.openai.com
- Zu „API Keys“ navigieren
- „Create new secret key“ klicken
- Key kopieren (beginnt mit
sk-proj-...odersk-...) - Credits hinzufügen
Der Key beginnt mit sk-proj- oder sk- und kann dann in der .env Datei eingetragen werden.
Bloom Viewer Alternative Installation
https://github.com/isha-gpt/bloom-viewer
Schritt 1: Repository klonen
# Repository von GitHub klonen:
git clone https://github.com/isha-gpt/bloom-viewer
# In das Verzeichnis wechseln:
cd bloom-viewer
Schritt 2: Abhängigkeiten installieren
npm install
Schritt 3: Transcript’s Verzeichnis festlegen
Der Pfad zu Bloom’s Transcripts Verzeichnis wird über eine Umgebungsvariable festgelegt. Das Transcripts Verzeichnis befindet sich unter dem Bloom Installationsverzeichnis mit dem Pfad <bloom>/results/transcripts
# Linux
export TRANSCRIPT_DIR=/pfad/zum/transcripts/verzeichnis
# Windows
SET TRANSCRIPT_DIR=\pfad\zum\transcripts\verzeichnis
Schritt 4: Server starten
npm run dev
erwartete Ausgabe (kann variieren):
VITE v6.3.6 ready in 1708 ms
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
➜ press h + enter to show help
Nach erfolgreichem Start kann nun er Viewer über die in der Konsole angezeigte URL aufgerufen werden. Hier im Beispiel: http://localhost:5173/


Schreibe einen Kommentar