Prompting or “prompt engineering “is the skill of the year in 2023. A bad prompt that is poorly worded and gives no context can generate unhelpful responses from LLMs like ChatGPT. Except in trivial cases, the best prompts take some thought, fine-tuning and testing. How can businesses best deal with this? The answer is to create a Prompt Database.
A prompt database is a repository of prompts that have been tried, tested and proven to work well. The reason for having a prompt database is simply to save yourself from reinventing the wheel every time you need to use a prompt in any field. Given that well-crafted prompts can generate highly valuable responses but can take time to develop, it makes sense to re-use them. To do this, you need to find them first and at the moment, ChatGPT for example, makes finding prompts you’ve used hard, especially if you use it a lot.
So what factors do you need to think about when developing a prompt database?
Your prompts need to be organised, accessible, and useful. Here’s a step-by-step guide to help you set up a robust prompt database:
1. Define the Objective for your prompt database
Understand why you’re creating this database. Are you looking to create a knowledge base, store FAQs, document best practices, or something else? Your objective will determine the structure and features of your database.
2. Choose the right platform for your prompt database
Depending on your technical capabilities and resources, you can choose between:
- Traditional relational databases like MySQL, PostgreSQL, or SQLite.
- NoSQL databases like MongoDB if you expect a varied data structure.
- Knowledge base platforms or CMS like Confluence, Notion, or Trello for less technical solutions.
- Simpler solutions such as shared Google Docs or Google Sheets or files on Sharepoint.
- A company Wiki such as https://www.mediawiki.org/wiki/MediaWiki
3. Design the Structure
For your prompt database to work effectively, you need to make it very easy for users to search and find prompts that are appropriate to their needs. To do this you need to think through how people perform searches. Do they use keywords, do they sort by functional area (marketing, finance, HR, R&D etc.) or do they search by author etc.?
You might consider the following fields in a prompt database:
- Prompt title or question
- Inputs required: what information will the user have to enter into the prompt?
- Example response – not vital and this could need updating from time to time
- Category topic
- Keywords or tags
- Author or creator
- Creation date
- Last updated date
- Related prompts links – similar prompts or follow-up prompts
- Usage notes such as known problems, hints, security considerations
- Version notes
- LLM model(s) it’s for eg. ChatGPT4, Bard, Claude 2 or an internal database etc.
Favorites lists for prompts
You also need to think about making prompt favourites lists available for individual users. For example, if your role is to provide monthly reports and data analysis, you may repeatedly use specific related prompts and you can speed up your access to them by having a shortcut to your favourites, just as you do with a browser.
4. Categorization
Assigning a category to a prompt can make it easier to find. Consider the following:
- Broad categories (e.g., “Human Resources”, “Technical Support”, “Sales”, “General Management”, “Market Research” etc.)
- Sub-categories within those (e.g., under “Technical Support” you might have “Software Issues”, “Hardware Issues”, etc.)
- Tags for more granular categorization (e.g., “Windows”, “Mac”, “Printer”, etc.)
5. Design the Search Process:
Basic Search
Allows users to input a keyword or phrase and returns relevant prompts.
Advanced Search
Offers filters such as category, date range, author, etc.
Search Algorithm
Consider using algorithms that prioritize more recent or more frequently accessed prompts. Implementing fuzzy search can help catch misspellings or alternative phrasings.
6. Input and Update Process
Decide who can add or update prompts. Ensure there’s a review process in place to maintain quality. Consider version control to track changes.
7. User Interface
Make sure the database is user-friendly. Design a clean, intuitive interface. Offer options to sort and filter results. If possible, integrate a feedback system where users can suggest improvements or report inaccuracies.
8. Maintenance
Regularly review and update the database to ensure its relevancy. Remove outdated prompts and add new ones as needed. Assign a formal role to this task and develop suitable procedures.
9. Analytics
Track how often each prompt is viewed, which search terms are used most often, etc. This data can help refine and improve the database over time.
10. Access Control
Determine who can view, edit, or add to the database. Implement user roles and permissions. Ensure data security and confidentiality, especially if the database contains sensitive information.
11. Backup and Recovery
Ensure that the database is regularly backed up. Have a recovery plan in case of data loss.
12. Training
Train your staff on how to use the database efficiently. Offer guidelines on how to add or modify prompts to maintain consistency.
13. Iteration
Based on feedback and usage patterns, continuously refine and improve your database. Regularly revisit its structure, search algorithms, and user interface.
Much of the above applies to medium to large businesses. For small businesses, a simple shared document would be adequate provided it’s searchable. Some knowledge management tools such as Notion, Roam, Trello would work well or indeed a Google Doc.
In summary, setting up a company prompt database requires a clear understanding of the objective, careful design, and regular maintenance. However, don’t let the task of setting up a prompt database deter you from starting to record prompts you have used that work well. You can add them later.