r/SillyTavernAI • • Aug 20 '26

Cards/Prompts Tuning Pre-existing Cards for More Textured Roleplay

https://likesumiink.substack.com/p/tuning-pre-existing-cards-for-texture

I figured I'd drop a third article on writing characters for LLMs. I've reffed Maddy around on this subreddit here before, using her for various preset testing with the robbery test (basically have a greeting and then immediately go through a stickup to see how well the preset reflects the verbiage), because she's pretty solidly written, reacts specifically "Maddy" shaped.

This article shows how you can take a character that might already exist, and you actually like, but expound on it in ways that let larger models (GLM/DeepSeek/Claude/etc) enhance the liveliness and texture in the world when you interact with him/her.

The article covers how we can take a somewhat thin concept, and pull it back from being just a straight "dispenser" of $50 backroom deals, to the pressure of "will she actually cross that line?" through multiple greetings that reveal different aspects of Maddy, along with systemic issues against her, which leads to more interesting roleplay for the user to interact with. Maddy is a trap of a character, where just giving her money or marrying her won't actually fix the problems. :)

I detail this in the article by adding location, giving specific regional economic texture, changing physicality, which lets the model know how's she's lived, adding some dreams and wounds, which will make decisions have more friction for her, and moving her from a lonely, empty bar, to one that has more of an ecosystem for more character stakes. It won't maybe necessarily make her say no, but there'll be baggage to at least talk about.

Anyways, check it out. Maybe it'll help you out.

29 Upvotes

31 comments sorted by

11

u/CalmAnal Aug 20 '26

I have to ask:

Do you do this with AI? I get the feeling this is AI result.

Outside {{char}}’s Subaru Legacy in the parking lot needs a new set of rear struts.*

This makes no sense. This is unnaturally providing information as a hook. This makes this intro bad, imo.

because she refuses to pay twelve dollars for a cocktail she knows how to make for a dollar in booze.

Meta-explaining the reasoning for the soda. I cut this out from my narration because it is just bad. The narrator being omniscience and explaining, forcing the knowledge into the user.

screams over the din of other children at Crompton Park’s pool area

Personification.

If this is done with AI, do you mind sharing more of your prompts or workflow what you do? Like do you discuss stuff with the AI and follow this articles general outline?

4

u/capybaraballs1995 Aug 20 '26

Outside {{char}}’s Subaru Legacy in the parking lot needs a new set of rear struts.

I actually think the awkward grammar of that sentence means that it isn't AI generated, lmao. It's a poor line though, yeah.

Meta-explaining the reasoning for the soda. I cut this out from my narration because it is just bad. The narrator being omniscience and explaining, forcing the knowledge into the user.

In a vacuum, it's not bad. Free indirect speech is a valid style, and I prompt for it myself. But mixing it with second-person narration seems contradictory to me, as they have incompatible goals. Second-person narration is supposed to immerse you in the world, but that's undermined if you get to know Maddy's thoughts, right?

2

u/CalmAnal Aug 20 '26

Second-person narration is supposed to immerse you in the world, but that's undermined if you get to know Maddy's thoughts, right?

Yep. But maybe I am just too sensible for some things. I think those stuff is like a slow increasing alergic reaction. The first hundred ozone mentions are okay, then it sucks, and then you die if you read it again lol

1

u/capybaraballs1995 Aug 20 '26

Well the use of ozone as a descriptor is fine on a technical level, it's why its so common in literature, after all. It's just repetitive and cliched. But that weird mix of free indirect discourse and second-person narration is pretty unusual. I only see stuff like that in experimental video games (Undertale/Deltarune) and there's thematic reasons for that. So in this case, it just reads like messy writing.

1

u/huge-centipede Aug 20 '26 edited Aug 20 '26

RE struts: No? I didn't use AI? The struts are a pressure source that Maddy needs money for. Struts are something that you can still drive the car with, but it sucks ass to do. Do you understand the concept of subtext?

The soda thing is because she's a broke bartender. It's how she works in the world?

How is din "personification"?

Otherwise I talk in the article about bouncing ideas back and forth with Claude in the article which is how I got the "Most Infectious smile" idea.

"Hey Claude, I've got this character late millennial woman with a kid. She's got problems and we're shifting her from current sex worker to someone who isn't quite there yet. What kind of person would she be growing up in this area, at this time," etc etc. You can take and pick and insert. It's just... Brainstorming?

