Introduction
So you’ve been building with AI Studio, and things are going well: your Conversation AI Agent (chatbot) is growing, and your company or client is offloading more and more tasks to it. But inevitably, there might be a time when a course correction is needed. When writing Word documents or computing Excel sheets, CTRL/CMD +Z (undo) is often your best friend. But what if you need a CTRL+Z for your AI Studio Agent?
There is such a thing, it’s called Version Control! Even though AI Studio is a no-code/low-code platform, it’s built with much of the powerful version control that developers have come to expect. In this article, you’ll learn about version control and how it can save the day for your Conversational AI Agents in AI Studio.
What is Version Control?
Version control is a system that helps developers manage changes to source code over time. It allows developers to track and manage changes to their codebase, collaborate with others, and easily revert changes if necessary.
Version control is important in software development because it allows developers to work on different features or bug fixes independently without conflicts. It also helps to maintain a history of changes, so it's easy to revert back to a previous version if something goes wrong.
The most popular and famous version control system is called git. Git does 3 important things: it tracks what is changed, why it was changed, and in what order it was changed. These 3 factors make it much easier to quickly diagnose if a new change is correct and to look back and find problems when they arise.
Most teams use git through the online platform called GitHub. GitHub makes it much simpler for teams to implement git on their projects without having to worry about hosting their projects.
AI Studio takes the powerful technology of git and makes it readily available to you, without really requiring you to understand how git works!
No-Code/Low-Code Chatbot Development in AI Studio
Vonage's AI Studio is a game-changer for chatbot development, offering a no-code/low-code platform that makes it easy to build Conversational AI Agents for SMS, WhatsApp, or Voice (telephone) channels. With its intuitive drag-and-drop interface, AI Studio allows both seasoned programmers and non-technical users to develop full Conversational AI Agents quickly and easily, saving time and money.
The platform's low-code capabilities also enable users to integrate a wide range of features, such as Salesforce and OpenAI integrations or Webhook connectors, allowing for seamless integration with other systems. This makes AI Studio a powerful tool for businesses looking to improve their customer service, automate tasks, and enhance their overall customer experience.
AI Studio provides a user-friendly interface that makes it easy to use, while still offering powerful customization and flexibility. In the same way, AI Studio's version control feature allows you to manage changes to your chatbot's codebase with ease. This means you can focus on building a great chatbot without worrying about the complexity of version control. So if you make a mistake, accidentally create complexity, or just simply want to roll back a feature that turned out to be unnecessary, Studio’s Version Control will save your day. And you don’t need to understand what’s a commit!
Implementing Version Control in AI Studio
Each time you publish your agent AI Studio will save a version. You will need to fill out two fields for each version:
Version name (required)
Description: what was changed
A basic implementation of version control might give version names sequentially (1, 2, 3, etc) and give a description of the changes implemented.
You can then find your agent’s versions under the agent details section:
There you will be brought to the Versions mode. You will see on the left-hand side all of your agents’ versions and correspondingly how the agent looked at that version in the main dashboard pane.
You’ll notice that the current version is highlighted with the label “Currently published”. On any version, you can open the agent in the full editor or see the version's description by clicking the 3 vertical dots. For the current version, you have an additional option to unpublish the agent. Doing so will not reconnect the previous version, you will need to again publish whichever version you want to be live.
And just like that you have version control! You can reopen an old version of your agent in the editor and republish it. Or you can select an old version, make some changes, and publish it as a whole new version.
Best Practices for Version Control in AI Studio
But having version control isn’t the same as having good version control. For effective version control, you need clarity and consistency for better collaboration with any future teammates (including yourself!).
We need to remember that the goal of version control is to easily go back in case something goes wrong. Using descriptive version names should make this process faster and easier than checking the underlying agent at each step. In the previous example, using the names Version 1, Version 2, etc, did we really achieve this goal? Not really. Similarly, did our description help us understand what was happening in the agent at this point in time? No.
For Version Control best practices, each time you save a version, it needs to have 3 key pieces of information:
What kind of change was it? Major, minor, or fixing a bug?
What feature/flow was changed?
Descriptive details to understand who changed the agent and exactly how the agent was changed
What Kind of Change: Major, Minor, or Bug Fix
You can think of a major change as a new flow or subflow added or removed or a major change in functionality that a user might not see like an integration or webhook connection. A minor change would be an improvement like updating the logic of an agent, increasing the efficiency of intent classification, or some other slight improvement to an agent's performance or user experience. Lastly, a bug fix would be an update to correct an unintended or unexpected behavior in the agent.
What Feature/Flow Was Changed
The easiest way to organize features in Conversational AI Agents is by flow. In an agent for a Bank, you might have one flow for finding branch locations, a flow for accessing account information, a flow for a new transaction, and another flow for speaking to a bank teller. Each one of these flows can be considered a feature and makes it clear immediately to anyone building the agent was nodes were changed.
Descriptive Commit Details
Finally in the Version Description it’s important to tell exactly what in the flow was changed, why, and by whom. Especially important details to note are any changes to the underlying logic of the agent that won’t be immediately obvious. These would include any changes to parameters, logical updates like re-routing conditional or classification nodes, and especially any nodes that rely on external functionality like webhooks or integrations. The more detail added in the description, the easier life will be for future you!
This style of version control was inspired by Yonatan Kra’s article about Conventional Commits. I recommend checking it out to see how version control compares in a no-code platform like Studio compared to a full-code system like git and Github.
Conclusion
Version control is an essential tool for managing changes to your AI Studio Agent, allowing you to track and manage changes, collaborate with others, and easily revert changes if necessary. By implementing best practices you can ensure that your version control system is effective and easy to use for yourself and any future teammates. With AI Studio's user-friendly interface and powerful customization options, you can manage changes to your chatbot's codebase and focus on building a great chatbot without worrying about the complexity of version control.
If you liked this tutorial or hated it, please let me know! Find me on Twitter or the Vonage Community Slack (we even have a channel for AI Studio). I’m really interested to see what you’re building with Low Code!
Additional Resources
Benjamin Aronov is a developer advocate at Vonage. He is a proven community builder with a background in Ruby on Rails. Benjamin enjoys the beaches of Tel Aviv which he calls home. His Tel Aviv base allows him to meet and learn from some of the world's best startup founders. Outside of tech, Benjamin loves traveling the world in search of the perfect pain au chocolat.