Elucidate

Elucidate is an 8B LLM meant to act as a "translation layer" for LLMs/agents to give responses that sound more natural. This addresses the pain point of riddlespeak, verbosity, and distinct "AI-sounding" writing that comes from RLHF prioritizing agency over communication.

See it in action:

https://ox-dev.tail4914b3.ts.net/elucidate-8b-en-sixteen-specs.html

Why not just prompt the LLM to talk better? Research (and I believe most peoples' experience) shows prompting doesn't cross the boundary of sounding humanlike consistently, only weight-level changes do. To give numbers, this 8B often scores consistently 0% on GPT Zero, 0% to <20% AI on Pangram (though evasion is not my goal as much as creating nicer interfaces is (i mean it)). Limitation: when doing technical walkthroughs it is much more likely to be detected.

The goal is to help LLM-human interfaces be more effective and high-SNR in applications like teaching, long-horizon task updates, technical explanations, and emails. The mechanism: big LLM specifies the material in a prompt to small LLM that writes it better and can choose a very distinct writing style.

style what it is good for
systems-primer a patient lecturer technical subjects like computers, architectures, complex systems
first-principles a teacher that likes to ask questions to walk with their students theoretical subjects like math, physics, chemistry
steelman an engaging argumentative writer versatile across humanities or STEM
unit-economics a snappy commenter just gets the darn point across
build-along walks you through building the thing implementation. this is the one that gets detected

You won't see a single em-dash used unproperly.

How it works

You don't paste prose in and get prose out. The big LLM writes a specification and the small one renders it.

Context: everything the writer needs to know, no length limit. Every fact, every term defined. Then a few lines on the reader: who they are, what they know, what they want.

Topic: one clause. The subject, not the argument.

Beats: one instruction per unit of argument, each starting with a verb. Argue, concede, object, show, admit. Not "malloc doesn't zero memory" but "Argue that malloc's contract is a promise about size, not about zeroing."

The verb makes a beat impossible to copy into a paragraph, so your phrasing stays out. And every relation has to be stated: what follows from what, what's conceded and what overrides it. The model supplies voice, not reasoning. Anything you leave unpinned it invents.

Meant to be run locally. Budget ~18 GB of RAM for these fp16 weights.

If it don't fit, there's an 8-bit MLX quantization at freshminttt/elucidate-q8: 8 GB on disk, ~11 GB of RAM, and about 1.7x faster. The voice survives it fine. It does hallucinate a bit more though, so lean on that cleanup pass.

Disclaimer: it can't quite work one-shot yet; translating 2 or so candidates and having big LLM do cleanup pass is necessary, but what comes out sounds more human and whiffs those detectors.

The model weights + a skill file for how a larger LLM should use it + a CLI wrapper to run it are all in here. Tested + verified end to end on Mac. No idea how it'll work on the other systems but you can probably dump that on claude's desk.

Downloads last month
438
Safetensors
Model size
8B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support