Anyone pricing AI agents for internal coding or office work should separate three things: the license, the scoreboard, and the machine that has to hold the weights. Nanbeige LLM Lab has released Nanbeige4.3-33B on Hugging Face under Apache 2.0, and positioned it as a teacher for agentic coding and for professional cowork (multi-step office work in tools and documents, not a misspelling of sitting together). The lab says the model leads other open models near 30 billion parameters on 17 of 20 rows. The weights alone are about 62 GiB. Read the bill, and the cells that disagree with Meta, before you treat that lead as a purchasing signal.
What actually shipped
The checkpoint is branded as a 33B model. A community conversion of the original safetensors release, CVLTAI/Nanbeige4.3-33B-GGUF, lists the parameter count as 33.12 billion and the tensor type as BF16. That card describes a format conversion, not a fine-tune, and it uses the same “agentic teacher” framing. Apache 2.0 is a permissive license, which is why this is even a procurement conversation. A license is still not a deployment plan, an indemnity, or a hosted API.
The published architecture is a standard Llama causal language model: 52 layers, a hidden size of 7, 168, and 56 attention heads sharing 8 key-value heads. The context window is 524, 288 tokens, the same count people shorthand as 512K. No mixture-of-experts routing is described. Budget every token as if the full parameter count is active.
The lab has also pointed to a companion base checkpoint, Nanbeige4.3-33B-Base, for teams that want to do their own post-training. The stated plan is teacher first, student later: distill agentic skills into smaller models, starting with a Nanbeige4.3-3B that is not released, and no date has been given.
The chat template is built for agents, not a one-shot demo. Reasoning is on by default, through a switch named enable_thinking. A second switch, preserve_thinking, keeps reasoning from earlier turns, so a coding agent can retain why it opened a file across later tool calls. The conversion card supports tool calls in both XML and JSON. That is an integration detail, and it will matter more in a real tool loop than a one-point gap on a math benchmark.
The context window is a second invoice
Grouped-query attention (8 key-value heads instead of 56) exists to keep the cache smaller than a naive transformer would. Smaller is not small. The memory figures below are arithmetic from the published parameter count and architecture, not a lab serving guarantee, and they exclude activations and framework overhead.
Weights first. 33.12 billion parameters at 2 bytes each is 66.24 billion bytes: 66.2 GB if you count in decimal, or 61.7 GiB. GPU cards are sold in GiB-sized steps even when the label says GB, so use GiB when you are matching a box. That footprint does not fit a 24 GB or 48 GB card. It can sit on one 80 GB card, with about 18 GiB left before overhead. Short-context BF16 is an 80 GB-class decision. It is not a laptop decision, and it is not “more than one accelerator” in every case.
Filling the window is the second invoice. The conversion card does not print a head dimension. If that dimension is 128 (hidden size 7, 168 divided by 56 query heads), the BF16 key-value cache per token is 52 layers × 8 key-value heads × 128 × 2 (key and value) × 2 bytes = 212, 992 bytes, or 208 KiB. At that rate, all 524, 288 positions cost 104 GiB of cache. The same product is 111.7 GB in decimal, which is where a rounded “112 GB” comes from. Cache plus weights is well past one 80 GB card. A filled 512K transcript on this model is a cluster decision. Confirm the number in your own runtime before anyone buys GPUs against it.
Quantization changes the download and does not automatically save the agent. The same community card publishes unevaluated llama.cpp files, quantized from one f16 conversion rather than from another quant, at about 12.7 GB to 35.2 GB on disk. It says no local evaluation was run on those files. A 13 GB download is not evidence that terminal work, tool use, or multi-step coding survived the squeeze.
The lead lives on the lab’s table
Nanbeige compared the model with Qwen3.8-27B, Muse-Glimmer-30B, and Gemma4-31B. It says every model was run at its highest thinking effort, with shared hyperparameters and shared harnesses. Named harnesses include Terminus 2, mini-swe-agent v2.4.6, and a Claude Code harness. That is the lab’s description of the race, not an independent audit. If another lab’s published number was run at a lower effort, or in a different agent, the two figures are not the same contest.
On its own table the lab claims the lead on 17 of 20 rows. The full list of 20 is not itemized in one place, so that headline cannot be checked row by row from the breakdown alone. The scores below are self-reported, in the order Nanbeige, Qwen3.8-27B, Muse-Glimmer-30B, Gemma4-31B. They have not been independently rerun.
- Terminal-Bench 2.1: 80.9 / 73.0 / 61.8 / 47.2
- DeepSWE: 65.5 / 42.5 / 4.4 / 2.7
- SWE-Bench Pro: 60.3 / 61.7 / 36.9 / 51.2
- Terminal-Bench 4.0: 23.8 / 6.3 / 1.6 / 0.0
- Automation Bench: 54.2 / 38.3 / 15.2 / 9.7
- JobBench: 44.8 / 34.5 / 16.6 / 9.0
- GDPval: 84.8 / 86.4 / 75.8 / 71.4
- AIME 2026: 95.2 / 94.5 / 94.7 / 89.2
- GPQA Diamond: 89.5 / 89.2 / 83.5 / 91.3
- AA-LCR: 84.0 / 82.0 / 83.3 / 72.0
It is not a sweep, even on the lab’s terms. Qwen3.8-27B leads SWE-Bench Pro, 61.7 to 60.3, and GDPval, 86.4 to 84.8. Gemma4-31B leads GPQA Diamond in the same table, 91.3 to 89.5. The reasoning rows are close where the field is close: on AIME 2026 the four scores are 95.2, 94.5, 94.7, and 89.2. On AA-LCR they are 84.0, 82.0, 83.3, and 72.0.
The near-zero cells should not be read as a clean ranking. DeepSWE at 4.4 and 2.7, and a Gemma score of 0.0 on Terminal-Bench 4.0, are as consistent with a harness that never successfully ran as with a model that is twenty times worse. Terminal-Bench 4.0 is a separate row from 2.1. Nothing in the figures available here defines how that suite differs from 2.1. Nanbeige’s own score on it is 23.8, the weakest result it highlights.
One figure needs a warning label. The lab also cites YC-bench simulated earnings of $1, 025, 437 versus $641, 290. That is a benchmark construct, not revenue. No methodology is attached, and the model behind the lower number is not named. A dollar sign on a slide is not a P&L.
Meta’s card does not match those cells
Meta Superintelligence Lab’s card for Muse Glimmer-30B, dated August 2026 and also Apache 2.0, is not a clean text twin of a 30B model. Muse is about 29.6 billion parameters including a vision encoder. It takes text and images, emits text, lists a context of 131, 072 tokens and up, and is distilled from a larger Muse Spark. Its comparison column is Qwen3.6-27B, not the Qwen3.8-27B in Nanbeige’s table. Those names have to be resolved before any Qwen column is treated as the same race.
Three comparisons are enough to see where the sheets diverge. Nanbeige’s cells are the lab’s. Meta’s are from the Muse card. Meta writes TerminalBench. Nanbeige writes Terminal-Bench. Treat that as the same family of tests only after the protocol matches.
- SWE-Bench Pro. Nanbeige lists Muse at 36.9 and Gemma4-31B at 51.2. Meta lists Muse at 51.2 and Gemma 4 31B at 36.9. Same benchmark name, same style of scale, and the two competitor cells are reversed. The Qwen gap is separate and larger than that swap: Nanbeige’s Qwen3.8-27B is at 61.7, while Meta’s Qwen3.6-27B is at 50.2. Same model name? No.
- Terminal-Bench 2.1. Nanbeige measures Muse at 61.8, Gemma at 47.2, and Qwen3.8-27B at 73.0. Meta’s TerminalBench 2.1 row, already labeled as run with terminus2, has Muse at 51.7, Gemma 4 31B at 43.4, and Qwen3.6-27B at 60.7. A differently named harness does not, by itself, explain a gap against a number Meta already tagged with terminus2. Nanbeige names Terminus 2 among its harnesses, but does not publish a row-by-row protocol that would make 61.8 a correction of 51.7.
- GDPval is not Meta’s GDPVal-AA. Nanbeige’s GDPval row sits on a roughly 70 to 86 scale. Meta’s GDPVal-AA v2 sits in the hundreds and thousands: Muse 953, Gemma 4 31B 811, Qwen3.6-27B 1, 141. Different name, different scale. It is not a correction of 84.8 versus 86.4.
SkillsBench has the same kind of problem, so it should not be dropped into a ranking either. Nanbeige’s row is 61.1 / 56.4 / 39.7 / 28.9. Meta’s SkillsBench scores are labeled “with skills”: Muse 44.3, Gemma 4 31B 32.4, Qwen3.6-27B 46.6. The label means these may not be the same task setting.
Even inside Meta’s own card, the winner depends on the test. Qwen3.6-27B leads TerminalBench 2.1 at 60.7 and SWE-Bench Verified at 77.2. Muse leads SWE-Bench Pro at 51.2. A single sentence about who wins the 30B class was already fragile before a fourth column showed up.
A teacher is not a machine you can put under a desk
Meta has already shipped the pattern Nanbeige is describing. Muse Glimmer is distilled from Muse Spark and aimed at machines you can put under a desk. Meta says 4-bit compression puts the language model under 20 GB, and that the practical target is 24 GB or 32 GB once the key-value cache, a perception encoder, and a DFlash drafter (a small draft model used beside the main weights) are in the picture. It reports 0.2 percent average degradation for a recipe it calls K-Quant-Dynamic, and 1.0 percent for K-Quant-17GB, across 15 benchmarks.
Treat that 0.2 percent the way you would treat any lab average. An average can hide a collapse on terminal work or software-engineering tasks. The card does not, in the figures checked here, say whether those 15 benchmarks include agent tasks. Meta does publish a speed measurement: a 3.1× draft speedup on an RTX 5090, from 74.9 to 233.4 tokens per second at batch size 1 with greedy decoding, plus 1.5× on M4 Max and 1.8× on M5 Max.
Nanbeige’s community GGUFs can shrink the 33B weights into a similar disk range. They do not publish a matching quality delta. An agent that is sharp in BF16 across more than one GPU, and unmeasured at Q4 on one machine, is not yet a back-office worker.
Modality makes the products less interchangeable still. Muse is built to see images. Nothing in the Nanbeige release materials describes image or other non-text input, so do not assume this checkpoint can take a screenshot, a slide, or a scanned invoice. Context is not a clean four-to-one either. Nanbeige lists 524, 288 tokens. Meta lists 131, 072 and up. The plus means Muse’s ceiling is not a hard cap at that number. They are still different deployment options, not two labels for the same product.
There is a smaller ancestor, and it should not be confused with this launch. A February 2026 paper, Nanbeige4.1-3B, describes an earlier 3B model that reasons, aligns, and acts. It does not evaluate Nanbeige4.3-33B. Its “17 of 20” is LeetCode weekly-contest problems, an 85.0 percent acceptance claim about that small model. It has nothing to do with the 33B leading 17 of 20 benchmark rows. Self-reported tool-use scores in that paper, including GAIA at 69.90, are lineage, not a compression test of this checkpoint.
Until Nanbeige4.3-3B exists, the thing you can download is the expensive teacher. A weights drop is also not a managed endpoint. Check whether anyone is actually serving the model before it lands on a roadmap. Until the contested cells are rerun by someone other than the lab, and until a small checkpoint ships with a measured quality drop, this release is a teacher you can license, not a worker you can cost.
Questions worth asking
- Can a company use the weights?
They are published under Apache 2.0, and the lab has also pointed to a base checkpoint for custom post-training. That is a permissive license, not an indemnity, a support contract, a hosted API, or proof the card adds no extra use restriction. Read the license file and the model card before anyone treats this as cleared for production.
- Does it beat other open models near 30B at agentic coding?
The lab says it leads 17 of 20 rows in its own comparison, including DeepSWE at 65.5 versus the next model in that row, Qwen3.8-27B, at 42.5. Those figures are self-reported. Several competitor cells disagree with Meta’s card, and the Qwen column may not be the same model name. Treat the lead as a claim until someone reruns it.
- Will it fit on one GPU?
Not in BF16 on a 24 GB or 48 GB card. Weights are about 61.7 GiB, so an 80 GB card can hold them with limited room left for cache. A full 512K context adds about 104 GiB of key-value cache on top of the weights, before overhead. Community GGUFs run about 12.7 GB to 35.2 GB on disk, with no published test of whether agent quality survived.
- Is this a drop-in for Muse Glimmer or another on-device agent?
No. Muse is multimodal, distilled for local machines, and lists a context of 131, 072 tokens and up. Nanbeige4.3-33B is a long-context text teacher whose BF16 weights already fill most of an 80 GB card. They are different deployment options, not two labels for the same product.
- When does the small model arrive?
No date is public. The lab’s plan is to distill agentic skills into Nanbeige4.3-3B. The earlier Nanbeige4.1-3B paper is an earlier small model, not proof of how this 33B checkpoint will compress, and its LeetCode “17 of 20” is a different claim.
- Should cowork scores drive an automation budget?
Not alone. Automation Bench, JobBench, and the YC-bench dollar figure are lab-defined results, and simulated earnings are not revenue. Pilot AI agents on your own tools and your own tasks, and budget for 80 GB-class or multi-GPU serving, or for a quantization whose quality you have measured.