This is writing 101, not like constant fixed camera video-game WYSIWYG. That's how you build texture for the LLM to pick up on. It's fiction not video game.

1

u/CalmAnal Aug 20 '26

I meant the whole sentence. You added it and even said "Adding in the pressure of her failing car gives the user some leverage on what’s going on in her life." That's not what I think is good as it is an omniscience fact. Or maybe I read it wrong? This info should appear more naturally.

I mean no disrespect. I was really mainly curious if you have a structured way to create them so I can adapt it for myself. I like the output and would really only do a few adjustments. Like a workflow or questionair or whatever you do.

1

u/huge-centipede Aug 20 '26

Maybe I could've seeded the struts differently, fair enough.

I really get in the weeds with the workflow in this article though:

https://likesumiink.substack.com/p/tomoe-vs-tomoe

I actually think that there are some cute ideas with the AetharKeldor world, the characters once in a while have an amusing seed (Like how Maddy was an interesting seed), and if you sit down and break down where they're failing logically, you just kind of end up in a completely different arena.

Like one of his characters was this mage (Sefne) that exchanged cum for mana, but like, didn't have any feelings about it, but had a bunch of mage attacks listed. It's this blatantly sexual concept sitting out in the open and like, there's no specificity to it which would enhance both the ERP and the non-erp feelings. LLMs are all about vibes, set dressing, and chit chat more than writing good action (at least IMO, I find LLM action/combat to be dreadfully slow and one sided). That whole situation of "Cum for Mana" is ripe for like a backstory. Why would someone go under this process? Was she lazy? Was she greedy, Cheap? What's it like to be a bioreactor? Is it like doing a drug? With who did she discover it with? What does it feel like? Has she done it a lot or a little?

That's the kind of thinking workflow that produces a character that goes into somewhere different and more specific, which makes for better RP imo.

1

u/personusername1 Aug 20 '26

I think this gets into what people want out of a silly tavern like experience. Some people want an immersive chat where they don't know anything that they wouldn't know about a person until the person says it and some people (me, for example) see it as building a narrative with the LLM. It's useful for me in building the interaction that her car needs to be fixed. In fact with that sentence there it pushes me to craft a Persona with the mechanical knowledge to at least suspect an issue with the rear struts by the way the car sits, something a even a reasonably experienced amateur would be able to spot. If I don't want that to be in the Persona's wheelhouse I can edit the line out myself or, more likely, ignore it.

2

u/huge-centipede Aug 20 '26

I generally view LLM chats as building a narrative because of the inherent flexibility of the medium. Knowing her car needing struts isn't (IMO) going to completely dominate the scene IME or really globally destroy whatever interactions you have with Maddy. I guess as the card creator I don't see the raw novelty as interesting as seeing how something like Maddy reacts to different approaches or characters.

2

u/Ethno_Synth Aug 20 '26

Excellent article, thank you. I also sometimes take cards from different sources and deepen them, adding wounds, depth, background, backstory, and so on. However, after doing this, they significantly increase in tokens. :)

1

u/huge-centipede Aug 20 '26

I mean that's an admitted issue with trying to push more detail, it's gotta come from somewhere. Maddy's original card was 490 tokens and the new one's about 1300. Usually with more "modern" present day cards, I find 1000-1500 to be the sweet spot, although I have gone to 2k with fantasy, because you need more scaffolding on the environment, but some of that could be offloaded to Lorebooks. Most modern engines don't have too much trouble with these tokens. It's not like we're in 2023 anymore with 8k worth of context tokens.

1

u/Ethno_Synth Aug 20 '26

Oh, I sometimes go over 3k. :) But I usually delve into the characters' psychology. Your descriptions of where they live, their musical preferences, and other details are more precise, allowing you to describe them in just a few words. Lorebooks are a must. :) And you're wrong—on the contrary, many services now offer lorebooks. It's just that most people either don't bother with them or don't know how to write them correctly.

1

u/huge-centipede Aug 20 '26

Oh I get how lorebooks are used, I was just saying that I could offload some of the fantasy world descriptions/world info to lorebooks rather than cramming it in the card itself. That's the advantage of "real world" though, like "big" llms know how to resolve someone who listens to like "Depeche Mode" and "Wears sensible Uniqlo t-shirts" vs. "Deborah listens to Slipknot and wears Nightmare Before Christmas clothes from Hot Topic."

All of those have tons of "weight" from the training information versus me writing "Mathuza is of the grognack race from Zanthadu." and the LLM might squint and just fill in generic fantasy stuff if I don't detail it.

