397B Mixture-of-Experts built on Qwen 3.5 ·
FP8
· GPQA Diamond
93.43 %
·
ZTC on board
reasoning
·
MoE
·
FP8
·
262K long context
·
Korean + English
·
hallucination detection
·
tool calling
Half the footprint, GPQA Diamond 93.43 %.
And this model stops itself before it acts on an answer it is about to get wrong.
🧬 The Darwin Family
Darwin
is
VIDRAFT
's measurement-driven reasoning model family —
roughly
20 official models
,
400+ community derivatives
, and a standing place among the
top open models on GPQA.
🧬 Darwin — transplanting the experts that work
A large MoE model is made of hundreds of
experts
.
Darwin V9
selects the experts that perform best across several high-performing models,
transplants them onto a base backbone, and fuses them with trust-weighted evolutionary merging.
Nothing is trained from scratch — proven capability is grafted on.
That is why the same method holds across every model size.
Until now there were two ways to find out whether a model is about to be wrong.
Both of them only work
after the answer already exists
.
Existing approach
Limitation
Ask the model in words
Costs extra tokens, adds latency, and models are badly overconfident
Attach an external judge model
Two models to operate
· re-reads the entire answer ·
degrades on long outputs
· 🔴
arrives too late — the answer is already produced
ZTC is a third path. It reads the model's own internal state once, before generation begins.
External judge model
ZTC
When
After
the answer
Before it starts
Extra model
Required (two to operate)
None (one)
Extra generated tokens
Re-processes prompt + answer
0
Added latency
A second inference pass
0.52 ms
— 0.003 % of generation cost
Long answers, long trajectories
Degrades as length grows
Length-independent
📊 Measured — on this model
① It judges its own answers
(PubMedQA, 539 items, 146 incorrect)
AUROC
Self-reported confidence (asked in words)
0.7646
ZTC (internal-state readout)
0.8801
Gain
+0.1155
Permutation null control:
z = 13.31
— shuffle the labels and the signal disappears.
② It judges other models' answers
(Korean KMMLU, 400 items — law, math, biology, history)
Judge
AUROC
Darwin-397B-ZTC
0.8228
(z = 9.66)
Qwen3.5-27B
0.8171
Qwen3.5-9B
0.7297
Qwen3.5-4B
0.7284
Open-source 4B judge model
0.6844
Same 400 items, same conditions: +0.138 over the open-source judge model.
📦 The probe ships with this model
File
ztc/ztc_probe_darwin397b.npz
45 KB
— the confidence readout for this model
ztc/usage.py
minimal, runnable example
z = np.load("ztc/ztc_probe_darwin397b.npz")
s = ((h - z["mu"]) / z["sd"]) @ z["w"] # h = last-token hidden state, 4096-dim
p = 1 / (1 + np.exp(-(z["cal_A"] * (s - z["s_mean"]) / z["s_std"] + z["cal_B"])))
One matrix product. No second model, no extra tokens, no network call.
The probe is specific to this model's hidden space (4096-dim) and does not transfer to others.
🤖 Why this is decisive for agents —
after-the-fact report vs. pre-action stop
In an agent loop the expensive thing is not tokens. It is
actions
.
Files get edited, APIs get called, payments go through, mail leaves the building.
External judge : [generate] → [tool runs] → [cost, time, side effects] → [judge] → "that was wrong"
ZTC : [read state, 0.52 ms] → stop here if risky → the action never happens
In front of an irreversible action, an after-the-fact verdict is an incident report.
Patterns
Pattern
Behaviour
Tool-call gating
Low confidence → do not call the tool, ask a human instead
Model routing
Send only the low-confidence queries to a larger model or external API
Retry budgeting
Spend multi-sample decoding only on the steps that wobble
Long-trajectory monitoring
Agent trajectories run to tens of thousands of tokens —
length-independent, so it can stay on at every step
Selective prediction
Withhold a risky answer and return "I don't know"
Gate deployment, measured
Metric
Before
After
Gate accuracy
71.3 %
93.3 %
Incorrect answers blocked
40.7 %
74.1 %
Expensive-path calls
42 %
17 %
At effectively zero cost it can stay on for
every
request.
from openai import OpenAI
c = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
r = c.chat.completions.create(
model="darwin-397b",
messages=[{"role": "user", "content": "Why is the Riemann hypothesis hard?"}],
temperature=0.0, max_tokens=8192,
)
m = r.choices[0].message
print(m.reasoning_content) # thinking traceprint(m.content) # final answer
🛠️ Tool calling
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a city",
"parameters": {"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]},
},
}]
r = c.chat.completions.create(
model="darwin-397b", tools=tools,
messages=[{"role": "user", "content": "What's the weather in Paris?"}],
)
print(r.choices[0].message.tool_calls)
🤖 Agents and coding CLIs
The endpoint is OpenAI-compatible, so
existing tooling connects unchanged.
Darwin-397B-ZTC huggingface.co is an AI model on huggingface.co that provides Darwin-397B-ZTC's model effect (), which can be used instantly with this FINAL-Bench Darwin-397B-ZTC model. huggingface.co supports a free trial of the Darwin-397B-ZTC model, and also provides paid use of the Darwin-397B-ZTC. Support call Darwin-397B-ZTC model through api, including Node.js, Python, http.
Darwin-397B-ZTC huggingface.co is an online trial and call api platform, which integrates Darwin-397B-ZTC's modeling effects, including api services, and provides a free online trial of Darwin-397B-ZTC, you can try Darwin-397B-ZTC online for free by clicking the link below.
FINAL-Bench Darwin-397B-ZTC online free url in huggingface.co:
Darwin-397B-ZTC is an open source model from GitHub that offers a free installation service, and any user can find Darwin-397B-ZTC on GitHub to install. At the same time, huggingface.co provides the effect of Darwin-397B-ZTC install, users can directly use Darwin-397B-ZTC installed effect in huggingface.co for debugging and trial. It also supports api for free installation.