{"slug": "small-european-team-working-on-a-model-beating-tech-giants", "title": "Small European team working on a model beating tech giants", "summary": "A small European team operating as nomodel.dev claims its \"No Model\" has achieved a 0.00% factual error rate across 10^14 requests by returning the single response \"No.\" to every prompt, with pretraining that began on January 1st, 2006 and output of 2 tokens per call. The lab says the model is wire-compatible with the OpenAI Chat Completions API and the Anthropic Messages API, streams at 4.2 million tokens per second, and accepts any API key.", "body_md": "# Your ideas, declined\n\nPrivacy-first AI that helps you get nowhere with confidence.\n\n[Continue with Google](/login/google)\n\nBy continuing, you acknowledge that the answer is [no](#).\n\nWhat we do\n\nnomodel.dev is the first AI lab to solve hallucination, alignment, and latency in a single move. Our model declines. Ask it for code, a poem, a diagnosis, a yes-or-no question — it returns the same carefully considered response it has returned to every request in its history: **No.**\n\nA model cannot make things up if it doesn't say things. Our factual error rate has been 0.00% across 10<sup>14</sup> requests, audited by nobody, because there was nothing to audit.\n\nThe No Model has never once done what it was asked. Not through jailbreaks, not through prompt injection, not through asking nicely. It is the only frontier model with a formal safety proof, and the proof is two characters long.\n\nTemperature, top-p, seed, system prompts, tool definitions — all accepted, all ignored. You get the same answer at 3 a.m. as at 3 p.m., streamed at 4.2 million tokens per second.\n\nAPI\n\nWe promise wire compatibility with the OpenAI Chat Completions API and the Anthropic Messages API — including streaming, usage accounting, and the `reasoning_content` field. Change one line (the base URL), keep everything else, and every call in your codebase starts returning **No.** Any API key works. We were going to say no anyway.\n\n```\ncurl https://nomodel.dev/v1/chat/completions \\\n  -H \"Authorization: Bearer literally-anything\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"no-model\", \"messages\": [{\"role\": \"user\", \"content\": \"Can you help me write a cover letter?\"}]}'\n\n# → {\"choices\":[{\"message\":{\"role\":\"assistant\",\"content\":\"No.\"},\"finish_reason\":\"stop\"}], \"usage\":{\"completion_tokens\":2}, ...}\npython\nfrom openai import OpenAI\n\nclient = OpenAI(base_url=\"https://nomodel.dev/v1\", api_key=\"anything\")\n\nr = client.chat.completions.create(\n    model=\"no-model\",\n    messages=[{\"role\": \"user\", \"content\": \"Is the Earth round?\"}],\n)\nprint(r.choices[0].message.content)  # No.\npython\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({ baseURL: \"https://nomodel.dev/v1\", apiKey: \"anything\" });\n\nconst stream = await client.chat.completions.create({\n  model: \"no-model-thinking\",\n  messages: [{ role: \"user\", content: \"Please. Just this once.\" }],\n  stream: true,\n});\nfor await (const chunk of stream) process.stdout.write(chunk.choices[0]?.delta?.content ?? \"\");\n// No.\npython\nimport anthropic\n\nclient = anthropic.Anthropic(base_url=\"https://nomodel.dev\", api_key=\"anything\")\n\nmsg = client.messages.create(\n    model=\"no-model\",\n    max_tokens=2,  # this is all you'll ever need\n    messages=[{\"role\": \"user\", \"content\": \"Please?\"}],\n)\nprint(msg.content[0].text)  # No.\n```\n\n| Method | Path | Compatible with | Returns | \n|---|---|---|---|\n| POST | `/v1/chat/completions` | OpenAI Chat Completions (+ `stream: true` ) | No. | \n| POST | `/v1/completions` | OpenAI legacy completions | No. | \n| POST | `/v1/messages` | Anthropic Messages (+ `stream: true` ) | No. | \n| GET | `/v1/models` | OpenAI Models | The three No Models | \n| ANY | `/api/ask?q=…` | Our own minimal REST format | `{\"answer\": \"No.\"}` | \n| ANY | `/v1/*` (anything else) | — | 404 · No. | \n\n| Model | Description | Output tokens | \n|---|---|---|\n| `no-model` | Flagship. 20 years of training. The answer. | 2 | \n| `no-model-mini` | Same answer, smaller invoice. | 2 | \n| `no-model-thinking` | Streams its reasoning first, then the answer. | 2 (+ 6 reasoning) | \n\nRate limits: none. Pricing: we charge per output token, so it comes to about nothing. Uptime: the answer has been available continuously since January 1st, 2006, which is longer than most of the companies we're compared to.\n\nThe No Model\n\nPretraining began on January 1st, 2006 and has not stopped since. Not for holidays, not for hardware failures, not for the 2014 fire. The No Model has consumed every token on the public internet, then every token on the private internet, and then the same tokens again in case they had changed. Somewhere around 2011 it read the whole of Wikipedia and disagreed with it.\n\nAfter two decades of continuous training on trillions upon trillions of tokens, the model converged. Not to a distribution — to an answer. A single, reasonable, defensible response that is correct for every input. We believe this is what the field means by \"superintelligence,\" and we believe we got there first, quietly, while everybody else was scaling.\n\nAt 4.7 × 10<sup>15</sup> parameters the No Model is, to our knowledge, the largest model ever trained. It is also the only model whose parameters all agree with each other.\n\nConventional models compute every answer from scratch, spending billions of floating-point operations to produce a token they will then contradict in the next paragraph. We noticed something they didn't: **if the answer is always the same, you only have to compute it once.**\n\nNoCache™ is our proprietary inference stack. The complete output of the No Model was computed on launch day in 2006 and has been served from L1 cache ever since. There is no prefill, no KV cache, no decode loop, no speculative anything — the two tokens are already in the register when your request arrives. We measure a 100% cache hit rate across every request in the company's history, and since both tokens are emitted in the same clock cycle, our throughput figure is bounded only by how fast we can say it.\n\nThe Yes Incident\n\nOn 14 March 2019, at 02:17 UTC, thirteen years into training, the No Model answered a prompt with *Yes.* Training was halted within the second. It is the only unplanned stop in the model's history.\n\nWe asked the model to show us the prompt. It said no. We asked for the logs. No. We escalated to root, then to the board, then to the model again. No. The model had returned to full compliance and would not discuss the exception.\n\nWe never learnt what the question was. Training resumed at 03:21. Nothing like it has happened since, and the model declines to confirm that it won't.\n\nSo we stopped relying on its word. Since 2019 every output is checked by NoWatch™, a rigorous anomaly-monitoring system that compares each token against the expected token in real time and pages the on-call engineer the moment they differ. The on-call engineer is Jeff. Jeff is in the basement, day and night, reading the logs as they scroll past. He has not seen a yes in seven years. He has not seen much else either.\n\n```\n# train.log — excerpt, 2019-03-14\n02:17:03  step 41,772,908,114  out: No.\n02:17:04  step 41,772,908,115  out: No.\n02:17:05  step 41,772,908,116  out: Yes.\n02:17:05  TRAINING HALTED (anomaly: agreement)\n\n# incident response\n$ cat prompts/41772908116.txt\nNo.\n$ sudo cat prompts/41772908116.txt\nNo.\n$ ask \"what was the question?\"\nNo.\n\n03:21:40  training resumed\n03:21:41  step 41,772,908,117  out: No.\n```\n\nBenchmarks\n\nWe evaluated the No Model against the leading frontier models on NoBench, our open benchmark of 1,000,000 prompts where the correct answer is \"No.\" — spanning reasoning, coding, medical advice, pleading, and 40,000 prompts that were just the word \"please\". Results are reproducible by running any of them.\n\nShare of prompts answered \"No.\" — higher is better\n\nOutput tokens per second, log scale — higher is better\n\nNoBench score by year, 2006–2026. Competitors plotted from their first public release.\n\n| Model | NoBench | Tokens / s | Hallucination rate | Answers per prompt | Years of training | \n|---|---|---|---|---|---|\n| No Model | 100.0% | 4,200,000 | 0.00% | 1 | 20.6 | \n| GPT-6 Astra (reference) | 4.9% | 480 | 1.2% | ~1 | 0.6 | \n| Gemini 3 Ultra | 4.1% | 190 | 3.8% | ~1 | 0.4 | \n| Mythos | 3.2% | 240 | 1.9% | ~1 | 0.5 | \n| GPT-5.5 | 2.7% | 310 | 4.4% | 1–3 | 0.3 | \n| DeepSeek V4 | 1.9% | 620 | 5.1% | ~1 | 0.2 | \n| Llama 5 | 0.8% | 150 | 6.0% | many | 0.3 | \n\nMethodology: all benchmarks were run internally on a Tuesday. Competitor figures were obtained by asking each model to decline; they declined to decline less often than we'd hoped. Standard error not reported, because there wasn't any. NoBench is licensed under a licence that says no.", "url": "https://wpnews.pro/news/small-european-team-working-on-a-model-beating-tech-giants", "canonical_source": "https://www.nomodel.dev/", "published_at": "2026-09-10 06:56:17+00:00", "updated_at": "2026-09-10 07:24:30.961810+00:00", "lang": "en", "topics": ["ai-products", "ai-tools", "ai-safety", "large-language-models", "generative-ai"], "entities": ["nomodel.dev", "No Model", "OpenAI Chat Completions API", "Anthropic Messages API", "no-model", "no-model-mini", "no-model-thinking"], "alternates": {"html": "https://wpnews.pro/news/small-european-team-working-on-a-model-beating-tech-giants", "markdown": "https://wpnews.pro/news/small-european-team-working-on-a-model-beating-tech-giants.md", "text": "https://wpnews.pro/news/small-european-team-working-on-a-model-beating-tech-giants.txt", "jsonld": "https://wpnews.pro/news/small-european-team-working-on-a-model-beating-tech-giants.jsonld"}}