Key points
- What Laya is: An open-source clone of Jev (launched 3 days after Jev's Sept 15 release) that replaces autoregressive decoding with a bidirectional encoder (ModernBERT-large 421M / mmBERT-base 322M) plus
[MASK]slot scoring — one forward pass yields logits over candidate slots, softmaxed into a distribution. Latency is independent of answer length (~33–38 ms on T4), outputs can never be invalid JSON, and multi-question batches are natural. - Four days, 11,229 stars: repo created 2026-09-18 04:46 UTC; the growth was driven by a compelling narrative — an indie researcher claiming a funded lab repackaged his year-old idea. A timestamp and paper audit shows Laya's API (primitives
choice/score/noul, method name RLCD, positioning "System One") is copied from Jev's public spec, which is legitimate open-source practice but incompatible with the "stolen originality" story. - What's genuinely good: A composite proper scoring rule reward (
S_log + 0.5·S_sph − 1.0·S_rps), pure policy-gradient training (G=8 noisy samples, GRPO-style group baseline), an act head mapping distribution features to[P(act), P(escalate)]with a cost-derived 62.5% auto-execute threshold, a zero-dependency conservative language router, and defensive clamping of out-of-range temperatures. Code quality is high for a solo project. agent.py::system_one()returns normalized Shannon entropy (1 − H(p)/log(k)) forchoice/score, butmax(p)fornoul— in the same response body.- The headline ECE of 0.081 ("3× better than Jev") in README/BENCHMARKS.md is computed on
max(p)(bench_local.pyline 137), which is the temperature-calibrated quantity — while users actually receive entropy for choice/score. - Reproduced comparison on perfectly calibrated synthetic data: ECE on
max(p)= 0.0111; ECE on normalized entropy = 0.3682 — worse than the Jev figure (0.246) the README cites. - The README's own gating example (
if conf >= 0.85) mixes primitives and flips decisions: for a binary distribution, P(true)=0.85 reads 0.850 as noul but only 0.390 as binary-choice confidence. - Ironically, the codebase's own temperature-clamping comment demonstrates full understanding of exactly this failure mode.
- The official
laya-typed-decisionscheckpoint shipschoice:11+temperature 0.1006, outside the code's own[0.5, 5.0]sanity range. Issue #124 documents the runtime warning users see on every load; the affected bucket (>11 candidates) is precisely the routing/classification mainstay.laya-multilingualships no fitted temperatures at all. - The defensive clamping design is itself praised — but by the project's own standard, its official checkpoints' confidence is "uncalibrated."
- The README itself lists Khmer at 0.000 accuracy / 0.952 confidence. 51-language macro ECE: 0.7331 (
laya) / 0.3869 (multilingual). The multilingual checkpoint does deliver real gains (usable languages 23→45 of 51; XNLI non-English 0.521→0.731). - 🟢 Trustworthy: 33–156 ms latencies; 51-language per-language detail; banking77 = 0.425 (openly admitted, architectural cause: shared token budget).
- 🟡 Conditional: typed-decisions 0.766 vs Jev's 0.727 (fine-tuned on that benchmark's own training split; Jev never tested); ECE 0.081 (post-refit, and measures
max(p)). - 🟠 Caution: real held-out moderation = 0.530 (macro-F1 0.400) vs HF model page's 0.967 (in-task) and 0.797 (zero-shot) — three numbers for one capability, only one shown in headlines.
- ⚪ Unverifiable: Jev's alleged defects (from third-party blogs); "$1.8M" figure absent from the original dev.to post.
Crack 1: Two different "confidences"
Crack 2: A temperature the author's own code rejects
Crack 3: Independent evaluations find confident errors
| Source | Result | |---|---| | Issue #35 (Romanian, n=20) | 50–55% accuracy; wrong skill at conf 0.78–0.99 | | Issue #124 (Chinese, n=20) | 60–70% accuracy; worst conf 0.945 while wrong; English checkpoint confidently rejects hard Chinese (conf 0.98/0.81) | | Every (targeting Jev) | 6/7 defect detection vs 7/7 for frontier LLM; 0.35s vs 8.83s median |
Number credibility tiers
Usability verdict
Safe to use: the language router standalone; low-risk/rollback-able classification; as a cheap pre-filter or format-guaranteed precursor to an LLM.
Not safe for: probability gating via entropy confidence; automated content moderation (0.530 ≈ coin flip); >20 candidate options; production trust (six reproducible bugs in week one).
If you must use it, four rules: (1) only gate on noul's number; treat choice/score confidence as a relative ranking score; (2) refit temperatures on your own data; (3) keep candidates ≤20 (or use predict_shortlist / two-level classification); (4) validate by run-to-run consistency, not accuracy.
Three ideas worth stealing regardless: uncertainty as a money-derived threshold (62.5%); "undetermined ≠ English" conservative defaults; refuse-and-warn on bad parameters.
Conclusion
This is not a scam project — the engineering is real and often excellent. But it sells "calibration" while calibration is the one thing independently shown to be broken: the advertised number measures a different quantity than the one delivered, an official checkpoint ships a temperature its own code refuses, and three independent tests show confidently wrong answers. Borrow the design ideas, extract the router, do not trust the confidence scores.
*(Source: zhichai.net deep-dive report, 2026-09-22, based on first-hand source reading of common.py/agent.py/router.py, GitHub/HuggingFace API cross-checks, and the author's arXiv:2503.23303 and arXiv:2510.01237.)*