Welcome to bloom

Your guide to understanding the codebase

Learning Path

15 units • 5 levels

5 levels - 15 learning units

Orchestration & APIs

  • Pipelines, workflows, public interfaces • 2 units

Python Module Organization & Configuration

  • Architecture • 4 units

LLM Provider Integration Basics

  • Integration • 9 units

Core Logic & Data

  • Business rules, schemas, models • 3 units

Behavior Organization & Test Generation

  • Patterns • Interactive Tools & Execution • Tooling • 9 units

Prompt Engineering System

  • Workflow • 9 units

Interaction & Integration

  • UI components, external connectors • 3 units

Behavior-Driven Testing Framework

  • Architecture • 14 units

Sweep Configuration & Multi-Model Testing

  • Testing • 3 units

Multi-Step Orchestration

  • Workflow • 6 units

Cross-Cutting Concerns

  • Auth, logging, config, testing • 2 units

Advanced Behavior Detection

  • Testing • 15 units

Alignment & Deception Testing

  • Testing • 4 units

Edge Cases & Resilience

  • Error handling, fault tolerance • 2 units

Additional Concurrency Patterns

  • Concurrency • 7 units

Additional Data Model Patterns

  • Data Model • 18 units

Test Your Knowledge

24 questions across all levels

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

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

Hints

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

Prerequisites

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