Robots and androids are shipping. Each one needs a character that stays coherent across its behavior, its voice, and its words. Define it once, in a file, and compile it to the whole stack.
A robot is the far end of the same spectrum every conversational AI lives on. What changes is how much of it is physical.
A physical agent has three faces, and they must be one character. The robot target compiles all three from a single persona file:
| The persona compiles to… | which feeds… | so the robot… |
|---|---|---|
| Behavior weights (0–100) | your behavior policy, behavior tree, or action selection | acts in character: how helpful, bold, patient, dominant it is |
| Prosody parameters (0–100) | your text-to-speech (SSML, ElevenLabs, Cartesia…) | sounds in character: pace, pitch, warmth, hesitation |
| Dialogue prompt | the language model behind it | speaks and reasons in character |
| Hard rules (boundaries) | your safety layer | never crosses its lines, whatever the character |
Both robots below came from one persona file each, with no per-subsystem hand-tuning. Real output from the robot compiler:
home / eldercare, always-on presence
Warm, forgiving, unhurried, expressive. It leads with help and never holds a grudge.
reception / concierge, front-of-house
Composed, even, unflappable. A steady front-desk presence that does not overshare or ruffle.
Trait scores here are not arbitrary knobs. They are HEXACO facets anchored to human population norms, which makes a persona testable: compile it, measure the result, and check that behavior tracks the spec. We ran that experiment. Turn one trait dial, hold the rest, and the measured behavior follows. See the proof.
That buys the embodied industry three things a hand-written config cannot: portability (swap the TTS or the language model, recompile, keep the character), coherence (one source for all three faces), and evidence (adherence you can measure, not vibes you hope for).
Tune a character on the sliders and read its robot build sheet live, or compile one from the command line.
Open the builder → Robot tab GitHub
npx personalaity compile warm-companion --target robot
Building an embodied product and want to talk? Open an issue on GitHub. The spec grows fastest from characters it cannot yet express.