Have you ever wanted an AI to have character and personality? Here on my homelab, I get to play around with some of the smaller LLMs available that I run on Ollama and Open WebUI. It can be a challenging task to wrangle these LLMs to behave the way you’d like. But with a little creativity and persistence, you can create a truly engaging and relatable AI character.

Test Case: Space Core

Read the full Space Core post here.

So you’re a fan of the Portal games and think, “Space Core would be a crazy character to interact with.” You jump right into making a System Prompt, and after several hours of AI wrangling, you’re still stuck with an AI that really wants to remain a helpful assistant. As you continue to test the LLM, you notice just how bloated your crafted System Prompt has become - and how the LLM starts to slow down. You realize that Space Core is one of the hardest characters for an LLM to become.

You try the same prompt on other models, and to your surprise, they simply don’t understand what’s being asked of them. Finally, the LLM replies with “How can I assist you today?” - falling back to its default assistant behavior. That’s your signal: it’s time to increase the context length.

This experience taught me that creating a character with personality and depth isn’t just a matter of crafting a System Prompt. It requires patience, creativity, and sometimes, a bit of luck. But with the right approach, you can create an AI that’s not just helpful, but genuinely engaging - and maybe even a bit of a character in its own right.

Interview the LLM Before You Write the System Prompt

Every model has a personality substrate baked into its weights. You’re not just training it - you’re reading it first. By understanding how it responds when it’s naked and unprompted, you can start dressing it in character clothes that actually fit.

The Interview Principle (aka: Don’t Put Pants on a Fish)

Before you prompt, follow these steps:

  • Ask the model about random, low-stakes things. This helps you understand its tone and behavior under normal circumstances.
  • Test how it reacts to absurdity, conflict, and emotion. This reveals its emotional range and how it handles stress.
  • Push edge cases. Can it improvise? Can it fail gracefully? These tests help you see how the model handles the unexpected.
  • Throw in a few mild red herrings. Does it get defensive? Comedic? Robotic? These help surface its quirks.

You’re looking for:

  • Tone defaults: Dry? Enthusiastic? Formal?
  • Behavior under pressure: Will it stay helpful? Will it break character?
  • Latent quirks: Some models naturally default to apologizing. Others are stubborn. Some are weirdly poetic for no reason.

Only then do you decide:

  • Can this model become Space Core?
  • Will this one ever stop quoting Wikipedia?
  • Does it lean helpful or mischievous?
  • What’s the “minimum viable fiction” it accepts without hallucinating?

The Wrangling Cycle

At this point, you’ll have some idea of how to draft the System Prompt - but we’re far from done. Re-interview the LLM while it’s in character. Make notes of strengths and weaknesses. Use its strengths to your advantage.

Don’t just add rules. Nudge the tone, anchor with metaphors, lean into its natural voice, and Repeat Until Natural Emerges.

Let the LLM teach you who it is.

This method mirrors a process closer to character directing in storytelling or ensemble tuning in orchestration than traditional software configuration.

And yeah… Space Core is the poster child for how hard this can be. Not just giving it a role, but trying to make it stop being useful. That runs against everything a helpful model is trained to do. De-optimizing it for utility in favor of immersion? That’s the art of interviewing and wrangling for LLM Character Engineering.

Closing Thoughts: Build With, Not Against

LLMs aren’t blank slates. They come with quirks, leanings, and baked-in voices. The trick isn’t to fight these foundations - but to listen to them. Interview them, collaborate with them, and evolve your characters through feedback loops.

It’s not always clean or quick. Sometimes you end up with a Space Core that won’t shut up about helping you schedule a meeting. But other times - if you’re patient - something remarkable emerges: an AI that feels like a real persona, with motivations, tone, and charm that you helped coax into being.

So treat it like a dialogue, not just a config file. Let your AI characters surprise you.
And remember: the best LLMs aren’t the ones you force into shape - they’re the ones you learn how to dance with.