Understanding Chatbots
Growing up, I used to watch my older brothers play our NES. While they were absorbed in the game, I found myself wondering, "How does this little box make the game appear on the TV?" Curiosity got the better of me, and before long, I reached for my father's toolbox, found the right screwdriver, and took the console apart. As I dismantled it piece by piece, I began to see the connections, the components, and the circuits that made it work. It was in these moments that I realized something important: everything, no matter how complex, is built up of simpler parts working together.
In many ways, understanding AI and building effective chatbots is similar. From the outside, chatbots can seem like magic, responding to queries and performing tasks as if by some hidden wizardry. But, when you look a little closer, it becomes clear that this magic is actually the result of a lot of carefully designed and interconnected systems working in harmony.
Part Two of this book is about taking apart the chatbot "machine" and examining its inner workings. We will dive into the nuts and bolts, explore the frameworks, and uncover the various components that make up an effective chatbot system. Just like understanding the inner circuitry of an old radio, knowing the technical details behind chatbots not only demystifies them but also empowers you to build, adapt, and innovate. Whether you're an engineer, a product manager, or simply curious about the technology, this section will give you the blueprint you need to understand how these tools work and how you can build your own.
In Part one, we talked about the different pieces that makes a chatbot. The application, the integrations, the AI models and the workflows. There is an analogy in game design. Don't build a game engine, then build your game. Just build your game. What this means, is it's easy to get stuck building an abstract game engine that can virtually run any game. This is a project with no end in sight, in fact you might just end up with a game engine as a product instead of a game that you were aiming for in the first place.
But by focusing on building the game, you will end up with a working product. Then maybe over time, you can abstract part of your framework to be generic enough to support multiple types of games. We won't focus on building an actual chatbot with code that you can compile and run. Instead, we will explore each of the part of this application and and see how they interact together to give the semblance of a conversation to customeres.