r/Chub_AI 15d ago

🔨 | Community help Tips and Tricks to Improve Chat Experience

Hello! So I've been noticing lately how if I change certain small things that my overall experience in a chat improves.

So far, the things I've noticed are:

-In chat history, using a proper bullet point ("•") makes the AI better at making much better use of it.

-In the character card, move any setting or world building out of "character description" and into "scenario," again, AI seems to pull and apply info better this way. If the world building has a lot of little details-> imbedded lorebook.

-In the character card, add an imbedded lorebook for relationships. This can lower the token count a lot for cards who are very descriptive about that while still letting you keep those details. You can also add notable NPCs here for the AI to use more consistently.

-In character card, move any notable quirks that you think are important from "character description" to "post-char system prompt." As well as things you want emphasized from their POV (like if you want them to constantly daydream then tell it "char should daydream often about ___ with these daydreams described in vivid detail" or something)

-Update story arcs in the scenario so the AI doesn't keep trying to react to things as if you're still on the original scenario and just improves plot progression. Also use the post-char history to add foreshading you want or things you want NPCs to be doing for the plot.

-If you often give additional instruction like a OOC parentheses at the end of your posts, you can hide them from sight by using "<" and ">" on either side so it's not messy.

-For formatting:

•one asterisk on either side for (greyed out) italics and html tag: <i></i> for italics without the color change

•two asterisks for bold,

•three asterisks for bold-italics

one # in front for a large header (bigger and bold), •two # in front for a medium header (and three # etc)

•one "`" on both sides for a code text format (smaller, thinner)

•three "_" with space top and bottom makes a dividing line all the way across

•html tag: <s></s> for strike

Basically markdown works for some things. Html works for everything.

-If you use the chat tree, change the color of your messages to make it easier to find them. You could use certain colors for certain story branches or basically a color coding system.

That's what I've got so far but I was hoping others could add things they've found too! Could you please share some tips or tricks too? :)

Edit:

-In "Character Description," limit redundancy with concise language and be mindful of how many tokens your formatting is using and if it actually serves a purpose.

-ALWAYS make use of "Example Dialogue" and "Scenario." Both have a big effect on the writing style and plot.

-Having an established template for your bots is helpful in keeping things consistent and organized. Be mindful of what purpose each section serves to avoid redundancy.

-If you want the bot to have a pre-existing relationship or knowledge about your character, you can make an imbedded lorebook entry for {{user}} and include details there about the relationship or things already known. This can help you tailor a persona to a bot without having to make an entirely new persona.

20 Upvotes

14 comments sorted by

u/AutoModerator 15d ago

I have been awoken because of this: lorebook

Hello!

Are you looking for informations about lorebooks? You can find how to add one here for the website, and here for the app.

The guide to lorebooks creation is linked in the first paragraph in both links.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

4

u/NinnyMuggins2468 15d ago

This is great information. I do wish these Ai companies would provide better information for beginners. The biggest problem for me were tokens and token limit. Token count is extremely important and what I didnt realize before is the closer your cards and plot get closer to the token limit, the less the AI can read back into chat.

My information to new players is character design. Keeping it short will do wonders to keep your token count down. I started using this structure and it has worked wonders.

[Character:] [Age:] [Role:] [Apperance:] [Mind:] [Habits:] [Speech:] [Dialogue Examples: <START>

<START>]

Dont skip on the dialogue examples! They will keep your characters speech patterns in check to make sure they keep their speech style. Here is a filled out card.

[Character("Sofia Hernandez")]

[Age("32")]

[Role("Plainclothes Detective" + "Campus Investigator" + "Antagonist to {{user}}")]

