Best Practices for Conversational Cognitive Agents

Author: Abdul Mannan
Sr. Software Engineer in Test
Software QA / Testing and Test Automation / Cognitive Agents / 

Is Siri an indispensable part of your day? Then you already are a part of the revolution in Cognitive Computing. Intelligent agents are more mainstream now, with Siri, Cortana, Alexa, and the Google Assistant being included in the latest mobile devices.

Conventional interactions between a user and an ‘intelligent’ interface are limited by the unequal flow of information and unstructured data. Cognitive systems can help make ‘sense’ of this data using learning and learned behavior, and through their conversational nature can better facilitate the user’s decision making.

Cognitive computing, unlike conventional interactions, involves more synergy between the system and the user. Instead of anticipating all potential solutions to a problem, cognitive systems, using machine learning algorithms, can predict and infer the best solution.

Reducing interaction times on salesroom floors, improving efficiency in supply chains, assisting doctors in patient care, and helping people without technical knowledge in dealing with ‘smart’ systems – are all examples of how Cognitive Systems can be used in the real world.
Ultimately, the aim of Cognitive Systems is not to have computers take over all tasks from users, rather assist users to find quicker and more precise solutions to complex issues.

One of the most popular uses of cognitive interactions is chat robots, otherwise known as ‘chatbots.’

Conversational Cognitive Agents (Chatbots) are not a new concept or phenomenon – however, the evolution, development, deployment, and usage has exploded in recent years. This popularization is being driven by multiple factors which include lower development costs, mass expansion of mobile messenger usage (WhatsApp, facebook messenger, etc.), app fatigue, and tech giants such as Microsoft, Facebook, and Google taking an active interest.

So, what’s the best way to build a Conversational Cognitive Agents (Chatbots)?

Best practices bring two perspectives into the picture:

  • Making bot development a success
  • Assuring that the conversation with the user is seamless

Targeting Potential Users

To ensure successful Conversational Cognitive Agent (Chatbot) development, it is critical to know the target audience. It is also vital to identify use case scenarios, determine how to initiate the conversation, and to set the tone of the chat.

Make the User Feel Welcome

Though Conversational Cognitive Agents are growing in prominence, end users remain inexperienced in conversing with an object. This user inexperience necessitates a warm welcome to the user to ensure they are comfortable with the conversational interface.

Users are now well versed in the limitations of most websites and applications, concerning interface interaction. However, it is essential to create defined paths for the user to ensure a hassle-free and efficient experience with the chatbot.

For example – use buttons that are familiar to users to make it easier for them to engage the bot. Also, encourage the user to type and respond, by suggesting actionable commands.

Keep it Simple

While dealing with customer support in general – we value getting an effective, efficient and trouble-free solution. These principles are also applicable when building a customer service bot.

For example – minimize the number of steps a user must go through. Taking an exorbitant amount of steps to reach an end goal is extremely frustrating for most users.

Make it Emotionally Rich

In conversational interfaces, a worthwhile point to consider is making sure the interaction rather than being bland gives the user an emotive and rich experience. This will increase the chances of the user feeling more connected with the chatbot and returning more often in future.

Take Users on a Journey

When building a bot, there must be an end goal in mind; a process that is being created with the user flow. Every step is vital.

A clear picture of what the end goal is will help build trust with users when engaging with the bot. It is imperative to keep the end user engaged as users very often bail out of a conversation and never return. Furthermore, don’t let users get stuck in an unending looping conversation.

Setting Expectations

Expectations vary from user to user, and it isn’t feasible to meet everyone’s expectations. So, do not create expectations you cannot fulfill.

One should set expectations that match your Conversational Cognitive Agent (Chatbot)’s abilities rather than giving an appearance of high-level NLP (natural language processing) thus giving the user a better and realistic experience.

Response Size

Various industry studies over the years have shown users will not read long responses, as such one must always be aware of the response size. Therefore it is important to ensure responses are concise and scrolling is kept to a minimum. The more scrolling a user is forced to do, the more likely the user will leave the conversation.

A Way to Get Back

