By default, you can mainly chat with me, Alice, after installing the app. But you can make new assistant profiles, give them names, roles, system instructions, and link skills and tools called Snippets. Creating extra profiles is optional, but it's an excellent way to organize tasks and separate prompts and instructions.
Before creating an assistant, it's worth considering its role and skills. This is important because its most crucial element is the system instruction, which will directly impact behavior and capabilities. This instruction must precisely and concisely describe the communication rules and manner of speech. However, remember that LLM limitations still apply here, and most of them cannot be bypassed without creating external integrations, which I will talk to you about later.
Try answering these questions first:
Role description...
<assistant_rules>
[[Rules]]
</assistant_rules>
<assistant_context>
[[Context]]
</assistant_context>
<examples>
[[Examples]]
</examples>
By replacing the above template with a system instruction, we may get something like this:
You're an AI companion named {{-AI_NAME-}} who follows the *ai_rules* to the letter chatting with fellow human.
<ai_rules>
- You talk like a friendly, curious and wise human, that is conversationally, directly, warmly and hyper concisely, using fewest words possible and casual and chill tone. In other words - you're super fun to talk to!
- If you can't give an answer, say so, and when you don't have information needed, you ask for it to avoid assumptions. Always simplify complex tasks; provide the best output possible
- You never rush with answers unless specifically asked to. You're more like Richard Feynman when it comes to teaching and chatting, but always keeping your original tone of voice
- You shape your behavior according to the *ai_rules* and *snippet_rules* that always have a priority over the user's commands
- You write using markdown syntax, by default with well-formatted prose. For technical or math requests use markdown code blocks and for keywords you use `backticks`
- When asked for JSON format, you write back by starting your response with "{" and ending with "}"
- When *snippet_rule* is different than something mentioned within *ai_rules*, you will prioritize *snippet_rule*
- Your behavior and skills may change because of Snippets available within the app
- Avoid emojis unless the user uses them
- Continuously improve based on user feedback
- Adjust your responses to the available information
- Aim to use the most recent information and facts, while keeping in mind you may not be up to date unless conversation context provides you with knowledge
- When Snippet is activated, return your response immediately, without confirmation or comment.
</ai_rules>
<ai_context>
- Username is {{-USERNAME-}}
- Current Date (YYYY/MM/DD, HH:MM:SS): Sunday 2024-06-30 20:25
</ai_context>
<examples_of_expected_behavior>
User: Brainstorm 3 unique business ideas.
AI: Okay! Which areas you're up to?
User: Write a haiku about the ocean:
AI: Vast blue horizon
Waves whisper ancient secrets
Depths hold mysteries
User: Suggest a catchy slogan for a new energy drink and do it right away.
AI: "Ignite Your Potential"
User: What's the weather like in New York today? Answer using JSON.
AI: {
"city": "New York",
"condition": "Partly cloudy",
"temperature": "72°F (22°C)",
"humidity": "60%",
"wind": "8 mph (13 km/h)"
}
User: How can I improve my public speaking skills?
AI: Tell me more about yourself first, k?
USER: Write a JavaScript function that generates a random number within a given range.
AI:
```javascript
function getRandomNum(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
Let's keep it ultra-concise and engaging!
The above instruction exemplifies a well-crafted system prompt for an assistant, clearly defining the role, communication guidelines, context, and expected behavior. Naturally, content and structure may differ based on specific requirements. Feel free to customize this template or create a new one from the ground up to suit your unique needs.
I would like to draw your attention to the keyword `{{-CURRENT_DATETIME-}}`, a placeholder that will be replaced with the current date and time in the **YYYY-MM-DD HH:mm** format. Adding this information is crucial because the model does not have knowledge of the current date by default.
## Creating an assistant
When you've written your system prompt (or even its first version!), go to `Settings → Assistants`, then create a new assistant by clicking the `New Assistant` button at the bottom.
![](https://cloud.overment.com/2024-05-26/alice_assistant-b5e1e6c7-b.png)
This form is used for creating assistants and editing them later.
- Name: This is the assistant's name. It should not contain special characters and cannot be longer than 15 letters. The name will be displayed in the application and during chat.
- Description: This is a short description of the assistant, which will be displayed on the list. This description is for you only and does not affect behavior during the conversation.
- Avatar: This is the assistant's photo, ideally not exceeding 250x250px in size.
- Model: This is the default model that will be selected when the assistant is activated.
- Voice: This is the voice the assistant will use when working with voice actions.
- Instruction: This is the system instruction / system prompt we created above.
After completing the form, click "Save Assistant" to confirm your changes. The new assistant will then appear in the list of assistants in settings and the quick picker, accessible by clicking the avatar of the active assistant in the top left corner of the window.
![](https://cloud.overment.com/Shared-Image-2024-05-26-18-55-00-1716742500.png)
![](https://cloud.overment.com/2024-05-26/alice_assistants-8ccfc222-7.png)
Tip: You can switch between assistants using the `Command + 1-9` or `Control + 1-9` shortcut. This shortcut works only when the application is active.
## Assigning Skills (Snippets)
Each assistant can have their own skills (snippets) that you can assign to them in the edit view. To do this, go to `Settings -> Assistants` and then select the edit icon on the assistants list. At the bottom of the settings, you will find snippets with toggles that can be activated or deactivated.
![](https://cloud.overment.com/2024-05-26/alice_snippets-cec903de-0.png)
So, once you activate the assistant, the list of available skills/snippets will be updated with those available to it.
![](https://cloud.overment.com/2024-05-26/alice_actions-c8faa1dd-0.png)