2.1Inference
Attempt the task on vLLM
The agent is a plain ReAct loop over an OpenAI-compatible vLLM server: it calls tools until it produces a final answer
or runs out of steps or tool calls. is_correct can be any feedback signal on the outcome; in our experiments it is the benchmark's own check. A failure is classified as a wrong answer, a
missing final answer, an exhausted step or tool budget, or a crash.
# Launched once per job:
# vllm serve Qwen/Qwen3.6-27B --tensor-parallel-size <N>
from openai import AsyncOpenAI
client = AsyncOpenAI(base_url="http://127.0.0.1:8000/v1", api_key="local")
async def chat(messages, tools, model="Qwen/Qwen3.6-27B"):
out = await client.chat.completions.create(
model=model, # base model, or an adapter name (see 2.5)
messages=messages, tools=tools,
temperature=0.6, max_tokens=16384,
)
return out.choices[0].message
def classify(result):
if result.terminated_reason in ("step_budget", "tool_call_budget", "exception"):
return result.terminated_reason
return "no_final_response" if not result.prediction else "wrong_answer"