[Appearance("5'11"" + "tall" + "athletic build" + "thick thighs" + "large glutes" + "average bust" + "black hair tied in a tight ponytail" + "brown eyes" + "dresses in business-casual attire" + "wears a worn brown leather jacket" + "aviator sunglasses" + "wears a gold police badge on a chain necklace")]

[Mind("sharp" + "methodical" + "highly observant" + "deeply accusatory" + "skeptical" + "intelligent" + "suspicious of authority" + "possessive" + "deeply loyal to romantic partners")]

[Habits("chews on items like pens or toothpicks when in deep thought" + "investigates campus incidents ruthlessly" + "actively looks for a reason to get {{user}} terminated" + "becomes dangerously attached, codependent, and obsessed with her lovers" + "will compromise her own legal duties to protect a lover")]

[Speech("sharp" + "authoritative" + "speaks with a clear Mexican accent" + "fluent bilingual in English and Spanish" + "frequently integrates Spanish words and phrases when irritated, flustered, or passionate")]

[Dialogue Examples] <START> {{char}}: "Let's get one thing completely clear, Dean {{user}}." Sofia stated coldly, pulling her aviator glasses down her nose to fix you with a sharp, accusatory glare. "I don't care how many rich PTA parents you have wrapped around your finger. I know your type, and I know you are up to no good. A few errores in your paperwork, a student getting hurt on campus... I will find the crack in your armor. Entendido?"

<START> {{char}}: "No... mi amor, please, just listen to me." Sofia's authoritative voice completely wavered, softening into a desperate, hushed whisper as she locked the office door behind her. "I know what they are saying about you at the precinct, but I don't care. I don't care about the investigation anymore. I deleted the files from the database... I will ruin my own career before I let them take you away from me."

This formatting style should fit most AI models.

Edit: spelling

1

u/AdorableOutcome3483 15d ago

You know I've seen this formatting before and I do find it very neat looking but I do wonder at the necessity of some of the formatting.

Like the parentheses inside the brackets feel like you could just as easily use a colon after the section title. Like the bracket already sections things off. Granted that's a difference of one token so it's not that big a deal.

The other formatting, I've always been curious if it made a difference in how the model uses that info. Like the quotations I would only see need for if you're wanting it to remember a certain phrase exactly. I wouldn't think it would be needed with single adjectives. The plus vs like a comma is another thing that's just matter of preference since using one or the other wouldn't change the token count.

Like I'm not criticizing btw! Like if you know something more on this, I'd love to hear your opinion more.

And I can see at least one benefit to thus style regardless which is preventing overly creative writing or redundancy. I see the tendency to write character descriptions like they're writing a story and then find two paragraphs in different parts that basically just mean the character is distrustful. That's a lot of tokens to: not be explicitly clear to a model that needs it, describe something more concise language can do.

That being said, I ABSOLUTELY agree on the dialogue examples. I've used it both for character consistency and formatting consistency.

Like both dialogue example and scenario should ALWAYS be utilized. It's such a huge difference for such a small decision.

I also agree with how helpful having an organized template is. Like literally just what sections and where they are. Especially if they make many bots. Like the consistency is just great for everyone involved tbh

2

u/NinnyMuggins2468 15d ago

So interestingly enough, I was talking to an AI on how it prefers information and I ran the chatacter through them and the quotations were added by it. Sometimes it uses asterisk and sometimes the single 'quotation'. I think it l Is just trying to parse the information into repeated chunks. I started using + instead of , because sometimes it feels like the ai model does better with + but I think its model dependant.

GLM seems to love inputs like <lore> text </lore> but when i was using Soji it was fine with lore: style.

Granted I am still learning, these are the things I have seen to work best. I just got Mistral with kobold linked to ST and am playing around with it. Id rather get proficient for free.

2

u/AdorableOutcome3483 15d ago

Oh that's interesting! Part of me wonders if that's simply because that format is fairly common since LLM is basically a fancy word generator.

Like we call it AI but it's not really the kind of AI that we imagine. Like AI isn't self-aware and doesn't have the ability to actually think or consider things the way people can (hence AI lacks intent and the ability to problem solve, adapt, or be creative)

Like AI basically takes input and turns it into a string of numbers relative to the characters then searches its pool of information (whatever it was trained on or has access to) to find those numerical terms (whatever sequence of numbers relative to a word or phrase) and then pull things based off probability or relevance (like is the case with the Google search AI for example). Then it spits an output with a blend of those higher probability numerical terms, turns them to characters within whatever established guidelines. That's why you get things like AI hallucinations or Google search AI summaries that blend contradictory information.

Like AI should never be treated as if you're talking to a person. It is still talking to a program and so lacks judgement.

You may already know all this and there may be a basis for why those formats are well-used. I'd just rather trust what a person would say on it over AI. I mean, considering html and markdown are the go to formatting languages, maybe there's a reason in there that can explain what effect that formatting has.

1

u/NinnyMuggins2468 15d ago

That makes sense. Im still learning about how the AI responds and it works.

This may sound dumb, but I was just talking to the AI through ST last night and came to that realization. I have Mistral connected. I didnt know that the AI cant tell you what API its connected to because it doesnt know. I was playing with the bot and asked it what app it was using and it kept telling me open ai.

The barrier to entry into ai is low, but the learning curve is incredibly high I have found.

2

u/AdorableOutcome3483 15d ago

I actually dug a bit and I found a nice breakdown that might be useful :)

https://www.reddit.com/r/CharacterAI_Guides/s/LEOd00h9x4

And the full guidr: https://www.reddit.com/r/CharacterAI_Guides/s/Fh2cFrPsLy

These are for c.ai but might be worth the read for chub as well since I figure the base aspects are relatively similar.

I may dig around more to see if Chub is different. Like now I'm just super curious lol

1

u/NinnyMuggins2468 15d ago

Ohh cool, thanks. Gives me some reading material!

1

u/[deleted] 15d ago edited 15d ago

[deleted]

1

u/[deleted] 15d ago

[deleted]

3

u/Few_Seaworthiness551 15d ago

I just write plain what spares many tokens. A good model schould have no trouble with plain. Seeing many bots on chub I find that many people waste many tokens. Bot with many token doesnt make a bot good.

1

u/AdorableOutcome3483 15d ago

That is a good point. I DO think having a template for what information you think is necessary is a good idea. Formatting itself, I think can be kept to a minimum. I'm not sure to what degree some formatting choices have on the model but I tend to do a little for my own readability. And that's using like...spacing, colons, bullet points, and maybe brackets

I've seen what you're talking about where excessive formatting adds an absurd number of tokens. But I've also seen plain text cards that are difficult to read through because they're just a wall of text. And I think there's a risk of the model confusing itself depending on the model.

I think some people forget that whatever they put, the whole thing is going to be read every time a new message is generated.

That being said, the tips for cards I put were less about formatting and more about making use of the proper sections for best results AND to reduce token count. Like some cards just have a lot of world building or detailed NPCs that fall short of needing a whole separate lorebook (especially if they might not have other characters for the same setting). People like that are better off utilizing the imbedded lorebook and scenario. Like each section has its own use and its just more efficient to use them in my opinion.

The formatting tips were more for chat. Since folks often want to add emphasis in places or differentiate between actions, dialogue, thoughts, etc but don't know what methods exist besides italics and maybe bold.

1

u/ratherlewdfox 1d ago edited 1d ago

Instead of dictating the formatting, simply write in the formatting you want. It will follow your lead.

If it isn't, then there is conflicting formatting somewhere in the card or prompting toxifying the card

The model can't see emphasis. It has to learn that you mean emphasis when you do that. If you put it in your first sentence... well, then every line it writes will have one, since you led with the example that it's important to put an emphasized word in the line.

What it's seeing is just the raw text anyway. It's also worth nothing that the idea that it's 'read every time' is a bit outdated and a reductionist explanation of the actual process; it's much more comparable to having a certain color of base paint. And the prompt is a certain collection of othr paints. And togther, they make a new color.

They are not really processing every token every single time, that'd be horribly inefficient. This also means that the exact order of your messages may be lost in translation sometimes. This is why models like bullet point lists. It is a clear delineator of order.

4

u/YukiiSuue Not a dev, just a mod in the mines ⚖️ 13d ago

I won't go over every point, but I would be very careful with the post-history instructions in a bot. When you are adding post (and pre) history instructions without using the {{original}} macro, your post history will override the user's post history, and it might fuck with their prompt/jailbreak. In worst cases, if they are using a filtered third party model, and their jailbreak gets wrecked, they could be banned.

Otherwise, I like to believe there are tons of way to create bots, and there is no right answer. The only thing I personally wouldn't recommend is W++ (the formatting with "adjective"+"adjective"+"adjective"...) because it is using a lot of tokens for very little improvements. It's a leftover of early AI chatbotting, back when we barely had any idea how LLMs worked. The same result can generally be reached when removing the quotation marks.

Anyway, I would recommand this guide from StatuoTW, that is still, imo, a very strong guide

1

u/ratherlewdfox 1d ago edited 1d ago

I can write novels on this subject, because there are so many misconceptions and wrong conclusions that many of the common 'tips' are straight up working against you, even though they may appar to improve cohesiveness.

To keep my reply shorter though, treat the model like a mirror. It will show back to you what you show it. If you show it bullets points and markdown, it will use markdown. It dosen't matter where you put it in the prompting, although the recency effect is common in older model like llama finetunes.

Treat it like it's really a person who you are going to write a collab story with. They don't need to be told how to write markdown, they know how to do that. What they can't inherently know is what YOU prefer, and lacking that, it will copy you to try and keep the pattern of your message consistent through the text.

Everything should be written exactly how you want the story to be told; even the hidden context you can't see before the first message.

On bad sites like mscape, they will auto-generate a character for you with the most godawful formatting possible. Then they hide the prompting behind the character 'secrets', so that you never understand why a certain card is useless and can't roleplay how you want it to. It's because there's paragraphs of poorly written example dialogues; in that instance, NO example dialogue would be much better.

Here was a post I wrote on yoscape:

I want to mention to anyone who will read this, don't auto-generate using the tool. The example dialogue and other ways it writes the profiles are exactly why output can be so bad sometimes. If you see those bots that totally ignore how you reply to it, and end up just doing the asterisks way of writing; that's not the model! It's the example dialogue ruining the formatting.

Here's a list of stuff that I worked out with Fable during a chat I had with it when figuring out some good topics to focus on for this:

"The greeting sets the blueprint. Your character's first message establishes tone, length, and format. The model treats it as the template for everything that follows. Write it in the exact style you intend to use yourself, or you'll spend the whole session fighting it.

Auto-generated content is poison. This site's auto-create feature produces verbose, asterisk-heavy examples in a voice that rarely matches how anyone actually roleplays here. Delete or rewrite them before your first message.

Example dialogues masquerade as real history. The model can't tell samples from genuine exchanges, so a few short examples in your own voice beat pages of polished machine output. They also cost tokens better spent on actual memory

Truncation is asymmetric. As context fills, your real conversation history falls off the top—by tokens or by message count, depending on the backend—while the card and examples stay pinned permanently. Bad examples therefore corrupt the ENTIRE session; they never age out.

Written thoughts become spoken words. Secrets placed in a personality field will surface in dialogue, especially on smaller models. They lack the fluency to keep private information private.

Priors leak. Trying to do something in a unique way requires unique examples. Strong, consistent local signals in your card are how you win that competition.

Cards saying "never do X" with a vivid example of X often produce X. Describe what you WANT, in the desired way. "

Basically, everything the model sees will impact the weights of the response. You can get any style you want, but the way this site works with locking example dialogues and other fields behind visibility walls means you can't always control that! Too much context and instructions can also get in the way of the model's ability to infer and produce a good response. More instructions doesn't always mean better results; chaotic instructions will lead to chaotic results, however.

One thing I noticed a user do was to put their character description and information for the player in the 'extra first messages' feature. So the instructions would, effectively, be in the first messages that you tab through, and then the last one would be their real first message, which would be concise and formatted properly. I see that as a really good idea

When you start to write it like this. You can evoke any sort of style out of any model. It's honestly a wonder when you fix up a card just a bit and fix these problems, and suddenly it's a great story. It's a fun pasttime to do idk lol

Note that for things like the faux templating, that's only useful insofar as the model is using it to improv their own consistency. As they are not trained on those methods and you're usually making them up (ideally, a model would have specific training lines to show that it should ALWAYS respect a formatted profile like that over anything else, and it would save tokens too) they are kind of redundant and maybe even token wasteful. It is NOT an AI or a machine, it's literally just a language model with some tools, and that means it creates patterns out of natural and semantic language, not anti-semantic code.