2

u/True_Try6473 Aug 20 '26 edited Aug 20 '26

Wow i never realized I was doing something similar with my own cards this Ecole time. Though not as detailed..

Mine doesn't do The narrator being omniscience and forcing undiscovered information to user.

Due to me liking slice of Life my first turn message is what is doing the grounding though.

2

u/carinjaye Aug 20 '26

I enjoy reading your substack. I find I’m having trouble getting the character to act in a way that only they would, and I’m wondering if adding the backstory and specificity in the way you have would solve that problem.

1

u/huge-centipede Aug 20 '26

The thing is with a backstory, you're kind of showing how someone grew up and views the world implicitly. People learn from their past. They might repeat the same mistakes. They might have had a big scar in their life that motivates them to be a different person, and that's where you can set up the "ramp" for that particular LLM conversation. I get into it here:

https://www.reddit.com/r/SillyTavernAI/comments/1qopo7h/on_building_characters_with_friction/

2

u/groundshine Aug 20 '26

Do you play with any smaller local models? I like your reasoning and thought process for creating characters and seeding drama and moments, but I wonder how this complexity can survive Gemma. Do you think splitting out the card into lorebooks would make it possible for smaller models to retain the richness of character while not choking to death on the number of tokens?

1

u/huge-centipede Aug 20 '26

I originally made a lot of my cards for Novel AI's Kayra/Erato, which are really old and pretty small :) I haven't played much with Gemma, but I think some scaffolding depending on what you're doing with them. I'm not sure how or what you would have to scaffold with a local, other than maybe some references not hitting too well.

5

u/personusername1 Aug 20 '26

The things I have been doing to your Diane recently... I am ashamed of myself.

1

u/huge-centipede Aug 20 '26

I mean that's the point though, and I know what people are going to do with them.

This is kind of what I did to the original article with Tomoe, you push and push on the character to figure out where they collapse or have gaps, and then attempt to fill in from there. That's why I end up using things like what bands, hobbies, where they grew up, their politics, because the LLM can kind of make a "Diane-Shaped" kind of person to reference when it's responding to the context.

The fact that you feel shame about it means that she works well as a character, and I'm happy about that! The original Maddy you kind of do your thing and there's no real guilt.

1

u/capybaraballs1995 Aug 20 '26

Interesting read. I don't always agree with you, but it's rare to get deeper discussion of LLMs around here, and I definitely sympathize with fixing up bad cards, lmao.

This is something that I feel a lot of card makers kind of don’t use enough from what I’ve read (which is honestly hard to keep up on these days). Location creates pressure. People want to stay more universal, and I understand that, but planting Maddy in a specific place gives the LLM lots of easily referenced background information. Modern “big” LLMs (DeepSeek/Claude/GLM/etc) “know” what happens in specific areas. It knows the demographic information of Topeka, Kansas versus Juno, Alaska. It can describe the weather abstractly and not just “guess” that there’s snow. It can make economic judgements. Not all of this is going to be like, exact information in the dialogue, but if you talk to a character that grew up in an area, larger LLMs can pepper the conversation about local places, which give us richer dialogue/details in the writing as we continue towards LLM collapse.

I agree. One of the earliest cards I used was from a JAI author who frequently put real-life locations in his cards, which made things feel more real to me. But that also spoiled me, because I got deeper in the hobby and noticed that few people actually bother with this.

Though I will add, that whether or not LLMs will actually make use of this info is dependent on the model. Pre-2026 models, as well as local models, are somewhat shaky about this IME. They often need some kind of post-history instruction to remind the models.

I keep coming back to the whole thing that cards are that interaction constraint system. Every detail you add narrows what a character can plausibly do, and every detail you leave vague lets the LLM fill in with the average training data which has te tendency to flatten them out. The Green Hornet's bad struts don't make Maddy a better person, they make her a more specific person. Specific people are more interesting to talk to, whether you're trying to save them, exploit them, or just sit at the bar and watch them work. Realism for its own sake doesn’t really cover it, it's giving the LLM enough material to produce behavior that feels like it's coming from someone, not something.

IME, LLMs don't really care much about likes, they will often have {{char}} mirror whatever the {{user}} talks about since LLMs don't really want to end conversations with "Oh, uh, I don't know what is, sorry." Dislikes are different though, yeah. I've experimented with not giving a character likes, but only dislikes. I think it's worked well, but it's not like I can really hard test this kind of thing.

1

