The Art of Talking to Machines - A Dive into Conversation Design and Prompt Engineering
In today's world, Artificial Intelligence (AI) is no longer just a buzzword; it's a part of our daily lives. Whether you're asking the Google Assistant for the weather forecast or using a chatbot for customer service, AI is there to assist you... But have you ever wondered how these interactions feel so smooth and natural? The secret lies in two key techniques: Conversation Design and Prompt Engineering. While these terms may sound technical, they're the backbone of making AI more user-friendly. These two concepts form the backbone of most AI powered customer centric products that leverage large language models, Artificial Intelligence and Generative Artificial Intelligence (GenAI). Let's delve into what each of these means and how they differ.
I used most of the principles outlined in this blog post to design and implement the KMyers.me Digital Companion Chatbot that can be activated by selecting the chat bubble in the lower-right corner of all pages on KMyers.me. This chatbot was trained using the data on this website as context, as well as some custom conversation design and prompts to make the bot unique to this website.
Conversation Design: Making Chatbots Your Best Friends
What is it?
Conversation Design is like teaching a chatbot to be a good conversational partner. It's the art and science of making AI systems understand and respond to human language in a way that feels natural.
Understanding Your Needs: The first step is for the chatbot to understand what you're looking for. Are you asking for a restaurant recommendation or seeking customer support? The chatbot uses this understanding to guide the conversation.
Context is King: A good chatbot remembers what you've talked about earlier. So if you're booking a flight and then ask, "What's the baggage policy?", it knows you're likely asking about the flight you just booked.
Relevant and Helpful Responses: The chatbot aims to provide answers that are directly useful to you. If you ask how to reset your password, it won't just say, "Go to settings"; instead it will guide you through the steps.
Guiding the Conversation: Think of this as a well-choreographed dance where the chatbot leads you through the steps, ensuring you achieve what you came for without stumbling. Your chatbot should be aware of the problem it was designed to address... Do you want your bot to help to reduce the number of product returns, upsell customers or to help provide tips to beat the final boss of a video game?
Making it Effortless: The ultimate goal is to make the interaction as smooth as possible, reducing any friction or frustration you might experience.
Advocating Your Brand: All interactions should match the brand of the service, website or product they are designed to support. Subtle nuances to promote your brand can often go a long way to make sure that your customer interactions feel like they are interacting with a bona fide member of your team, rather than a generic chatbot. Some examples could be:
How you address your user in a prompt:
- If you were tasked with creating a chatbot for a video gaming company, you may want to refer to your users as "players" or even better, a themed name to match the video game: a wizard, witch, warrior, princess, queen or fighter. These small touches can go a long way.If you were tasked with creating an internal chatbot for retail workers at a clothing outlet, you may want to refer to your users as "team members" or "associates" instead of a more generic "user". This would create a far more engaging experience.
- If you were tasked with creating a chatbot for a video gaming company, you may want to refer to your users as "players" or even better, a themed name to match the video game: a wizard, witch, warrior, princess, queen or fighter. These small touches can go a long way.
How will the bot address itself:
- There is nothing inherently wrong with calling your chatbot "Chatbot" but you might want to consider a name that describes what the bot's task is or even consider creating its own identity based around your brand. Amazon has Alexa, Apple has Siri and Google has both the Google Assistant and Bard. Amazon and Apple chose to create a brand identity around their assistants by giving them more of a persona, while Google chose to create both a bot that describes its function (Google Assistant) and a bot with a brand identity (Bard). In the case of the bot that is running on KMyers.me, I chose to go with the descriptive naming convention by calling it the "KMyers.me Digital Assistant".
Prompt Engineering: The Magic Wand for Special Tasks
What is it?
Prompt Engineering is a technique used to get specific outputs from AI models. Unlike chatbots, these AI systems don't engage in back-and-forths but perform tasks based on short instructions, known as prompts.
Precision Control: You can get exactly what you want by giving the AI specific instructions. For example, you can ask it to write an email summarizing a meeting or generate a piece of artwork.
One Tool, Many Uses: The same AI model can be used for a variety of tasks. Today's advanced models can write code, translate languages, and even compose music, all based on how they are prompted.
Context Limitations: These AI models don't remember past interactions, so each prompt has to be self-contained and clear.
Set and Forget: Once you've set up your prompts, the AI can generate outputs without needing further human intervention, making it highly scalable.
Conversation Design vs. Prompt Engineering: The Showdown
Keeping the Conversation Going vs. One-Off Tasks
Conversation Design excels in situations where a continuous dialogue is needed. It keeps track of the conversation and provides coherent and contextually appropriate responses. On the other hand, Prompt Engineering is excellent for specific, one-off tasks where you need a particular output.
Flexibility in Responses
Prompt Engineering allows for a high degree of flexibility. You can modify your prompts to get different kinds of outputs. In contrast, Conversation Design is more rigid and may require substantial changes to adapt to new user needs. This is especially important for users who try to "test" the bot by injecting complicated and convoluted questions in order to try to trick the bot into saying something it was not designed to say or to perform a task it was not designed to do.
Conversation Design often relies on human feedback for improvement. It's a continuous process of refinement. Prompt Engineering, once set up, requires minimal human oversight, making it more cost-effective at scale.
Open Conversations vs. Task-Oriented
Conversation Design is better suited for open-ended interactions that require a dialogue. Prompt Engineering is more focused on task-specific outputs, making it ideal for specialized applications.
Both Conversation Design and Prompt Engineering play crucial roles in making AI more accessible and user-friendly. While Conversation Design aims to make AI your conversational partner, Prompt Engineering focuses on turning AI into a multi-talented assistant that can perform a wide range of tasks. Understanding these techniques can not only demystify how AI works but also help you make the most of the AI-powered tools and services you use every day.