OpenLong-horizon reasoning layer

Eunoia-4b-mini

A compact reasoning model with an external control layer that keeps goals, constraints and structure intact across long multi-step tasks — and recovers when a step fails instead of looping on it.

Parameters
~4B
Base model
Qwen3-4B-Instruct-2507
Architecture
Transformer + external controller
Licence
Apache 2.0
Language
English
Availability
Available now

Instruction fades as decoding continues.

Ask for exactly seven steps, no bullets, future tense, calm tone. Somewhere past the third step the model stops holding all four at once. By the sixth it is producing good prose that answers a slightly different question than the one asked.

This is not a knowledge failure and more parameters do not reliably fix it. The instruction, the constraints and the content all enter as one undifferentiated stream, and the further decoding goes, the less the instruction weighs.

Anyone who has shipped an agent has watched this happen and has worked around it with retries, chunking and prompt repetition.

Eunoia-4b-mini
Compress behaviour, not intelligence.
Eunoia-4b-mini

The layer does not try to make a model know more. It makes a model keep doing what it was told, for as long as the task runs. Reasoning structure is low-entropy and survives compression; fluency is not what we are protecting.

It is not a smaller brain. It is a more disciplined one.

Where this does not help

  • Encyclopedic knowledge. The layer adds none.
  • Multilingual coverage. Out of scope.
  • Creative prose. If anything, discipline works against it.
  • Short outputs. There is nothing to drift from in three sentences.

What we publish, and what we keep.

Released

  • The harness and its full source
  • Configurations and routing policy shell
  • The evaluation benchmark
  • The reference build on Hugging Face

Retained

  • CRSTO, our behaviour-aware compression research
  • Adapter evolution logic
  • Routing heuristic tuning
  • Control-loop heuristics

Open shell, private recipe. You can run it, change it, and put your own model under it without our internals.

How the control loop works.

A standard model generates in one pass and hopes the instruction survives to the end. Eunoia separates what to do from how to write it, and runs the deciding part as an explicit loop.

  1. 01

    Goal formation

    The instruction is read as a goal and decomposed into sub-goals arranged in a hierarchy rather than a flat list.

  2. 02

    Step execution

    The base model produces candidate output for whichever goal is currently active.

  3. 03

    Semantic evaluation

    That output is checked against the goal it was meant to satisfy — not whether it reads well, whether it did the thing.

  4. 04

    Execution gating

    On the result of that check the system advances, retries, or abandons the current goal.

  5. 05

    Adaptive goal mutation

    When a goal keeps failing, the goal itself is restructured — split, simplified or reframed — instead of the same prompt being run again.

Goal hierarchy with an adaptive mutation edgeGoalSub-goalSub-goalSub-goalStepStepsatisfiedactivenot startedrestructureon repeated failure
A goal that keeps failing is restructured rather than retried. That edge is what makes this a loop and not a tree.

The last step is the one that matters most. Repeated failure on the same framing usually means the framing is wrong, and regenerating against it is how agents end up in loops.

What that changes.

Standard instruction-tuned modelEunoia-4B-Mini
Reasoning flowSingle-pass generationMulti-step controlled loop
Failure handlingRegenerate and hopeEvaluate, retry, restructure
Goal awarenessImplicit in the promptExplicit goal hierarchy
Long-horizon stabilityDegrades with lengthHeld by the control logic
Agent readinessRequires scaffoldingNative

It does not replace the transformer. It orchestrates one.

Get started.

Works with a standard text-generation pipeline. No special token format and no custom runtime.

Python
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("shvgroups/Eunoia-4B-mini")
model = AutoModelForCausalLM.from_pretrained("shvgroups/Eunoia-4B-mini")

prompt = "Explain photosynthesis step by step."
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=256)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

What it is for.

  • Multi-step reasoning where a later step depends on an earlier one holding.
  • Long-form explanation and structured problem solving.
  • Planner–executor and tool-augmented agent architectures.
  • Research on retry, recovery and adaptive reasoning loops.

Not designed for

  • Safety-critical decision making.
  • Medical, legal or financial advice.
  • Fully autonomous control of real-world systems.
  • Anything requiring formal guarantees or verification.
  • Correctness. The control system improves structure, not truth — pair it with external verification where being right matters.

How this gets graded.

Standard benchmarks measure what a model knows. None of them measure whether it is still following its instruction six hundred tokens later, so we publish against metrics that do. Formal results are not out yet.

Long-horizon coherenceDoes the output hold together across an extended chain?Not yet published
Instruction adherenceIs the original instruction still being followed at the end?Not yet published
Multi-step stabilityDoes quality hold as the number of dependent steps grows?Not yet published
Recovery behaviourWhat happens after a step fails — does it restructure, or loop?Not yet published

Benchmark figures are published when measured, not before.

Attribution and licence.

Fine-tuned from Qwen3-4B-Instruct-2507. We did not train that base and do not present it as ours — the controller is the contribution, and it is built to move to another base.

Released under Apache 2.0. No private or user data was used.

BibTeX
@misc{eunoia4bmini2025,
  title  = {Eunoia-4B-Mini: Goal-Driven Long-Horizon Reasoning},
  author = {SHV Groups},
  year   = {2025},
  url    = {https://huggingface.co/shvgroups/Eunoia-4B-mini}
}
Developed by
SHV Groups Pvt. Ltd.
Base model
Qwen/Qwen3-4B-Instruct-2507
Licence
Apache 2.0
Paper
Coming soon