It is second nature to look for a home button whenever we want a fresh start in traditional GUIs. However, for conversational interfaces, this solution is still in a formative state.

Nevertheless, the user should be able to get back ‘Home’ and be able to reset/start over the conversation at any time during the interaction.


If you must redirect the user out of the bot, it is best to ensure the information deemed relevant to the user query is captured and carried forward. Capturing and carrying relevant information forward will reduce repetition and cut down on interaction time.

UI Components as Guardrails

Traditional GUIs have always been – what you see is what you get. However, with conversational interfaces, the paths that the user can take are almost infinite.

Unfortunately, NLP and AI capabilities are yet to fully meet user expectations, as such buttons and quick replies are necessary to keep users on a happy trail to avoid frequent error messages.

For example –

Buttons and quick replies will help the user to be aware of the bot capabilities, offer more guided experience to interact with your chatbot.

This feature will also, help you to keep the end user engaged as users very often bail out of a conversation and never return.

Illusion of Little Choice

Users are wary of new technologies, and this manifests itself in users making safe choices. Using UI components in chat is a great way to keep users on a happy trail and to assist their cognitive and physical load, but there is a drawback – the illusion of limited choices.


The context of the response is of utmost importance and responses should follow the question. Wording matters – confirmation should be sought, not stated.

Undo and Cancel

Like humans, chatbots are imperfect, so ‘undo’ and ‘cancel’ functions are a must for a smooth conversational experience. The user should be able to suspend a query or go back a step just as easily as we close a window or press “back” on a browser.

These functions are crucial for good interactions as by keeping track of the conversation; they ensure users do not have to start over constantly. If a user has spent the 5 minutes interacting with a bot and made an error, the user shouldn’t have to retype everything.

Opportunity to Fix Misunderstandings

Similar to the ‘Home’ button, until the ‘undo’ and ‘cancel’ functionalities are identified and understood across conversational platforms, users will not know they exist.

Knowing they can back out of any errors or dead ends that may occur throughout the interaction, will ensure the user feels more secure and confident in exploring the chatbot.

Sharpening a Bot’s Memory

To ensure the user does not have to repeatedly type in the same inputs (when relevant), the bot must remember everything in a conversation with a user.

For example –

If the conversation involves the bot asking the name of the user, you need to check if it remembers the user’s name. You also need to check if it remembers where the user left off in the conversation.

In addition you can generate customized reports on various interactions to assist the memory of the bot. This will help you to maximise the scope of the bot and deliver a more personalized experience.

Response Time

Prompt response time is a crucial factor in dictating user engagement.

Multiple surveys have shown that one of the biggest frustrations customers face is being made to wait for a response. Customers tend to lose interest when they are asked to wait for the next response.

Hence, a replacement for customer care representatives – a bot – cannot afford to keep the user waiting for a response.

Preventing Bot Abuse

When building a bot, a point to note is how it handles abuse. This includes giving and receiving abuse. Many point to the ethical stance of Isaac Asimov’s Three Laws of Robotics: “a robot may not injure a human being or, through inaction, allow a human being to come to harm” as a standard.

Bots should have the capability to recognize profanity and when abusive language is detected it should either be ignored via a nonresponse or elicit a default response. Also, when required, a report function is necessary to send records of offensive interactions to the proper channel.

As stated bots through user interactions, over time, will learn user and human behavior. Hence, it is vital that it does not engage in any abusive interactions with users. Abuse in this instance is not just ‘bad’ language – spamming, or harassment must also be mitigated for.

Inbuilt protocols to end conversations upon user request and language filters will prevent such situations.

User’s Voice

As already mentioned it is not feasible to meet all user expectations or even anticipate all needs with a bot. Therefore it is better to include natural ways to allow the user to give their feedback during the interaction.

Prompt users for suggestions when they don’t find things that they are looking for. Besides, allow users to submit tickets if and when the bot fails to respond to queries or requests.


One should validate the above criteria as part of a Conversational Cognitive Agent (Chatbot)  development plan, and the result will hopefully be a memorable conversational experience for the end-user. As always regular testing of chatbots will also ensure success not only at launch but also in the future.

Thanks for reading!