How google-research/reasoning-bank works
ReasoningBank evaluates WebArena and SWE-Bench agent trajectories, extracts reusable reasoning memories from successes and failures, and applies those memories during later runs; its scaling workflows explore this memory/test-time-scaling feedback. The graph preserves the separately documented SWE-Bench path and WebArena evaluation capabilities. Several subsystem links are documented in the README; unsampled implementation details are not inferred beyond indexed references.
Main entry points: run.py WebArena runner · swebench.py SWE-Bench runner · agent.py Browser agent · induce_scaling.py Scaling induction
Components 29
WebArena agent runs
- WebArena runner
WebArena/run.py - Browser agent
WebArena/agents/legacy/agent.py - Dynamic prompting
WebArena/agents/legacy/dynamic_prompting.py - Chat model adapter
WebArena/agents/legacy/utils/chat_api.py - LLM utilities
WebArena/agents/legacy/utils/llm_utils.py - WebArena browser harness
third_party/webarena/browser_env
Memory and scaling
- Memory-enabled pipeline
WebArena/pipeline_memory.py - Scaling pipeline
WebArena/pipeline_scaling.py - Memory induction
WebArena/induce_memory.py - Scaling induction
WebArena/induce_scaling.py - Memory management
WebArena/memory_management.py - Memory instructions
WebArena/prompts/memory_instruction.py - Memory re-evaluation
WebArena/reeval_memevol_prompt.py
Evaluation
- Trajectory evaluation
WebArena/utils/evaluate_trajectory.py - Evaluation logic
WebArena/utils/evaluator.py - Judge prompts
WebArena/prompts/autoeval_prompts.py - Judge model clients
WebArena/utils/clients.py - Auto-evaluation
WebArena/autoeval/evaluate_trajectory.py - Auto-evaluator
WebArena/autoeval/evaluator.py - Auto-eval prompts
WebArena/autoeval/prompts.py - Auto-eval clients
WebArena/autoeval/clients.py
SWE-Bench agent
- SWE-Bench runner
third_party/src/minisweagent/run/extra/swebench.py - Mini-SWE agent
third_party/src/minisweagent/agents/default.py - SWE-Bench environment
third_party/src/minisweagent/environments/docker.py
Other components
- Experiment operator
- LLM providers
- Web task websites
- SWE-Bench tasks
- Run results
Connections 31
- Experiment operator → WebArena runner: configures and starts
README.md - WebArena runner → Browser agent: runs agent
WebArena/run.py - Browser agent → Dynamic prompting: builds prompts
WebArena/agents/legacy/agent.py - Browser agent → Chat model adapter: queries model
WebArena/agents/legacy/agent.py - Browser agent → LLM utilities: uses utilities
WebArena/agents/legacy/agent.py - WebArena runner → Memory management: retrieves memories
WebArena/run.py - WebArena runner → WebArena browser harness: runs browser tasks
README.md - Chat model adapter → LLM providers: calls model
WebArena/agents/legacy/utils/chat_api.py - WebArena browser harness → Web task websites: interacts with
README.md - Experiment operator → Memory-enabled pipeline: starts workflow
README.md - Experiment operator → Scaling pipeline: starts scaling
README.md - Memory-enabled pipeline → Memory induction: induces memories
- Scaling pipeline → Scaling induction: induces scaling
README.md - Memory induction → Memory instructions: uses instructions
WebArena/induce_memory.py - Memory induction → LLM providers: queries model
WebArena/induce_memory.py - Scaling induction → Memory management: uses memory
WebArena/induce_scaling.py - Scaling induction → Memory instructions: uses instructions
WebArena/induce_scaling.py - Scaling induction → LLM providers: queries model
WebArena/induce_scaling.py - Memory re-evaluation → WebArena browser harness: uses evaluation harness
WebArena/reeval_memevol_prompt.py - WebArena runner → Run results: writes run output
WebArena/run.py - Trajectory evaluation → Evaluation logic: evaluates trajectory
WebArena/utils/evaluate_trajectory.py - Trajectory evaluation → Judge model clients: requests judgments
WebArena/utils/evaluate_trajectory.py - Evaluation logic → Judge prompts: uses prompts
WebArena/utils/evaluator.py - Auto-evaluation → Auto-evaluator: evaluates trajectory
WebArena/autoeval/evaluate_trajectory.py - Auto-evaluation → Auto-eval clients: requests judgments
WebArena/autoeval/evaluate_trajectory.py - Auto-evaluator → Auto-eval prompts: uses prompts
WebArena/autoeval/evaluator.py - Experiment operator → SWE-Bench runner: starts benchmark
README.md - SWE-Bench runner → Mini-SWE agent: runs agent
- SWE-Bench runner → SWE-Bench environment: runs tasks
- SWE-Bench runner → SWE-Bench tasks: processes benchmark
README.md - SWE-Bench runner → Run results: writes results
README.md