Bots are in vogue like never before. They're the heart of every next-generation cognitive app for mobile, social, e-commerce, and seemingly every other solution domain.
But they're not a new phenomenon. Generally, the term refers to intelligent software agents with the ability to operate autonomously or under event-driven scenarios that can be interactively adjusted by the stakeholders whose interests they serve. A classic example of Internet bot is the web crawler, an enabling technology of search engines everywhere.
However, in the past few years, we've seen a broad shift in how the general public perceives the role of bots in the online economy. As popularized in the film "Her," Apple's Siri, and other consumer phenomena, the new-generation bots are self-learning agents whose behavior is driven by data, powered by artificial intelligence, and personalized through natural-language conversations with users.
The rise of the cognitive chatbot
In addition, these intelligent personal bots are becoming ubiquitous by being embedded in mobile devices, wearables, and internet of things endpoints, bestowing autonomous intelligence on more aspects of the material world. Perhaps the right label for this type of intelligent personal agent is "cognitive chatbot."
This new wave of intelligent personal agents is a spearhead in the spread of cloud-based cognitive computing environments, such as IBM's Watson, that give the Turing test a run for its money every day. Through their ability to use machine learning to drive natural-language conversations, cognitive chatbots can be distinguished from the long line of "chatterbots" that came before. And as natural-language conversational capabilities of applications like Siri and Amazon.com's Alexa take root in the consumer world, I consider these agents as the kernel of cognitive IoT chatbots.
As developers shift their focus to cognitive chatbots, they need to adopt fresh thinking, practices, and frameworks for building these capabilities as reusable services for deployment in cloud, mobile, IoT, and other environments.
At the very least, developers need to adopt cognitive chatbots into whatever environment they use to build cognitive microservices. In the new order of online services, cognitive chatbots will be embedded into products to guide users. I was convinced of that in a recent blog post by Yegor Bugayenko that declared that "a chatbot is better than a UI for a microservice." As I pondered his point, it occurred to me that the chatbot will in fact be a kernel that drives the UI for many microservices in the API economy.
In search of a framework for developing cognitive-chatbot microservices
When you look at other cognitive-chatbot development primitives -- beyond those associated with the UI -- it's hard to find one that's generalizable enough to serve a wide range of use cases. The bot design patterns outlined by Will Schenk in a recent blog post are promising. They focus on the node-centric messaging patterns for various bot-deployment models. The patterns hinge on the degree to which individual bots learn, persist, and act on content and state variables associated with specific users, channels, and conversations.
Sign up for CIO Asia eNewsletters.