Last week, I was on a panel discussion about communication in the enterprise, and I said something that elicited a gasp from the audience -- I said that chatbots will not replace programs, they will replace humans. I’d like to take some time to expand on that thought a little bit more. But we’ll get back to that in a moment. First, some history.
The rise of chat
Online chat was one of the earliest forms of communication on computers, dating back to the 1960s, when you could message other users on the same system. In the 1970s we figured out how to send messages to other computers, and in the 1980s talk was developed, which enabled us to easily chat across machines (and soon its sisters ntalk and ytalk followed). Also in the 80s we got the first large open network, IRC, encoded in RFC 1459. After that, in the 90s and beyond, chat exploded, and we had commercial networks, commercial programs, and all sorts of new ways to communicate in real time with each other.
The question is, why did chat take hold so early and grow so quickly? Because it is how humans naturally communicate. The oldest known piece of writing is the Kish tablet in Sumerian, from about 5500 years ago. Theories vary widely on when humans started speaking -- we had the necessary anatomy as early as two million years ago -- but it is believed we started speaking in a proto language as early as 200,000 years ago. So we’ve been chatting, either in person or in writing, for a long time!
Until very recent history, most communication has taken place in person in real time. Worldwide literacy was less than 10% up until the early 1800s and no single group had a rate higher than 20% before the 1550s.
This is all to say that the most natural way for humans to communicate is through real time chat.
Chat and the enterprise
Although reviled by many a modern programmer, the butts-in-seat model of the modern workplace has worked well for over 150 years. In the mid 1800s we saw the rise of the modern office building -- a place where people would congregate to get work done. Why? Because it was the easiest way to make sure the person you need to communicate with would be nearby. About 100 years later we started getting technology to help us. First telephones, then shortly thereafter other electronic means of communication, such as the chat programs I started with.
Finally we are to the point where perhaps the butt-in-seat isn’t necessary anymore -- we have the technology to replicate the most natural of human communications.
DevOps and ChatOps
There is one outcome that I’m particularly interested in: how this affects operations and DevOps teams. The trend of ChatOps was born out of DevOps. In DevOps, one of the key tenants is sharing -- sharing of procedures, processes, data and everything else; in other words, not siloing anything. Chat lends itself very naturally to sharing, because it is a shared medium by default.
ChatOps provides other benefits as well. It provides a great environment for learning, because a new person can sit and watch the action taking place, and if there are archives, they can read the archives as well.
ChatOps also speeds up the cycle between gathering information and sharing it. If you gather the information in the place where you are already collaborating and sharing, then you don’t have to make any extra effort for your teammates to follow along. They can see everything you’re doing. Also, it may trigger an idea in someone else’s mind, because they can watch your thought process with you instead of just seeing the outcome. If every command or query you issue is in the shared place, then they can see the path you are taking and then diverge from that path, instead of just seeing the outcome of your investigation.
Where have all the humans gone?
ChatOps ties in nicely with how humans have collaborated for the entirety of human history. When we hunt prey, we use language to coordinate in real time, and children can learn by following behind. The prey has changed (now it’s a software bug instead of a buffalo), but the methods of hunting have not.
Now we are adding chat bots into the mix. We’ve had chat bots for a long time. I used to play with one when I was a child that pretended to be a therapist. But they were never very smart.
Today though we have a just the right conditions to make very smart bots. We have machine learning techniques that are easily accessible, we have massive parallel computing, and most importantly, because chat is becoming the prefered method of operations, we have a treasure trove of training data in the chat histories.
This is an entirely different interaction model than software that sits outside your chat program. With that software, you ask it a question and it provides an answer. A very smart modern piece of software, like a good monitoring and insight tool, might even be proactive and notify you of something it has found. But even that has a hard time learning. With a chat bot, it can not only see what questions you need answers to and proactively answer them, but it can see how you react to the answer it gives, and then learn to give better answers in the future.
At first, this will augment the humans you have. But eventually the bots will get smarter, and you’ll need less humans to do the same work. Because the bots are right there in the chat loop, they can learn much faster than any other type of software and they can learn to interact with the humans in a much more natural way, the way other humans would interact with each other. They’ll get so good that the humans that are left will forget which ones are the robots.
Eventually, we will get to a point where it’s nothing but bots talking to each other, with new bots learning from old bots as real events take place.
And maybe one old person, hunched over a terminal “supervising”, lamenting the days when they had actual work to do.
CloudNative makes yeobot, a bot that helps you manage your AWS infrastructure through a shared SQL command line. If you'd like to help train it to replace that coworker you really don't like, learn more and sign up today.