code-review-env / research_note.md
ragavrida's picture
CodeReviewEnv v1.0 β€” OpenEnv-compliant submission
dbf5e96
|
Raw History Blame Contribute Delete
4.45 kB

Why CodeReviewEnv Matters for MBRL Research

The Gap

Every Model-Based RL benchmark today assumes the world is physical: MuJoCo (robotic joints), Atari (pixel frames), DMControl (physics simulation). The transition function f(s,a) β†’ s' is always a deterministic physics engine. The world model just learns to approximate something with a mathematical ground truth.

Agent benchmarks (AgentBench, WebArena, SWE-bench) go further β€” they operate on real-world tasks. But they measure only success/failure. There is no MDP formalism, no trajectory dataset, no path to learning a transition model. They are evaluation suites, not RL environments.

The Formal Problem: Semantic MDP (S-MDP)

We define a Semantic Markov Decision Process (S-MDP) as a tuple:

(S, A, T, R, Ξ³)

Where:

  • S β€” semantic state space: structured text + metadata (not R^n)
  • A β€” structured action space: typed decisions over semantic entities
  • T β€” semantic transition function: T(s, a) β†’ s' where s,s' ∈ S
    • T is not expressible as a closed-form equation
    • T must be learned from trajectory data
  • R β€” shaped reward: R(s, a, s') β†’ [-1, 1] with trajectory-level components
  • Ξ³ β€” discount factor: 0.95 (standard)

This is distinct from:

  • POMDPs: partial observability, not semantic transitions
  • Text games (Jericho, TextWorld): synthetic game worlds, not real-world tasks
  • LLM agent benchmarks: measure success/failure, no MDP formalism, no trajectories
  • Standard MBRL benchmarks: continuous vector state, physics-based transitions

What Changes Here

In CodeReviewEnv, the transition depends on meaning:

  • State: a pull request with code diffs, bug patterns, author context, review queue
  • Action: a review decision (label severity, prioritize queue, add comment)
  • Next state: updated queue, new PRs, changed review context

There is no equation for this. You cannot derive T analytically. The transition is semantic β€” it depends on understanding code, recognizing bug patterns, and making judgment calls.

The New Model Class: Semantic World Model

A semantic world model must learn:

M(state_t, action_t) β†’ (state_{t+1}, reward_t)

Where state is structured text, not a vector. This requires encoding semantic relationships β€” bug severity, code quality, reviewer judgment β€” into a learnable transition function.

This model class does not exist in the literature. No benchmark supports it. CodeReviewEnv is the first environment designed for its study.

How to Use This Env for MBRL Research

  1. Collect trajectories: Run agents to generate (s, a, r, s') data via export_trajectory()
  2. Build dataset: Load JSONL files into SemanticTransitionDataset
  3. Encode states: Use sentence-transformers or fine-tuned LLM encoder
  4. Train transition model: Fine-tuned encoder + MLP head for (next_state, reward)
  5. Plan with model: Imagine rollouts without real env
  6. Dyna-Q over language: Sample-efficient learning for knowledge-work agents

Key Research Questions

  1. Error compounding: Does model error grow exponentially with rollout horizon H in semantic spaces, as it does in continuous spaces? Or does the structured nature of text provide error correction?

  2. State representation: What encoding produces the best transition model? Sentence embeddings? Fine-tuned LLM hidden states? Structured feature vectors?

  3. Transfer: Can a world model trained on code review transfer to other knowledge-work domains (email triage, document review, bug prioritization)?

  4. Planning horizon: How far ahead can a semantic world model reliably plan? Is H=3 useful? H=10? Does the answer differ from physical world models?

Why This Is Novel

Benchmark Domain State Space Transition World Model?
MuJoCo Robotics R^n (joints) Physics Yes (Dreamer, MBPO)
Atari Games Pixels Engine Yes (MuZero)
DMControl Physics R^n Simulation Yes (DreamerV3)
AgentBench Tasks Text N/A No (eval only)
WebArena Web DOM N/A No (eval only)
SWE-bench Code Text N/A No (eval only)
CodeReviewEnv Code Review Semantic Text Semantic Yes (this work)

CodeReviewEnv is the first benchmark designed for semantic MBRL from the ground up.