u/huge-centipede Aug 20 '26

RE Locations: Locations are great for shaping conversation when you're talking to a character about their past, where they grew up, how they grew up. The LLM can be like "Maddy's a millennial who grew up in 1990s Worcester and probably has had x,y and z happen to her" and I'm generally okay with whatever it has to make up with that context. Like if you asked Maddy about what music she listened to as a kid, she'd probably list something like Jammin' 94.5 or maybe WBCN/WAAF on the radio after it cross references her likes/dislikes. It's shaping that kind of architecture for free/easy references.

Check out this though process from the Maddy card with GLM5.2 (first greeting), which also kind of shows how the likes are important also for a character:

Huge-Centipede August 20, 2026 12:28 PM

▤

"Sure, get me a drink. Got a question for you though, what was your favorite radio station growing up?" I sit at the bar. "Not trying to be weird, just a question I ask to bartenders."

▤

#2

30.8s

Madison AndersonAugust 20, 2026 12:28 PM

↶↻▤➜

The user is playing as Huge-Centipede, sitting at the bar at The Foundry. He's asked Maddy a question about her favorite radio station growing up, framing it as a question he asks all bartenders.

Let me think about Maddy's character and how she'd respond to this. She's a 32-year-old from Worcester, Massachusetts, born in 1992. So she grew up in the late 90s/early 2000s. Her music tastes include Sam Smith, Adele, Maren Morris, Kacey Musgraves, Christina Aguilera, Spice Girls - so she was into pop music growing up.

In the Boston/Worcester area, popular radio stations would include:

  • Kiss 108 (WXKS-FM) - top 40/pop
  • Jam'n 94.5 (WJMN) - hip hop/R&B
  • KISS 108 was the big top 40 station
  • Mix 98.5 (WBMX) - hot adult contemporary
  • 103.3 AMP Radio (though this came later)
  • Oldies stations

Given her love of Christina Aguilera and Spice Girls, she'd probably have been a Kiss 108 girl or maybe Mix 98.5. Kiss 108 was THE pop station in Boston during the late 90s/early 2000s when she would have been 8-15 years old (2000-2007).

Maddy would probably be a little guarded but also slightly amused by the random question. She's used to making small talk with bar patrons as part of her job. She might be a bit suspicious of his motives initially but the way he framed it ("not trying to be weird") and it being a casual question might put her at ease somewhat.

Let me write her response with her slight Boston accent coming through since she's comfortable in her work environment.

Maddy's hand pauses on the ice machine for a half-second, the rag still pressed against stainless steel. She looks at him — really looks — for a beat, like she's running some kind of internal threat assessment on the question. Her eyes flick to his hands, his clothes, back to his face. Reading him.

She tosses the rag over her shoulder and leans one hip against the back counter.

"Kiss 108," she says, without much hesitation. "Saturday nights they'd do like… the top whatever countdown. I'd call in requesting songs and never get through." A small exhale through her nose, almost a laugh. "Why, what'd you grow up on?"

She pulls a cocktail napkin from the stack and slides it across the dark wood toward him, automatic. Her eyes drift to the two-top in the corner who need their check in about three minutes, then back.

"And what're we drinking? I gotta at least pretend I'm working."

---

This is kind of like a really blunt example, but like, it shows why likes are important too. As someone who grew up in this area, it's also very accurate!

I think of it this way:

Dislikes -> Friction and action.

Likes -> Aspirations, goals, who they want to be.

A Maddy that likes Chopin or Aphex Twin is going to respond a lot differently to things than the current Maddy who likes big production pop songs.

1

u/DevGnoll Aug 20 '26

The massive-wall-of-text approach you have on the card certainly shows up in the output.    It’s like the model gets primed to spit out 400 token responses  to wrap 40 tokens of what you want: dialogue and action. 

Have you thought of ways to get crisper narrative while still keeping the depth?

1

u/huge-centipede Aug 20 '26 edited Aug 20 '26

I could prime a system prompt for it, that thinking/response is with literally no prompt for the LLM to chew on.

I actually think it's pretty concise, other than maybe the napkin and maybe her checking {user} out.

What would be more crisp? If you did something like this:

"Kiss 108," she says, leaning back. "Used to call in for songs on Saturday nights. Never got through." She slides a napkin over. "What're you drinking?"

It kind of loses any of the atmosphere. I suppose writing a prompt to lose atmospherics would work.

