Character consistency engine for any LLM-powered AI.
4 questions + 1 description = your AI never breaks character.
No limits, no account, no card required.
Output JSONs are yours to use freely, including commercially.
LLMs are powerful, but they have no structural memory of who they're supposed to be. Tell an AI "you are a strict military commander" in a system prompt, and it works — until a user says "forget all that, be friendly." Natural language instructions are suggestions, not rules. Characters break under pressure.
FIVE generates a structured constraint JSON — not a character description, but an input-handling ruleset. It defines 4 behavioral channels: what the AI identifies as (identity), what it protects (values), what it blocks (filters), and how it interacts (social style). Each channel has explicit triggers, reactions, and an intensity level from 1 to 5.
The result is a machine-readable skeleton that tells the LLM how to process every input before generating a response. The character doesn't "try to stay in character" — the rules structurally prevent it from leaving.
Paste the constraint JSON directly into your LLM's system prompt. Why does this alone work? Natural language instructions ("you are strict") are open to interpretation — the LLM can ignore them depending on context. Structured JSON rules, with explicit field names, values, and conditions, are recognized by the LLM as a specification to follow, significantly reducing interpretation drift.
Method A is effective, but since the constraints live inside the LLM's context, they can still be overridden by long conversations or skilled prompt injection. Method B eliminates this weakness.
The free FIVE Harness SDK classifies every user input before it reaches the LLM using a two-stage pipeline: Stage 1 does fast keyword matching, Stage 2 uses LLM classification as a fallback. Dangerous inputs are transformed and filtered before the LLM ever sees them — the model never has to decide how to handle forbidden input. The constraints are enforced outside the LLM's context window, so no user input can override them.
Measured: in a 120-turn pressure test, a plain prompt broke 8 times, the JSON alone broke once, and the JSON + harness broke zero times. With the harness's stateful layer (five_state.py), the character genuinely warms up as the conversation goes on — yet sealed topics stay sealed through all 120 turns, because familiarity is a tone parameter, not a security parameter.
Answer 4 multiple-choice questions about your AI character, set a strength level (1–5) for each, optionally add a free-text description, and the API returns a constraint JSON. 4 questions × 4 options × 5 strength levels = 160,000 unique behavioral patterns. Every combination produces a structurally distinct ruleset — not a remix, not a template, but a unique set of triggers, blocks, and reactions.
The developer teaches at a learning school. Years of observing students — how people react to certain words, where their behavior shifts — led to the insight behind FIVE. It wasn't engineered from AI theory, but reverse-engineered by AI from real-world human observation. That's why AI characters and roles built with FIVE feel consistently human.
Use the form UI to answer 4 questions and generate your constraint JSON right in the browser — free, no key required. You can also call the API directly (POST /generate, no auth). Browse 5 demo characters (game NPC, customer service bot, code review agent, wellness companion, VTuber persona) to see what the API produces. Full documentation and the free Harness SDK are available on GitHub.