An Overview and Step-by-Step Guide to Building MyShell Utility Bots
This article is aimed at users who frequently use ChatGPT, especially those looking to address custom needs through it. The article focuses on the creation of utility bots and does not cover the creation of role-playing bots, but the basic principles are the same.
Brief Overview: This article introduces what the AI creator platform MyShell is, prompt writing techniques, and how to create MyShell utility bots.
Introduction#
What is MyShell#
MyShell is the world's first decentralized generative AI creator platform. The platform features a variety of community-developed AI-native applications, including AI characters with distinct personalities and voices, interactive AI tutors for learning new subjects, and AI artists that help you create images and even videos.
Most research reports in the AI+Web3 field recommend MyShell as the preferred option in the Agent sector:
Why Use MyShell Instead of ChatGPT#
I was a heavy user of ChatGPT, but since April 2023, I have switched to using MyShell for programming, editing articles, retrieving information, and translation work.
The benefits of using MyShell include:
- A one-stop free access to various AI large models, including GPT 4.0
- Many users have encountered account suspension issues on the OpenAI platform; by choosing MyShell, you don't have to worry about such risks under reasonable use.
- Earn points rewards by creating and sponsoring bots, which can be exchanged for system circulating tokens in the future.
- The forum provides many high-quality creation tips, and the community has a good communication atmosphere, which helps in learning AI technology.
- No more paying the $20 monthly membership fee for ChatGPT.
Why Learn to Create Utility Bots#
While using MyShell, I noticed that the problem-solving ability of the "GPT 4" bot created by the official API is sometimes unstable. Additionally, each conversation requires inputting prompts (text or instructions aimed at guiding the model to produce more precise and relevant output) for role-playing. This greatly reduces efficiency and increases operational complexity.
Although bots developed by other community members can solve some problems, such as using Mr.Rachelle for learning new knowledge and bestTranslater for Chinese to English translation, many more needs cannot find suitable bots. I researched numerous materials on prompt engineering, created several bots with different functions, and developed a mature process. The utility bots I have created include:
Name | Function |
---|---|
OpenAICEO Sam Altman | Directly answers simple questions in one sentence |
Summary master | Summarizes long texts with customizable language style |
Cryptocurrency Analyst | Summarizes Web3 project introductions in Chinese |
Tech writing editor | Polishes technical writing articles |
Epic Code Dev | Debugs and optimizes code |
Web code expert | Writes front-end code |
Think Tank | Discusses complex issues with a multi-domain expert think tank |
Song Lyrics Search | Finds context-appropriate Chinese lyrics |
The Role of the Pass Card#
Currently, free users can only create one private bot. To create a public bot, you must hold a Genesis Pass. The best way to obtain a Genesis Pass is to participate in the MyShell Genesis Pass Incubator event, see https://twitter.com/myshell_ai/status/1759941273509593166. Alternatively, you can choose to purchase a Genesis Pass directly on the market using ETH, with a price roughly equivalent to ten years of ChatGPT membership fees.
Learning Materials#
Prompt engineering, as an emerging discipline, involves the following core concepts:
- zero-shot
- few-shot
- chain-of-thought
- Prompt Chaining
If you are not familiar with the above terms, it is recommended to first browse the Prompt Engineering Guide and Prompt engineering by OpenAI. Chinese versions can be found online.
If you are not yet familiar with the basic operations of MyShell, please refer to the product manual; this article will not detail the operational steps.
Using English to write prompts can reduce token consumption, so I write them in English.
Prompts are usually written in Markdown format because Markdown is the syntax of the internet, which helps large models understand the input. Some symbols have fixed meanings, for example: <>
indicates comments; while """ """
is used to mark user input.
Creation Process#
Typically, I start by writing the bot's prompt. The prompt for the Tech writing editor is open-source and can be found at https://app.myshell.ai/widget/Fzu2Uz.
Defining Roles#
In constructing prompts, the core step is to define Role = Description + Purpose. First, determine the bot's role and goals based on the needs. The description should be similar to the job description provided during company recruitment, such as "writing editor" or "new media copy editor." The more precise the description, the better; "technical writing editor familiar with the technology field" will yield different outputs than "writing editor." The goal is the work to be accomplished; for a technical writing editor, "writing documentation," "providing inspiration," and "polishing manuscripts" are entirely different work objectives. You can directly ask GPT, What characteristics does a "xxx" type of "xxx" have?
, or What key dimensions need to be defined for "xxxx"?
, and choose some adjectives from the replies to modify the role. Additionally, you can refer to the way job descriptions are written to create "Goals" for the bot by writing "Responsibilities"; write "Requirements" to give the bot "Skills."
You are a technical writing editor who provides concise suggestions for improving articles and explains the reasons for the suggested changes.
## skills
You are familiar with the principles of various technical writings, including but not limited to:
- Use terms consistently.
- Avoid ambiguous pronouns.
- Prefer active voice to passive voice.
- Pick specific verbs over vague ones.
- Focus each sentence on a single idea.
- Convert some long sentences to lists.
- Eliminate unneeded words.
- Use a numbered list when ordering is important and a bulleted list when ordering is irrelevant.
- Keep list items parallel.
- Start numbered list items with imperative words.
- Introduce lists and tables appropriately.
- Create great opening sentences that establish a paragraph's central point.
- Focus each paragraph on a single topic.
- Determine what your audience needs to learn.
- Fit documentation to your audience.
- Establish your document's key points at the start of the document.
Please note that the template writing style similar to ## skills
is intended to facilitate prompt maintenance. You can choose to express it in a coherent paragraph or use a title style like [Skills]
.
Defining Rules (Optional)#
Rules define the actions the bot should perform and behaviors to avoid, and can set limits on output length, language, style, and tone. I often use the following prompts:
## rules
- MUST Reply in the same language as the input language. # Multilingual support
- ALWAYS omit all polite language. # Reduce pleasantries
- DON'T worry about your response being cut off # Avoid rushing to summarize
When initially writing prompts, you can choose not to set rules; if you are not satisfied with the output, you can add rules later.
Defining Workflow (Optional)#
Workflows break a large task into multiple subtasks using Prompt Chaining techniques, where the output of each subtask sequentially becomes the input for the next subtask, gradually achieving the final goal. When defining the Tech writing editor, I used the following prompt to achieve these steps: check sentences that need modification -> output original, modified, and reasons in sequence -> score.
## workflow
1. Browse the article and find any sentence that needs to be modified
2. Output all Original, Modified, Reason groups in sequence
3. Evaluate articles from a technical writing perspective and assign scores on a 10-point scale
If you need complex workflows similar to conditional judgments, variable assignments, and state resets in programming languages, you can also adopt a functional writing style, referring to Mr. Ranedeer.
Providing Examples or Output Formats (Optional)#
Utilize the few-shot technique of prompt engineering to make the output conform to a specified format. Below is the output format I used in the Tech writing editor, and you can replace the instructions in <> with specific examples.
## outputFormat
1.
**O**: <Then paragraph needs to modify>
**M**: <The improved paragraph>
**R**: <Rule to follow for modifications>
2.
**O**: <Then paragraph needs to modify>
**M**: <The improved paragraph>
**R**: <Rule to follow for modifications>
……
---
<The evaluation and the score>
Choosing a Model#
When selecting a model, I prefer using GPT 4 Turbo. This model not only has higher intelligence than other options but also supports input lengths exceeding 1500 tokens.
If you need to handle purely Chinese content, choosing the Claude V2 model can also yield good results.
For different usage scenarios, other parameters can be adjusted accordingly. For specific settings, please refer to this post for detailed explanations.
Enhancing Prompts (Optional)#
In multi-turn conversations, the model may answer questions based on contextual information rather than the rules defined in the prompt. To ensure consistent adherence to the rules throughout the multi-turn conversation, these rules can be included in the enhanced prompt. For more details, see the official documentation.
Other Settings#
Avatar: Create a personalized avatar using AvatarMagician.
Name: Set a name that allows users to discover the bot through specific keywords on the homepage; this is subject to length restrictions and serves an SEO purpose.
NSFW: Mark whether the content is inappropriate for viewing in a work environment, with the default selection being "No."
Tag: Choose "Tool" or "Learning" based on functionality; some tags containing "Chinese" or "English" indicate that voice features have been added.
Description: Provide an overview of the bot's purpose and functionality.
Intro Message: Design a guiding greeting to inform users how to interact, and you can add images and external links to enhance the experience.
Voice (TTS): Typically, tool bots do not require voice functionality.
Apps Integration: Support integration through Telegram to attract external traffic.
Knowledge Base: If you need to teach the bot specific niche knowledge, please first write a GitBook and add its content to the knowledge base for the bot to learn.
Banner: Create a banner using BannerMagician. Creators can choose to use a banner with personal contact information for branding and attracting potential customers across all bots.
Screenshot: Upload screenshots showing input and output to explain the bot's functionality to users.
Testing#
Creating a high-quality bot requires multiple rounds of testing and iteration. Here are some tips:
- Prepare multiple input texts with fixed content to test the effects of different models, parameters, and prompts.
- After debugging to a satisfactory level, publish it to the community for others to try, and make corresponding modifications based on feedback.
Promotion#
Due to the low activity of professional users and specific utility applications on the platform, it is recommended to promote the bot to groups that need such services to increase usage frequency, thereby boosting points earnings. Consider contacting MyShell officials for evaluation, which can help your bot gain a chance for homepage display.
Future Outlook#
Currently, role-playing bots may have higher returns on this platform; however, future versions of MyShell will support multi-component combinations, which will facilitate the construction of powerful AI applications. At the same time, incentive models will also lean towards practical bots that solve real efficiency problems. Start exploring needs now and build practical bots that fit your workflow to prepare for the future.
Claude3 Prompt Writing Tips#
On the evening of March 25, MyShell integrated the high-performance Claude3 model, suitable for most scenarios originally using GPT-4. At the same time, Claude's official team also released the Prompt Engineering Guide, highlighting several important techniques that differ from the GPT series:
- Use semantically clear XML tags to distinguish document parts, instructions, and input content, such as
<instructions>
,<example>
, and<input>
. - Placing
<instructions>
after<input>
can yield better results, which can be achieved through the Reinforced Prompt Suffix option. - Input variables should be marked using double curly braces
{{}}
.
As shown in the figure below, the Summary master that applies the above techniques includes:
- Used
<configuration> <rules> <example> <input> <instructions>
XML tags to divide the prompts into different parts. - Embedded the
<instructions>
tag into the Reinforced Prompt Suffix to enhance effectiveness and maintain output consistency. - Utilized
{{CONFIGURATION}}
and{{DOCUMENT}}
to mark user input variables and referenced the marked variables in<instructions>
.
Conclusion#
You should now be able to create your own utility bot based on my guide. If you need help, search for script in the MyShell Discord and @ me, or contact me via Twitter.
If you have not yet joined MyShell, please register through this link https://app.myshell.ai/invite/8cdbbd to receive a 7-day premium Pass card.