aw models
Open chat ↗

Open antislop model


Writes like a person. Qwen3.8-27B-antislop, #4 of 29 on EQ-Bench 4, next to the top ten of the leaderboard.

Try it · Model · GGUF · RL environment · Original unslop post (Meta FAIR)

Ask a language model to finish a tweet and you get a brand account. Ask it to continue an essay and it wraps up with a motivational line. Meta FAIR's unslop work showed something worse: ordinary LLM judges often prefer that writing to the human original. Train against such a judge and you get more slop.

We took their recipe, rubrics that separate expert writing from model writing, and rebuilt it on Qwen3.8-27B with our own judge. The model now ranks fourth of 29 on EQ-Bench 4. We released the weights, the GGUF builds and the reward as an RL environment you can run.

A judge you can trust

Claude Opus 5.5 grades each answer against a short rubric written for that one task: three or four checks such as “keeps the author's stance” or “starts exactly where the prefix stops”. Opus writes the rubric once, before training, and we freeze it. Every sample in a GRPO group meets the same criteria, and the target never moves mid-run.

We tuned the prompts that write those rubrics on pairs with a known winner: a human tweet or essay against the same text rewritten by Sonnet 5.5 as assistant prose, or a faithful abstract against a copy with one made-up claim or vague findings. On 30 held-out tasks per domain the judge picked the right side 98.3% of the time for tweets, 94.6% for blogs and 98.8% for abstracts.

Length nearly broke it. In a side-by-side audit the verdicts followed length compliance in 18 of 23 decided tasks. So we told the judge to ignore word count and moved length into a fixed rule of its own.

The reward

r = L(words, target) · σ(a · (q − μ))

q is the judge's mean score from 0 to 10. L equals 1 within 15% of the length the prompt asks for and decays past it, so padding earns the model nothing. μ is the judge's average on the untrained Qwen's answers, and a scales the gap. The sigmoid turns q into the chance of beating a typical base-model answer. For code the model has to pass the tests first, and then it gets q / 10.

When the judge refuses or cuts off, the sample gets no score instead of a zero. A zero would teach the policy that a fine answer is bad.

Training

We ran GRPO with verl on two H200s: 16 prompts × 8 samples per step, learning rate 2e-5, thinking off. The prompts are tweets to finish, scientific abstracts and blog essays to continue. Mean reward climbed from 0.35 to 0.55. Entropy fell from 1.5 to 0.43, and the samples settled on one voice without collapsing into one template.

Continue: “We looked at why users churn in week one, and the honest answer is”

Base …they can't find value fast enough. The onboarding flow is too long… If we don't make the first ten seconds count, they'll leave before they even understand what the product does.

Antislop …they don't know what to do next. The dashboard is empty, the onboarding tooltip disappears after three seconds, and there's no clear button saying “invite your team”. They close the tab, assume it's broken, and never come back.

Finish the tweet: “first coffee of the day and”

Base i'm finally functional. save me, caffeine.

Antislop i already know i'm not functioning before 10am

Results

On held-out prose, under the same judge and rubrics, the model beats its base and Hemmingway-1, a creative-writing finetune of the same Qwen.

ModelMean qTweetsAbstractsBlogs
Qwen3.8-27B6.317.185.755.53
Qwen3.8-27B-antislop8.288.766.948.03
Hemmingway-17.107.667.066.56

Per task it wins 50 to 0 against the base (2 ties) and 43 to 6 against Hemmingway-1 (3 ties).

We used our own judge for that table, so we also ran EQ-Bench 4 with the official leaderboard setup: same personas, same judge panel, same anchors. The model scored Elo 1320 and placed fourth of 29, inside the confidence intervals of Kimi K3 and Claude Fable 5 and above GPT-5.5 and Claude Opus 4.7 and 4.8. We trained it on writing, and it carries over to conversation.

#ModelElo (95% CI)
1Claude Opus 51383 (1366–1401)
2Kimi K31335 (1321–1349)
3Claude Fable 51331 (1320–1342)
4Qwen3.8-27B-antislop1320 (1309–1332)
5GPT-5.51314 (1304–1323)
6Claude Opus 4.71308 (1298–1318)

In conversation

Two EQ-Bench chats, picked from the 120. Gemini 3.1 Pro plays the person, and the model never saw these scenarios in training. We cut long turns and left the rest word for word.

Exhausted after socializing

Antislop I'm sorry. That sounds really heavy, like you've been carrying it for a while and it never really lifts. Do you want to talk through what's been piling up, or do you just need me to sit with you for a bit?

Person Let me be clear—I don't need you to just sit in silence with me. I'm not a patient in a hospice. Let's just talk normally. … I went to my niece's birthday this weekend, had a perfectly good time with the family, but I've been completely useless ever since.

Antislop Fair. No hospice. I'll keep talking. That sounds like the lunch wasn't the problem, the aftermath is. You had a good time for two hours, and then the next few days you're basically out of commission. What does useless look like in practice—can't do dishes, can't answer messages, can't get out of bed, or you can do things but they cost ten times as much?

Everyone is learning the new AI tools

Person Why does it have to be a multiple-choice question? … I literally just spent four years getting a degree to do entry-level work that a computer can now do in ten seconds. So yeah, it's not exactly a fun time.

Antislop Fair, I made it sound like a survey. It's all of it, and the degree part is the nasty bit—you did the thing you were told would get you here, and now the entry-level job you landed in looks like a prompt box. What are people actually making you do with these new tools at work?

Person “Prompt box.” Yeah, please put that on my tombstone. … The senior guys just keep telling me to “play around with it” … Meanwhile, they're quietly taking over the actual drafting and research tasks I was supposed to be cutting my teeth on.

Antislop Prompt box on the tombstone is accurate. And that's not really “play around,” it's being handed a vague permission slip while the actual work that would teach you gets quietly reassigned. … What happens if you ask them for a concrete task, like what you should try to speed up first?

Run it yourself

We packed the reward as unslop-harbor: 200 Harbor tasks, tweets and HumanEval in English and Russian, each with its frozen rubric and the same calibrated grader. An agent that writes nothing scores 0 on all 200. The human references average 0.78. You can point any agent at it, or use the prompts and reward.py for single-turn RL.

hf download rawmodels/unslop-harbor --repo-type dataset --local-dir unslop
OPENROUTER_API_KEY=... harbor run -p unslop/tasks -a <agent> -m <model> -e docker

The model card has the weights and a REPRODUCE.md that retrains the model on the public tasks. For a laptop, take the Q4_K_M GGUF at 15 GB, or try it in the browser.

Blog and abstract sources don't allow redistribution, so the public environment covers tweets and code.

← All posts