Skip to main content

Experiment Guide

This guide explains how to set up the Python learning environment, choose a learning track, switch LLM providers, and navigate all experiments under experiments/.

Environment setup

Requirements

  • Python 3.11+
  • A virtual environment (recommended)
  • Dependencies from experiments/requirements.txt

Steps

cd experiments
python3.11 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt

Run any experiment as a module from the experiments/ directory (so shared/ resolves correctly):

cd experiments
python -m exp_03_core_agent_loop.main --mock

Two learning tracks

TrackExperimentsGoal
Focused9 core labsMinimal path through agent loop, tools, permissions, prompts, memory, streaming, compaction, multi-agent, MCP
ComprehensiveAll 15 numbered experiments (exp_02exp_16)Adds startup flow, terminal UI, plugins/skills, config, commands, and the design-patterns cookbook

Suggested progression (Focused): 03 → 04 → 05 → 12 → 14 → 06 → 07 → 10 → 09.

Comprehensive: Run 02 early for the startup mental model; weave 08, 11, 13, 15 where convenient; finish with 16 as a recap.

Switching providers

All experiments that call the shared client accept:

FlagEffect
--mockShorthand for --provider mock (offline, no API keys)
--provider anthropicUses ANTHROPIC_API_KEY
--provider openaiUses OPENAI_API_KEY (optional OPENAI_BASE_URL)

Example:

export ANTHROPIC_API_KEY=sk-ant-...
python -m exp_03_core_agent_loop.main --provider anthropic

Implementation reference: experiments/shared/llm_client.py (UnifiedLLMClient).

Full experiment listing

IDModuleDocTrack
02exp_02_startup_flowStartup Flow LabComprehensive
03exp_03_core_agent_loopCore Agent Loop LabFocused [Core]
04exp_04_tool_systemTool System LabFocused [Core]
05exp_05_permission_enginePermission Engine LabFocused [Core]
06exp_06_prompt_assemblyPrompt Assembly LabFocused [Core]
07exp_07_memory_systemMemory System LabFocused [Core]
08exp_08_terminal_uiTerminal UI LabComprehensive
09exp_09_mcp_clientMCP Client LabFocused [Core]
10exp_10_multi_agentMulti-Agent LabFocused [Core]
11exp_11_plugin_skillPlugin & Skill LabComprehensive
12exp_12_streaming_apiStreaming API LabFocused [Core]
13exp_13_config_systemConfig System LabComprehensive
14exp_14_context_compactionContext Compaction LabFocused [Core]
15exp_15_command_systemCommand System LabComprehensive
16exp_16_design_patternsDesign Patterns LabComprehensive

Next: Start with the Core Agent Loop Lab on the Focused track, or Startup Flow Lab on the Comprehensive track.