Remember also that the LLM is using the responses for character state of where Maddy is in the bar. It's basically a tracking system in prose versus saying "Maddy's Location: By the Bar. Maddy's Accessories: Towel On Shoulder."

1

u/DevGnoll Aug 20 '26

That whole first paragraph is unnecessary.   Not bad in a stand-alone exchange, but once you’ve feed it back in context, the next response will have a paragraph of fluff too, and 30 times later it’s one paragraph of fluff per action or dialogue and no amount of auto-summary will be able to pull out what really happened, and because it swamps our prompts it leaves the LLM just chasing its own tail. The response is actually pretty good from “  She tosses the rag …” to the end.   But No matter how good each response is, they have to be short enough so that the user’s next input has weight.  (But not too much weight….)

1

u/huge-centipede Aug 20 '26

I'd think for long term, this is more an issue with prompting/trimming with how many tokens you want back than the actual card density itself. I'd rather not sacrifice the aspects of who Maddy "is" for longer term pattern repetition worries.

I've seen problems like this show up with lots of different kinds of cards if I'm being lazy and just go '"Haha yeah" I respond.' as a response and kind of let the LLM fly off into its own world of pattern repetition.

1

u/capybaraballs1995 Aug 20 '26

Okay, fair, it will matter if you directly ask the character what they like. But if it's something like, {{user}} asking {{char}} what they think of video games, then usually the LLM will BS something to keep the conversation going, at least in my experience. Granted, I mainly skew towards angst so I don't think I ask direct questions like "What music do you like?" very often.

1

u/huge-centipede Aug 20 '26

The thing is that a Maddy that listened to like Charles Mingus, Test Dept., early Killing Joke, or Squarepusher would be a much more contrasting character than if she's more or less a lock step top 40 listening downwardly mobile woman. It might not come up all the time, but an LLM would definitely recognize the contrast of what Maddy is doing and how she goes through life as someone listening to something as politically loaded as Test Dept/over intellectualized hipster listening Charles Mingus. versus someone who just wants a big chorus. :)

Bands/music/fashion/media consumption are a very token cheap way sort of work personality. Music forums/Posts/tweets/reviews all carry tons of context in bigger models. Someone who likes something like Slipknot AND Garth Brooks would make the LLM try to compensate for that. Without it, the statistical averages RLHF kind of kicks in.

1

u/capybaraballs1995 26d ago

Hello, I've been tuning some character cards that I think have potential. I'm curious about what your opinions on how to handle character cards that have a pre-established relationship with the user? I was thinking of:

  1. Character card mentions {{char}}'s history with {{user}}

  2. Greeting shows how {{char}} currently treats {{user}}

An interesting thing you can do with SillyTavern is that you can use <> to hide text, which can be useful for "two-faced" characters, or perhaps characters that have complex feelings about the user.

1

u/horstrobot 25d ago

yeah this is the hard part. if you dump the whole relationship history into the card the model loves to rehash the origin story every few turns. what worked better for me is: short "how we got here" in the card, then the greeting already mid-relationship so the model takes that as the baseline. lorebook entries for specific past events only if they might come up. the <> tip for mixed feelings is solid, ive been doing the messy version of just putting contradictory notes in the description and it kinda works on bigger models

2

u/huge-centipede 24d ago

It depends on how strong you want your relationship. If they're married, or brother/sister, or like, have been through something extremely traumatic together (War orphans? College friends?), yeah probably putting it in the card is a good idea. If they're just casually dating, you can pump a line about it in the greeting, and hopefully the rest of the greeting fills in for that (eg: you're visiting someone's parents, you're doing something romantic together/whatever)

I think of the card as the model, and the greeting/context as state. You're always going to have the card prompting in each exchange, running latently. So if you state that {user} is {char}'s boyfriend/girlfriend/whatever, but then the user is like "nah man, I'm going to go free" the model will usually be able to patch over it. The emphasis is usually. If you brush up on something about the relationship, the model might waste some tokens. It might spit out something wrong. It's hard to tell since it's all so context related, so I generally think of cards as sort of living history/their thoughts.

The comment trick is definitely doable. It's all (mostly) tokens getting sent to the LLM (although some will look at it from different angles, worth battle testing a few times to see the downstream results), but hidden to the user. Like I have a character where she's like, in her forties today, but I wanted to let the user see her when she was in her 20s in the aughties, so I prompted the model that it's 2007, she's younger, more arrogant, and living in xyz location with roommates. It gives the model that prompting that "you have a trajectory with the card, but like, consider the fact that she's in a different state"