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