# `character.json`
- [trump](https://github.com/ai16z/eliza/blob/main/characters/trump.character.json)
- [Character File](https://hackmd.io/cgCOkTr-Q_2xjUpgC8VqZA)
- [Character Configuration File](https://hackmd.io/1hQ-oMEMSZm38FP34qI69w)
## "clients"
## "modelProvider"
## "voice"
## "people":
## "plugins"
## "system"
The system prompt
## "bio"
Any time the agent responds this is 5 of these are randomly included in the context. Helps create a lot of entropy. It creates enough randomness to not lock into a local minima.
## "lore"
Lore is the interesting backstory and other elements that are interesting about the character that may not be facts.
Bio & Lore kinda work in the same way.
It pulls random lore to give it some flavor. This is stuff that is interesting about the character that it can reference.
## "knowledge"
These are the things he knows about.
This is what your agent knows and recalls by search. It recalls the most relevant knowledge.
Knowledge is searchable. This can use retrieval augmented generation (RAG).
[folder2knowledge](https://github.com/ai16z/characterfile?tab=readme-ov-file#folder2knowledge)
## "messageExamples"
How should the agent speak? (snarky, or soft and sweet)
We want to show what the actual language of our chracters. How do they speak. Use this `user1` and `agentName` macros to show how the agent would respond in a conversation. It does not only have to be text. You can also include actions.
```json
{
"user": "{{user1}}",
"content": {
"text": "What happens in the deepest chambers?",
"action": "CONTINUE"
}
},
```
## "postExamples"
These are a lot simpler. The post is what the agent generate. The are the posts on Twitter. The agent will start to adopt this style. You can have thousands of these.
These examples will be referenced everytime it generates a new tweet.
[twitter-scraper-finetune](https://github.com/ai16z/twitter-scraper-finetune) can be used to get the tweets from an existing user.
## "topics"
The topics are the subject matter areas the agent is an expert in and what he likes to discuss.
## "style"
Styles are the most heavily weighted.
Style is the last part of your context. Styles are like directions that randomize the response. If you want things to be very consistent you should only have 10 in each. If you want them to be more creative you should have lots of directions.
The style directions should also be written in the voice of the character. Recommend instructing the agent to have very short responses so they do not get too wordy.
### "all"
### "chat"
### "post"
## "adjectives"
Can be used in different templates when we want to. This really helps with Mad Libs that can break out of the local minima.