togethercomputer/HybridAgent-HybridSFT-v1

Dataset

HybridAgent-HybridSFT-v1

2

3 commits

1 linked in READMEs

updated Oct 14, 2026

See the code

README

HybridAgent-HybridSFT-v1

Overview

Each trajectory interleaves text reasoning, latent-mode spans and tool calls (Python interpreter and web search) with their tool observations. The format matches what the hybrid agent generates at inference time. This version was used to train the released HybridAgent checkpoints. HybridAgent-HybridSFT-v2 is also available.

Data Format

{
  "id": "0",
  "system": "<system prompt of the hybrid trajectory format>",
  "question": "...",
  "num_rounds": 2,
  "rounds": [
    {
      "assistant": "<think>...<latent>pseudo-text of the latent span</latent>...</think><python>...</python>",
      "tool": "python",
      "tool_result": "<result>...</result>"
    },
    {
      "assistant": "<think>...</think><answer>\\boxed{...}</answer>",
      "tool": null,
      "tool_result": null
    }
  ]
}

Fields

FieldDescription
idTrajectory ID
systemSystem prompt that defines the hybrid trajectory format
questionInput question
num_roundsNumber of rounds in the trajectory
roundsList of rounds; each round has the fields below
rounds[].assistantModel output for the round (reasoning, latent spans, and a tool call or final answer)
rounds[].toolTool called in the round: python, search, or null for the final round
rounds[].tool_resultTool observation wrapped in <result>...</result>, or null for the final round

Latent Spans

<latent>...</latent> marks the spans the agent reasons through in latent mode. The text inside each span is the supervision target for that span.

Usage

Load the dataset

from datasets import load_dataset

ds = load_dataset("togethercomputer/HybridAgent-HybridSFT-v1", split="train")

Train with HybridSFT

git clone https://github.com/togethercomputer/HybridAgent.git && cd HybridAgent
MODEL=Qwen/Qwen3-8B-Base \
DATA=togethercomputer/HybridAgent-HybridSFT-v1 \
OUT=outputs/hybrid_sft \
bash scripts/run_hybrid_sft.sh all

Citation

@misc{zou2026hybridagent,
      title={Hybrid Reasoning Agents},
      author={Jiaru Zou and Yunzhe Qi and Sirui Chen and Federico Bianchi and Shang Zhu and Pan Lu and Jingrui He and James Zou},
      year={2026},
      eprint={2610.18861},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2610.18861},
}
agent
hybrid-reasoning
latent-reasoning
tool-use

togethercomputer/HybridAgent-HybridSFT-v1

Dataset

HybridAgent-HybridSFT-v1

2

3 commits

1 linked in READMEs

updated Oct 14, 2026

See the code

README

HybridAgent-HybridSFT-v1

Overview

Each trajectory interleaves text reasoning, latent-mode spans and tool calls (Python interpreter and web search) with their tool observations. The format matches what the hybrid agent generates at inference time. This version was used to train the released HybridAgent checkpoints. HybridAgent-HybridSFT-v2 is also available.

Data Format

{
  "id": "0",
  "system": "<system prompt of the hybrid trajectory format>",
  "question": "...",
  "num_rounds": 2,
  "rounds": [
    {
      "assistant": "<think>...<latent>pseudo-text of the latent span</latent>...</think><python>...</python>",
      "tool": "python",
      "tool_result": "<result>...</result>"
    },
    {
      "assistant": "<think>...</think><answer>\\boxed{...}</answer>",
      "tool": null,
      "tool_result": null
    }
  ]
}

Fields

FieldDescription
idTrajectory ID
systemSystem prompt that defines the hybrid trajectory format
questionInput question
num_roundsNumber of rounds in the trajectory
roundsList of rounds; each round has the fields below
rounds[].assistantModel output for the round (reasoning, latent spans, and a tool call or final answer)
rounds[].toolTool called in the round: python, search, or null for the final round
rounds[].tool_resultTool observation wrapped in <result>...</result>, or null for the final round

Latent Spans

<latent>...</latent> marks the spans the agent reasons through in latent mode. The text inside each span is the supervision target for that span.

Usage

Load the dataset

from datasets import load_dataset

ds = load_dataset("togethercomputer/HybridAgent-HybridSFT-v1", split="train")

Train with HybridSFT

git clone https://github.com/togethercomputer/HybridAgent.git && cd HybridAgent
MODEL=Qwen/Qwen3-8B-Base \
DATA=togethercomputer/HybridAgent-HybridSFT-v1 \
OUT=outputs/hybrid_sft \
bash scripts/run_hybrid_sft.sh all

Citation

@misc{zou2026hybridagent,
      title={Hybrid Reasoning Agents},
      author={Jiaru Zou and Yunzhe Qi and Sirui Chen and Federico Bianchi and Shang Zhu and Pan Lu and Jingrui He and James Zou},
      year={2026},
      eprint={2610.18861},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2610.18861},
}
agent
hybrid-reasoning
latent-reasoning
tool-use