An Overview and Step-by-Step Guide to Building MyShell Tool Class 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 tool class 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 tool class bots.
Introduction#
What is MyShell#
MyShell is the world's first decentralized generative AI creator platform. The platform features various 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; choosing MyShell means you don't have to worry about such risks under reasonable use.
- Earn points by creating and sponsoring bots, which can be exchanged for system circulation 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 longer need to pay the $20 monthly membership fee for ChatGPT.
Why Learn to Create Tool Class 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 designed to guide the model to produce more precise and relevant output) for role-playing. This significantly reduces efficiency and increases operational complexity.
Although bots developed by other community members can solve some problems, such as using Mr.Rachelle to learn new knowledge and bestTranslater for Chinese to English translation, many more needs cannot find suitable bots. I researched numerous materials on prompt engineering, created multiple bots with different functions, and developed a mature process. The tool class 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 multi-domain expert think tanks |
Song Lyrics Search | Finds contextually 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, details can be found at https://twitter.com/myshell_ai/status/1759941273509593166. Alternatively, you can choose to purchase a Genesis Pass directly on the market using ETH, which is 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. The output of "technical writing editor familiar with the technology field" will differ from that of "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 set "Goals" for the bot by writing "Job Responsibilities"; write "Qualifications" to assign "Skills" to the bot.
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 prompt:
## 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 Workflows (Optional)#
Workflows break a large task into multiple subtasks using Prompt Chaining technology, 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 -> sequentially output original, modified, and reasons for modifications -> 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 ensure the output conforms to the specified format. Below is the output format I used in the Tech writing editor; you can also 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 choosing a model, I prioritize 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 process pure 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: Select "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): For tool class bots, the voice function usually does not need to be set.
Apps Integration: Supports 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.
- Once debugging reaches 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 tool class applications on the platform, it is recommended to promote the bot to groups in need of such services to increase usage frequency, thereby boosting point earnings. Consider contacting MyShell officials for evaluation, which can help your bot gain homepage display opportunities.
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 Techniques#
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 sections, 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 sections. - Embedded the
<instructions>
tag in 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 tool 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.