-
Notifications
You must be signed in to change notification settings - Fork 0
Home
The wiki documents my findings and observations attempting to condense World Info (WI) entries down as compact as possible, down to the last character. This is loosely based on the Futureman format, but it is a much more extreme version of corner cutting.
There is, in fact, not much to learn about the format itself. Most of this document instead focuses on educating players exactly how they can remove data and safely allow the AI to guess and make assumptions instead.
- What do you need?
- Strengths and Weaknesses
- Character example
- Explaining space removal and capitalization
- Example breakdown
- More character examples
- But what about...
- Location examples
- Author's note and setting information
- This format, like Futureman, is designed to work with EWIJSON.
- New here? What the heck is EWIJSON?! Head on over here for a quick guide to get setup.
-
Time. This format is tedious and time consuming. You'll need to have a token viewer handy.
- Due to the time investment, you could consider only using this format for your primary WIs, or WIs you recycle a lot. You can still mix this format with traditional futureman WIs just fine.
- Dragon model. This format relies on safe assumption, and Griffin is not as good as Dragon for this.
- It's primary strength is reducing WIs to as few characters as possible. This allows more characters to be reserved for the actual story content instead, and/or being able to trigger more WIs without overwhelming the memory.
- This format does not make any promises on being the most accurate or strongest of the formats. There is a balancing act between being accurate enough to not frustrate the user and conserving memory by cutting corners and dependence on safe assumption.
- This format normally does not concern itself with an overbearing amount of entity definition. It's more about pointing the AI in the right direction and letting it do its thing.
- Neither a strength nor a weakness, but full disclaimer: I primarily play in 3rd person mode, and only using story input (as opposed to Do or Say input), and with a 1.1 randomness. My bread and butter genre is high fantasy medieval in a world with a wide variety of colorful races.
This character is defined with 3 WIs, and each one will be explained word for word below. Our example character is an anthro avian named Cheeps. I chose this example because this race is not exactly mainstream, and the AI made a lot of frequent mistakes with it normally.
1/3: placed in the p=1 position, this is an ultra-brief WI just to establish the basics that would be more jarring to see incorrect.
< Cheeps♀AvianPink feathers>
2/3: the remainder of the character is defined here, placed at p=3 or 5 or 7 depending on their importance or difficulty (how hard it is for the AI to understand).
< Cheeps ≡ scatterbrainGreeneye slender BreastSmall& necklaceofbell She servant povertyin Wicklow>
3/3: their race, which can of course be recycled for any other characters using it.
<Avian ≡Beastkin tall featherbirdfolklongleg beak crest feathersinsteadhair Their arm ≡wingyet cannotfly>
This breakdown explains when spaces are removed, or when capitalization is done.
- The space before a word is removed...
- ...if the word does not get fragmented. Common words are 1 word = 1 token, but when you mash them together, they may get fragmented up into character clusters. This is just something you'll need to check in a token viewer. If the word is already multi-token by nature, and it does not get any more fragmented than it already is by removing the space, this is fine too.
- ...if the word is not the subject noun (for example Cheeps is the subject noun). This is to help with exact token ID matching to help the AI reference better. In most instances, the word would have a space before it.
- ...if the word is the subject noun, but it's more for internal reference than it for story use. For instance, Avian is more for internal reference, used by Cheeps' WI, than it is actually written in the story.
- ...if mashing two words together does not cause ambiguous confusion. Does the adjective apply to the word before it, or after it? Space or no space, either scenario is confusing to the AI and the adjective should be isolated from the wrong noun in some way (examples shown later).
- ...if the space is not following a comma. This tends to leak into the story.
- A word is capitalized...
- ...if the lowercase word would get fragmented, but not the uppercase form.
- ...if either form are fine, but the uppercase word proves to work better in testing.
- ...if the uppercase word does not get mistaken as being a proper noun in some way, revealed via testing. For example,
Graybeakwas frequently mistaken as being a name. - ...if you're repeating the subject noun through pronoun form, as if starting another sentence.
First is WI 1 of 3, defined at the p=1 slot.
< Cheeps♀AvianPink feathers>
- First, the encapsulation. Those familiar with futureman may already be aware of
<< >>>>encapsulation.- You can consider using futureman style encapsulation instead if you're encountering unusual amounts of leaking (meaning WI formatting style is leaking into story writing). Personally, when I encountered leaking, it typically happened when I was break testing as opposed to live testing.
- The odds of leaking increases the more WIs you have currently triggered, overwhelming the content. This can be countered with the [f] filter argument.
- More niche, I've seen the format leak when talking to characters whom intentionally have bad grammar.
- A leading space because it's the primary subject noun.
- The name itself. If you have the luxury of picking any name you'd like, try to pick one that is token-friendly. Here are some thoughts on this:
- If you use an irl name that's somewhat common, there's a good chance it may be a single token, and the corpus may already include gender bias to it. But it may also include some other undesirable biases, you never know. Single token names are very strong with keeping the AI's facts lined up.
- Single token names-that-aren't-names seem to work fairly well, especially for animals. For example Lumin or Snow.
- Names that are self descriptive of a trait (for example Snow having white fur) helps a bit, too.
- When it comes to multi-token names, I aim for two tokens if possible. But what's more important is token length. The more open to interpretation a fragmented token is, the worse.
- For example if a token splits up in such a way that one of the tokens is I or He or some other word, the AI could read this the wrong way.
- Single-letter tokens may sometimes be misunderstood as being typos.
- 3+ letter tokens (that aren't confusing words) are rather safe. In this example, Cheeps is Che + eps and there is practically no room for confusion.
- Even if you do everything "perfectly", there's a chance it may still mangle a name due to built-in repeat penalty, depending on how frequently it has been written.
- The gender symbol, attached directly to the name, no space. After using gender symbols for a few weeks, I've nothing but good things to say about them. But, some notes:
- Personally, I've only really encountered the AI getting female characters' gender mixed up, especially when using fantasy races that are male biased, such as more bestial creatures. I've noticed a marked improvement in keeping these outlying cases better respected since switching to the symbol.
- Non-binary symbols also work very well. If it's a herm you're after, ⚥ is all you need.
- Next, the race is defined. No leading space because our race WI also lacks a leading space.
- If the race was more of a central theme in the story, I may give it a leading space. But in general, generic entities or concepts are less sensitive to this than individual characters are.
- Next the primary integument color. Yes, color! Everyone's favorite and most frustrating topic for AID to mess up. With EWI, color issues are drastically reduced, but here are some key notes:
- The AI is very sensitive to distance weakening here. The pink feather here should be well respected, but the green eyes mentioned in the 2nd WI could be less accurate, but still drastically more accurate compared to normal WIs.
- The more colors you throw into description, the more likely you'll encounter contradictions. Ask yourself what is actually important to define and what you're okay with letting the AI just take a guess on.
- ...and also keep in mind, color testing is a trap. If you go out of your way to test colors, you may always walk away disappointed compared to how the AI will actually end up using the colors in real-world play. Most typically, the storytelling may only concern itself with eye color and primary integument color.
- Normally, having a color before the noun is stronger than having it follow. When the AI sees a color, it looks at the words on either side of it, and in some cases, the word beyond that as well. Try to ensure these surrounding words are safe, meaning they should either be colored, or a word that does not relate to colors.
- Finally, the integument itself, which is feathers for this character.
Next is WI 2 of 3, defined at the p=5 slot.
< Cheeps ≡ scatterbrainGreeneye slender BreastSmall& necklaceofbell She servant povertyin Wicklow>
- Encapsulation and already explained, so moving onto the Triple Bar
≡. We borrow this from the Catnip format and give it a leading space because the leading space version is only 1 token, and 2 tokens without.- This symbol means identical to
- Whereas futureman/caveman is more about a devolved form of prose, this format is more about listing out attributes in a particular order, only using grammatical words to aid when tests are faltering, as you'll see in later examples.
- The first attribute should be whatever is most important to you. The closer the attribute is to the subject noun, the more weight it will get. In this case, we wanted this character to be portrayed as comedic relief:
scatterbrain -
Green, capitalized in order to be a single token. -
eyeis written instead ofeyes. Shaving off every character we can, we always use shorter variants of words if we can get away with it, drawing on the strength of dragon's understanding to rewrite this properly when actually used.- Sometimes you need eyes, plural, depending on what the token viewer shows you.
- While thin and slim would have been less characters than
slender, this word demonstrated more likeable descriptions that I was going for, when testing. In fact, this word is arguably the strongest word in the WI as far as what a general description will write. -
BreastSmall. No this doc is not meant to be NSFW orientated, but this example was left here to talk about the subject of bias. Female characters whom find themselves in even the slightest level adult situations are often depicted as having big breasts. You can thank the internet for that. This bias is so strong that traditional WIs seem to go ignored trying to fight it. With EWI's reduced distance penalty, it can counter this. - The
&is used to separateSmallfrom being applied to the necklace. -
necklaceofbellis an odd one. You'd think bell necklace would work better, but flipping it around showed stronger results in testing.- You can sometimes get away with not needing to write
wearor any helper words like that. If the AI sees something wearable, it knows what to do with it. Sometimes. Just something you need to test for.
- You can sometimes get away with not needing to write
-
Shewith a leading space because we're pretending like we're starting a new sentence here. You can only slap so many attributes onto a subject noun before you need to drop a pronoun to refresh the AI on who/what it is you're even talking about. If you start seeing stuff in the back of your WI going ignored, it may need one of these. -
servanther job. We draw on the power of assumption here, as you don't need to actually write occupation or works because if the AI sees something job-like, it often knows what to do with it.- ...but not always. Some jobs are stronger than others. If you find it's going ignored, you may need to add those helper words.
- ...or try another word for the job. Before I had maid but wasn't nearly as strong as servant.
- ...but not always. Some jobs are stronger than others. If you find it's going ignored, you may need to add those helper words.
-
povertyin Wicklowboth specifies a social class and implies where she lives.- Like before, some words are stronger than others. Before, I had poor or ispoor, but testing showed the AI paid more attention to poverty.
Next is WI 3 of 3, also at the p=5 slot.
As for key triggering, the race WI would not actually trigger along with Cheeps being first mentioned (unless her race is also mentioned). Luckily, avian is self descriptive enough that the AI can usually wing it (get it???) ...Usually, the narrative will always mention the race of high fantasy characters right off the bat, though, so the next output should at least have this WI moving forward. If you have a more unusual race that that AI couldn't possibly guess, you'll need to adjust your keys so that it gets triggered along with the name.
<Avian ≡Beastkin tall featherbirdfolklongleg beak crest feathersinsteadhair Their arm ≡wingyet cannotfly>
- The space before the race name was removed for nuanced reasons explained above. Consider adding the space back if you suspect the WI accuracy is not working as well as it should be.
- Beastkin is a species category. This is a self-describing word that the Dragon model seems to understand. I do have a WI for it though:
<BeastkinCategoryofspeciesanimal folk>at p=7 just for a bit of extra help, but it works fine without it. -
tall featherbirdfolklongleg beak crestall pretty self explanatory... -
feathersinsteadhairis of special note. The AI loves giving head hair to anything sentient. The power of instead is pretty good at steering it in another direction compared to trying to use negation trickery.- That said, it still gets it wrong sometimes, but this method shows a big improvement. Still looking into more, compact reliable methods...
- Much like the She pronoun in the previous WI,
Theiracts as a new sentence starter. -
arms ≡wingsyet cannotflythis is an example of trying to fight a very strong bias. When the AI sees birds/wings, it immediately thinks of flying. It took me hours of trial and error testing out different methods to come up with something that respected the concept of flightless wings.
< Mark♂Humanredhair tattooslean brazen wittySword He Adventure Guildmember>
For simple characters like male humans, you don't need nearly as much. This WI is way up at p=7 and works well. If I were to define more colors, I may have needed to split it up, but as it stands, I've almost never seen it get the hair color wrong for this character.
< Pikpok♀koboldWhite scalesbigredeye talks thirdpersonbad grammar>
< Pikpok adult opportunist workshard hornsinsteadhair loincloth oversizedcrossbow hatescold>
Here's a kobold, the first line at p=1 and the second at p=5. We don't even need a race WI this time, as the corpus already has enough information on these little lizard bastards to know what it is I'm talking about.
After much testing, talks thirdpersonbad grammar was a compact way of getting the AI to intentionally write bad grammar, as if this kobold does not speak Common very well.
Normally, you don't need to bother writing adult. However, since kobolds are depicted as being a small race, the word little is often written, and this can spiral into the AI thinking this character is anything but an adult.
< Lumin♀wyvernBluefriendly cannotspeakinsteadbodylanguage>
<wyvern quadruped exoticanimal>
Two entries, first one at p=1, second one p=5. This time the species is written lowercase since it tokenizes better.
Since wyverns are overwhelmingly hostile in the model's training, we move the friendly attribute all the way to the bottom. As well, this is a dragon of the non-speaking variety. Because the AI just loves to have creatures join in on conversation, we also move cannotspeakinsteadbodylanguage to the bottom.
Because dragons are so strongly associated with a color, simply writing Blue is good enough for it to know you mean scale color.
The species entry is optional. In this scenario, it was added because the AI often struggles to understand which species should behave like feral animals, and which ones are upright, civilized bipeds... at least that is the case when you mix a lot of high fantasy, animal-inspired races in one scene.
< Sasna♀NagaBlue scales eyesredsibilant ShetalklikeSnake ≡"Ssspeakss like thisss yess">
< Sasna ≡ mercenarysevere intimidating hates jokesreclusive She wear scale mail poleaxe>
<Naga ≡Beastkinlongtailinsteadof legs slithering Cobraheadhood abhorcold>
A 3-part character, much like the Cheeps example, defined at p=1, and the other two at p=5. This character is well depicted as a fully-scaled, monstery looking snake race.
The p=1 entry is a bit longer than normal in order to enforce sssnake ssspeak, as the AI is resistant to spelling words verbatim (spelled as they sound). The specific quote you use should be something they wouldn't often say (or otherwise they'll often say it), but rather just something they could say.
Unlike other examples, the eye color trails the noun instead of proceeds. This was to distance the color from scales. But it seems to work fine, possibly because the AI likes to give monstery races red eyes regardless of your instructions.
See any critical information missing from the above character examples? I'll go over a few:
- Relationship information. WIP
- Age WIP
- Measurements WIP
At the moment, there hasn't been any experiments with highly instructive locations. But this format allows compact ways of defining a general premise. Some examples:
< Wicklow ≡wall coastTownhub meltpotBeastkin&human inequality It ruledby monarchy Adventure Guild>
A well tested WI that also demonstrates some corner cutting using shorter words. A helper word was needed for the monarchy part.
Wicklow is a walled town located on the northeastern coast of the empire. The town is located right along the water, and is primarily filled with humans. There's a wealth inequality here, with the majority of the poorer population consisting of beastkin. It has a large port for trade with the rest of the empire. The town is ruled by a local king, who is appointed and controlled by the empire.
< Mount Morstone betterknownas'Harpy Heights' ≡cold outskirts mineralrich>
This demonstrates a method for setting an alias. Returns something like:
Mount Morstone, better known as 'Harpy Heights', is one of the many mountain ranges running throughout the Empire's borders. While most ranges are barren and rocky all the way through, Morstone is rich in precious metals and minerals.
Featherlite can do everything the Author Note feature can do, but with fewer characters. In it's most basic form, you'd write a new WI with the key .*#[p=3] with the entry as:
<AuthorNote: whatever you would normally put in your AN>
But AuthorNote is not the be-all-end-all of meta information tagging. There are other ideas.
For instance, .*#[p=6] with this entry is a compact way to denote the time and weather.
<now noonRain>
You can use this method to lock the genre and overarching behavior, key .*#[p=9], entry:
<Setting ≡high fantasy medieval Roxil Empire peaceculture>
- MOVED: NAI-Featherlite
- The Featherlite format
- Community resources
- Acknowledgements