pen-lineTips for Writing Bots for DeepSeek

I've had requests for more info on how I write my bots with DeepSeek in mind. They still work nicely with JLLM. I am by NO MEANS an expert in this, this is just my process.

Where to Write?

  • I work out to Google Docs to avoid risk of losing work if JAI goes down. It can sometimes roll back changes if you hit save and it had a blip. It's just not reliable enough, don't risk it. Write offline and paste your changes over.

How Many Tokens is Too Many?

You really do NOT need thousands of tokens for a bot. Keep it simple, concise, and compact. Start smaller and add if you find you need more nuance. I generally aim for under 1.5k permanent tokens to still be JLLM accessible but DeepSeek can handle more.

Do I Need a Lorebook?

  • 9/10 times, no, you don't. If you find your bot is going way over 2k tokens, or you're writing a ton of supporting characters, then it's time to consider a lorebook.

Basic Single Bot Personality Template

//* Any instructions for how the bot should be played can go here.*//

<charname (this part is only if you have instructions/lore)

>Basic Info
* Name: 
* Age: 
* Gender: 
* Character Archetype: Outer Perception / Deeper Identity
* Occupation:
(any other basic info about them, add as bullet points)

>Appearance:
* Item one
* Item two

>Personality:
* Item one
* Item two

>Goals:
* Item one
* Item two

>Fears:
* Item one
* Item two

>Opinions:
* Item one
* Item two

>Relationships:
* Item one
* Item two

>Speech and Language: 
* Item one
* Item two

>Sexual Behavior:
* Item one
* Item two

/charname> (this part is only if you have instructions/lore)

>Universe Lore: (not necessary only if you need extra info)
* Item one
* Item two

Multi-Bot Personality Template

Tips & Techniques I Use

  • Avoid writing in absolutes, or give nuance to different personality items to make characters feel more complicated; this also gives DeepSeek a lot more to think about when writing. Writing a character as just "smart" or "dominant" can make them feel really one note.

    • Example:

      • ❌ Character is intelligent.

      • ✅ Character is knowledgeable about x, y, z; lacks awareness/understanding of a, b, c.

    • Example:

      • ❌ Character is dominant.

      • ✅ Character tends to take a more dominant role, but defers to x/is curious about y/insecure about z.

  • Use each section of the personality info to flesh out who your character is— their relationships to other people give a lot of depth.

    • Consider: How do they feel about their family? Authority figures in their life? Exes, friends, siblings?

    • An example from one of my bots, Willow:

      • Vivi Callo: Fellow band member. Has a slightly effortless cool factor. Makes Willow feel a bit insecure unintentionally.

        • This is telling us about Willow's relationship to someone who's her equal in some ways, but makes her feel lesser. This gives DeepSeek clues about how to better play her personality.

  • Goals and Fears will do a lot of heavy lifting on personality nuance. Think about your own personal goals, your own personal fears when writing this. Basic motivations (staying alive, avoiding failure and rejection) are very surface level, but we can delve deeper into core needs.

    • For goals, some things to consider:

      • What does each goal tell us about their deepest motivations? Why do they hold this goal? What's important to them, what does it impact in their life? Where do they see themselves in 10 years? (interview ass question)

        • As an example, imagine we have a very cold and professional character. A goal for her might be to maintain her image and reputation. Build on it from there— what will her reputation gain her? Why is it important to her?

    • For fears, some things to consider:

      • Fears come FROM something. A core memory, something traumatic, the polar opposite of a goal, a personality trait taken to its logical limit.

      • Very often, fears might be very contradictory to the image someone presents. A confident and cocky character might be afraid of having their words taken out of context, or losing control of a narrative.

      • Fears can add comedy, relatability, and humanity. A chill and level headed character being terrified of spiders is humanizing and helps us empathize with them.

      • Fears can also serve as temperance for dangerous personality traits, or guardrails to keep roleplay more rooted in realism.

        • For example, imagine you're writing a character that's a bit of a sociopath. Handing DeepSeek a sociopath without fears will have no morals and no qualms about disobeying the law, and tearing things apart for their own amusement and goals. However, we can add fear of their personality being discovered, or fear of losing their status/reputation to make them take more subtle and careful actions.

  • Avoid repetition in personality facets unless they need to reinforce each other. Repeating trait words or describing a character as a certain way multiple times in the personality section will add a lot of emphasis to those traits, occasionally overpowering other traits beyond your intent.

Writing Opening Messages

  • User Agency starts from here. Never, ever, ever ever describe the user's actions or dialogue. However you treat the {user} character in the opening message will heavily influence how the LLM continues to treat the user. If you need to move the user around the scene for the opener, treat the user like a mannequin — only describe the environment reacting to them and what {char} can hear/see.

    • An example from one of my bots, Genna:

      • She could hear {{user}}’s shower turn on next to her, and turned her water slightly hotter, setting her teeth tightly.

        • I'm moving the user around in this scene that takes place in a locker room without describing what they're doing. Even this is a little risky and requires limited use, as it could set up the bot to infer user actions later. I wouldn't do this more than once in an opening message.

  • Offer the user a clear hook to engage at the end of the opening message. Very often, people won't know what they want to do with the roleplay when they first get dropped in (me, self report). Give them a direction, an action to complete, or something that will advance the story immediately.

  • Showcase the most important parts of the character's personality in the opening message.

  • Don't have the LLM write an opening message for you. Some guide writers recommend this as a shortcut, and I'm going to be honest— it's so obvious when people do this, and it hurts my heart. That human touch of your writing is the magic that will make a bot feel real.

    • Having an LLM enhance your opening message or correct grammar/phrasing isn't the end of the world. Just make sure when you read through it that it is clearly humanly written and avoids speech patterns and prose patterns that are too LLM typical. Otherwise, the bot will start sounding super stereotypical quickly.

    • If you're not confident in your writing, use the LLM's edits to your post as a tool to improve, not as a replacement for your work. You'll get consistently better, I promise.

  • Make the opening message a decent length. The length of the opener will affect the length and quality of the LLM's replies for a good 15-20 messages while it adjusts to the user. (On RPRF prompt, the LLM will typically adjust much faster.)

  • Drop the user right into the action of the plot. Don't start them off pre events of the story as the default opener. If you want to offer the option of more prequel openers, do that in an additional opening messages. The first message people have the option to use should put them in the thick of the central point of the bot as quickly as possible for engagement.

  • I'll add more as I think of em check back later lol <3

Last updated