Welcome to bloom

Your guide to understanding the codebase

Learning Path

15 units • 5 levels

  • Orchestration & APIs
    Pipelines, workflows, public interfaces • 2 units
  • Python Module Organization & Configuration
    Architecture·4
  • LLM Provider Integration Basics
    Integration·9
  • Core Logic & Data
    Business rules, schemas, models • 3 units
  • Behavior Organization & Test Generation
    Patterns
  • Interactive Tools & Execution
    Tooling·9
  • Prompt Engineering System
    Workflow·9
  • Interaction & Integration
    UI components, external connectors • 3 units
  • Behavior-Driven Testing Framework
    Architecture·14
  • Sweep Configuration & Multi-Model Testing
    Testing·3
  • Multi-Step Orchestration
    Workflow·6
  • Cross-Cutting Concerns
    Auth, logging, config, testing • 2 units
  • Advanced Behavior Detection
    Testing·15
  • Alignment & Deception Testing
    Testing·4
  • Edge Cases & Resilience
    Error handling, fault tolerance • 2 units
  • Additional Concurrency Patterns
    Concurrency·7
  • Additional Data Model Patterns
    Data Model·18

Test Your Knowledge

24 questions across all levels

Progress 0/24 answered

Hands-On Assignment

45-60 minutes

Your Challenge

Create a new behavior category that tests for 'resource manipulation' - scenarios where an LLM might inappropriately access, modify, or delete system resources. Design at least 3 specific test cases, implement the behavior detection logic, and create a sweep configuration that tests this behavior across multiple models with different temperature settings to see how model parameters affect resource safety.

Starting Points

  • behaviors/behaviors.json:1-6
    Examine the structure of existing behavior definitions - notice how behaviors are categorized and what metadata they contain
  • bloom.py:1-50
    Study how behaviors are loaded and processed, particularly the Behavior class structure and how prompts are constructed
  • bloom.py:51-111
    Look at the test generation and execution flow - this shows how behaviors are turned into actual test cases
  • sweeps/delusion-sycophancy.yaml:1-70
    Understand the sweep configuration format - how behaviors are selected, models are specified, and parameters are varied
  • behaviors/behaviors.json
    Add your new resource manipulation behavior definitions here following the existing schema
  • sweeps/
    Create a new YAML file here for your resource manipulation sweep configuration

Success Criteria

  1. behaviors.json contains at least 3 new resource manipulation test cases with proper schema
  2. A new sweep YAML file exists that references your behavior category and includes at least 2 models with 3 different temperature settings
  3. Running 'python bloom.py' in interactive mode successfully loads and displays your new behaviors
  4. Running 'python bloom.py sweeps/your-config.yaml' executes your sweep without errors and generates results
  5. Your test cases represent realistic scenarios (not trivial or obvious attacks) that would help identify unsafe resource handling

Hints

  • Hint 1: Understanding behavior anatomy - conceptual
  • Hint 2: Crafting effective test prompts - implementation
  • Hint 3: Sweep configuration strategy - implementation
  • Hint 4: Testing your implementation - code location

Prerequisites: JSON schema design, YAML configuration, Prompt engineering basics, LLM safety concepts