Highlights
Project workflow routing and tool selection.
- Correct next action on 32/48 held-out turns (best fixed action: 23/48), with valid JSON and templates on 48/48.
- On 12 identical requests: 7/12 against the Llama 3.3 70B teacher's 8/12.
Assessment: Highest next-action count of the four orchestration runs (32/48), with flawless format. Each run uses its own 48-turn pool, so the margin over the fixed-action baseline (+9) is the fairer comparison.
Architecture: Qwen/Qwen3.6-35B-A3B · Artifact: adapter · Mode: thinking-on.
Family comparison
Evaluation pools and paired comparisons are described below. This release is shown in bold.
Orchestration evaluation — 1 October 2026
Next action means selecting the reference's first tool, or correctly selecting no tool. Best fixed action is the score of always choosing the pool's most common action; every adapter beats it, by 6 to 9 turns. Across the four paired groups, students score 37/67 and the teacher 40/67. Some requests recur across adapters; these are 67 comparisons, not 67 independent requests. Each full evaluation uses its own 48-turn pool. Tests replay one turn with tool execution disabled.
GPU serving — 1 October 2026
One NVIDIA A100 80 GB, vLLM 0.29. Each row describes a shared serving package.
Student sweeps used 2,048 input / 256 output tokens and cold cache. The teacher figure comes from a 180-second warm window with different output lengths. Ratios between these rows combine model and workload effects. Energy covers sampled GPU board power. The 8B base occupies about one-sixth of the teacher's weight storage and serves seven adapters. Nemotron ON throughput remains unmeasured.
Selection measurements (training record)
Recorded result: selection-time composite 0.819 (mean of the JSON, tool-name, next-action and template checks).
Comparison pool: 48 turns.
From the training record; run dates were not preserved.
Loading and use
Load Qwen/Qwen3.6-35B-A3B with a compatible PEFT runtime and attach this adapter. The measured weight files match the published weight files; the immutable public loading pin is shown below.
For vLLM 0.25.1, prepare a separate serving copy using the measured language-model
namespace remap. All 80 tensor values remain unchanged.
from pathlib import Pathfrom huggingface_hub import snapshot_downloadfrom safetensors.torch import load_file, save_file source = Path(snapshot_download("curator-research/Qwen3.6-35B-A3B-Curator-0.1.0-Orchestration-Thinking-ON", revision="588da2d280821715466bf57d265922a9a697318d", allow_patterns=["adapter_config.json", "adapter_model.safetensors"]))target = Path("adapter-serving")target.mkdir(exist_ok=False)weights = load_file(str(source / "adapter_model.safetensors"))prefix = "base_model.model.model.layers."assert len(weights) == 80 and all(key.startswith(prefix) for key in weights)renamed = {key.replace(prefix, "base_model.model.model.language_model.layers.", 1): value for key, value in weights.items()}save_file(renamed, str(target / "adapter_model.safetensors"))(target / "adapter_config.json").write_bytes((source / "adapter_config.json").read_bytes())
Measured public-base configuration on an A100 80 GB:
vllm serve Qwen/Qwen3.6-35B-A3B --revision 995ad96eacd98c81ed38be0c5b274b04031597b0 \ --dtype bfloat16 --quantization fp8 --enforce-eager --served-model-name curator-base \ --enable-lora --max-lora-rank 16 --max-loras 4 \ --lora-modules Qwen3.6-35B-A3B-Curator-0.1.0-Orchestration-Thinking-ON=./adapter-serving \ --max-model-len 163840 --max-num-seqs 32 --gpu-memory-utilization 0.98 \ --enable-prefix-caching --trust-remote-code \ --enable-auto-tool-choice --tool-call-parser qwen3_xml \ --limit-mm-per-prompt '{"image":1,"video":0}' --mm-processor-kwargs '{"max_pixels":2073600}'
Select the full adapter alias in the chat request's model field. Orchestration
requests use chat tools with tool_choice: auto, parsed by qwen3_xml, as in the
3 October run. BF16 serving needs its own compatibility and memory check. Adjust capacity settings for your deployment.
Shared-base multi-LoRA
A single compatible Qwen/Qwen3.6-35B-A3B base can serve this family of 4 adapters. Register each immutable adapter snapshot with --enable-lora --lora-modules alias=./adapter, then select its alias through the HTTP request model field. This reuses the base weights for fast task switching and GPU-memory reuse. Size the LoRA slots, context and concurrency for the deployment. The 8B and 35B families each require their own base.
Set the chat template's enable_thinking option to true for this variant. The base templates think by default, and an adapter alias does not change the template. The 1 October results used Curator's training-time prompt format; this chat-template setting was not separately evaluated.
Curator publishes these weights as an experimental release of its applied model research, with its own measurements on held-out data. Training data and prompts remain private, so the published scores cannot be reproduced outside Curator; evaluate this exact revision on your own data before production use.
License and lineage
Released under Apache-2.0, the base's licence (LICENSE, NOTICE.txt). Training examples describe project execution logs, routing decisions and tool schemas.
Curator Research
Read the model overview and evaluation boundaries, explore the Curator Research organisation, and follow Curator Research on LinkedIn.