Skip to content

feat(recipe): add TMax terminal-agent reproduction - #141

Draft
kylemontgomery1 wants to merge 3 commits into
verl-project:mainfrom
kylemontgomery1:kyle/tmax
Draft

feat(recipe): add TMax terminal-agent reproduction#141
kylemontgomery1 wants to merge 3 commits into
verl-project:mainfrom
kylemontgomery1:kyle/tmax

Conversation

@kylemontgomery1

@kylemontgomery1 kylemontgomery1 commented Aug 20, 2026

Copy link
Copy Markdown

Background & Motivation

TMax is an RL recipe for training long-horizon terminal agents using the released TMax-15K environments. This PR adds an end-to-end reproduction of the paper’s main Qwen3.5-9B experiment to verl-recipe. The motivation, design, and experimental setup were discussed in RFC #133.

Key Changes

Add a new tmax/ recipe containing:

  • Data preparation for converting TMax-15K-Harbor environments into verl-compatible datasets.
  • A multi-turn terminal agent with a persistent Bash session.
  • Modal-backed sandbox execution for isolated terminal environments.
  • The configuration and launcher to reproduce the paper's Qwen3.5-9B DPPO-TV experiment.
  • Setup documentation and a REQUIRED_VERL.txt recording the tested upstream revision.

Validation

The recipe was validated with a full Qwen3.5-9B training run. The best checkpoint improved Terminal-Bench 2.1 from 21.5% to 29.8% under a 64k token budget and from 24.7% to 33.9% under the full 256k context window. Training curves and additional evaluation details are available in RFC #133.

Ruff lint and formatting checks pass.

Compatibility

  • All implementation changes are contained within tmax/; no verl core source is modified.
  • The recipe is pinned to commit f765e4f439 from verl PR #7458.
  • Python >= 3.11, vLLM >= 0.26, and Modal are required.

kylemontgomery and others added 3 commits August 21, 2026 04:50
Provide a reproducible Qwen3.5-9B training recipe for terminal agents.

Assisted-by: GPT-5.6 Sol
Co-authored-by: Cursor <cursoragent@cursor.com>
Pin the recipe to verl PR #7458 and opt out of deferred synchronization so the fused untied LM head can train under FSDP2.

Assisted-by: GPT-5.6 Sol
Co-authored-by: Cursor <cursoragent@cursor.com>
Use the current agent-loop API so TMax can continue after tool calls instead of failing after the first turn.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant