Titans Bot: Creating a multi-tool, multi-persona AI agent for Critical Software

Introduction

So this talk today is not so technical that it will bore you to death, but it is a bit technical and it approaches Generative artificial intelligence in a way that has made sense for us here at Critical. It encompasses concepts such as marketing and internal communication, but also the way that we like to look at our values and work with our people. So it might not make sense for everyone, but it's something that has come out of research that we've done internally.

The Genesis of Generative AI at Critical

So there were three main factors that led us to believe that generative AI was an interesting technology to start with last year.

Internal R&D Projects

About a year ago, we did two internal R&D projects where we tried to understand what the latest and greatest AI assistance and technologies could provide to accompany an organization so big and with such an interesting value add such as critical software. These three topics are the ones that arose.

Identified Benefits of Generative AI

Gaining a competitive advantage over our competitors, of course. How can we become or stay ahead of the curve? Increasing the efficiency and the quality of the work that we do. And then finally, of course, improving the developer experience.

Lots of the people that work at Critical Software Engineers, they interact daily with tools like IDEs and terminals and software development interfaces. So this improvement in experience was also very critical to us.

What they found in these R&Ds is that indeed this technology can be very beneficial. And so from that,

The AI Shift Initiative

The organization decided to further invest in understanding how the technology can improve the rest of the work that we do at Critical Software through the AI shift. The AI shift is an initiative that is designed to help the organization navigate the use, the adoption of tools and processes that make use of generative artificial intelligence to improve efficiency and to improve the way that we work. So that was the start.

Principles of the AI Shift

1What is the AI shift? It emerges from two principles. On the one side, it's the advocacy and implementation of these tools within the company. On the other is to provide support and to collaborate within the teams and other external organizations and entities in order to speed up and improve this adoption process.

Technical and Organizational Challenges

It's both a technical challenge in the sense that we have to find the best tools and we have to develop them ourselves, but it's also and mainly an organizational challenge in the sense that managing this change and making sure that people adopt these tools is in itself very hard. The intrinsically challenging part of the AI shift and understanding how the technology is impacting our industry and every industry in specific is organizational and not just technical.

Early Initiatives and Collaborations

Within the first three months of the AI shift, we've already kicked off a few initiatives around 10 that range anywhere from tooling to business development and helping our sales teams and our business development teams to communicate to our clients that we are ready to integrate this technology into the services that we provide, but also integrating academic research centers in order to turn the side of the coin to, whereas we're doing it internally very fast, using these organizations or these institutions to help us do things calmer and slowly, but also advance the state of the art.

Tooling Initiatives and Information Retrieval

One of the tooling initiatives that we kicked off with or that we started with in the beginning came from the use case of generative AI that connects to the use or retrieval of information and analysis of this information. As you might understand, Critical Software over the past 25 years, we've collected hundreds if not thousands of very relevant pieces of information spread through so many different information databases and knowledge bases. This information is hard to access in many cases, and so we believe that by increasing or improving the interfaces that we have to connect to this information, we can bring more value to our teams.

Development of AI-Powered Chatbots

And so by researching our support areas and the divisions within critical software, we came up with three chatbots, three assistants, three tools that would increase the sort of information that we can put across to our teams and that could leverage some of these knowledge bases that we had. The first with the people department, which is the equivalent to our HR department, the second with our project management office, and the third with the IT department. They're very similar in essence with the goal being to reduce the number of tickets that are being created in the help desks for these departments.

Challenges and Considerations

But there was an issue. We're not actually solving the issue.

What would happen if we were to create a single assistant for all of the divisions or support areas within critical software? How do we manage such a large amount of information in such specific scenarios? We're just creating another layer, right?

If there's a challenge of accessing information, if we're just creating a new way to access it, we're not really making it easier.

And so from this concept, we try to approach it from another perspective, from a communication perspective.

Incorporating Company Values with AI

A while back, a few years ago, Critical released the Critical Titans. These are characters meant to represent some of our internal values. They're laid out simply, but we care about the way that we get to the top.

Critical Titans and Company Values

We're stronger together. We engineer ingenuity. And we listen, think, and act boldly. Plain and simple, these are the values. Each of the titans represents one of these concepts.

For example, Zeta, she's a quality assurance engineer. She's super strong. She can carry the weight of the world.

Cortex, he's a project manager, he's a problem solver.

Vault, front end developer, the risk taker. And finally, Ingenio, the back end developer who thinks outside the box.

Each of these characters has its own traits, its own personality.

Interactive Communication and AI Representation

How do you communicate this across in a way that is interactive, that improves internal communication, that links to the values of the company itself? And can we actually get generative artificial intelligence to represent these personalities, these concepts? Furthermore, can we actually integrate some of these knowledge bases and tools that we're already using with these personalities and do it in a way that provides value to our people? That was the challenge, and that's what we're working on.

Technical Implementation

And this is the technical part. This is how we're doing it.

AI Agent System

1We've created an AI agent system that puts together a very simple interface. We use Microsoft at Critical Software, so this could be very easily changed out, but we're currently using the Teams app, the Teams tool, in order to communicate with our AI.

And then we created this agent that has two stages.

Stage-Based AI Assistance

An initial stage where we identify the correct personality or the correct assistance to answer a user's prompt, to answer a question. It then takes this active personality and it changes the entire prompt to match the voice, the tone, and the persona of this superhero that we've identified as being the correct one to answer the query. It then moves on to this say and do execution layer where we identify the correct tools and the correct way to respond back to the user in a way that makes sense.

We include things like vector databases for semantic search in order to return the best results. We include things like function calling in order to introduce tools to this generative AI model so that we can extend the functionality of this assistant. And then we return this information in a way that makes sense, that makes the sources of the information itself visible back to the user. And that as a whole provides value because that is in fact what we were trying to do.

Beta Version and Future Metrics

So we haven't collected any metrics yet in terms of how impactful this has been towards the teams that we're trying to assist. But we are moving into a stage where we can release this as a better version inside the company and we're very excited to do that. So technically, that's it.

Integration with Existing Workflows

What we've built is something that can integrate into the existing workflows of the company, so with less attrition as possible. If we're already using Teams, then perhaps we can keep using Teams and interact with another tool within it.

Marketing and Internal Communication Capabilities

We're building on top of Critical Software's marketing, values, and especially internal communication. We're intending this tool not just to be something that you interact with as a person that works at Critical Software, but that can interact with you as well. For example, to provide you with relevant information on whatever events are going on, or to communicate some issue with your, let's say, attendance to the office.

And of course, it needs to be scalable and flexible enough to support our vision for the future, other tools that we might want to add on top, and of course, access to other knowledge bases and information sources.

Live Demo of the AI Tool

That's the talk. Let's move on to the demo.

Demo Preparation

I've prepared something which I think might be interesting in the sense that I'm going to ask the tool to assist me with the demo. I've prepared the tool And I'm hoping it will help me as well. So let's see here.

Interaction with the AI Tool

Hi, team. I'll be asking a few questions in the next minutes. Use the tools that you have available and answer as you usually would.

But since I'm doing a live demo for the MindStone AI Meetup, please replace all confidential and sensitive information with some rubbish.

Right. It says it's available to do that. It says it can do that. Let's see if it replies actually with something that seems reasonable.

So first off, let's just say, what sort of thing can you help me with? What are the tasks that you're good at?

And the tool is going to look at, of course, its prompts and the tools that it has access to. It will hopefully return a relevant answer with the sort of thing that it can help with.

As I said, we're still looking at ways that we can increase the range of functionality that we can pass on to a tool like this. But let's see what it gives us back.

So it can provide internal knowledge, IT assistance, information about learning and development, engagement initiatives, and our sustainability efforts. Most of this seems to make sense. So let's move on to an actual request.

Requesting Specific AI Assistants

Let's ask to speak to one of our personas, to one of our assistants. The tool, of course, can do this automatically if we request something that this specific assistant is responsible for. But we can also request to speak to it.

And as you will see, it will change the tone in the way that it answers these questions. So just give it a second for it to reply back, and we'll keep on interacting with it.

In the meantime, I'll load the next question, and let's see what we're trying to do here.

Addressing Client and Project Challenges

So let's say I'm dealing with a really tough client. The project has had some hiccups or some delays, and we're struggling to keep up.

Can you, Ingeniu, please provide any help? And let's see what our friend Ingenio here can come up with.

Ingenio has access to a database of lessons learned. It's information that we've collected with clients and projects over the past years. And we'll go through this information automatically through semantic search using a vector database. And it will return only the most relevant pieces of this very same information.

The message that it will return, it has been contextualized to be as actionable as possible, so hopefully we'll get a good plan of things that we can actually do in order to improve the issue with the client, the project that we're facing at the moment. Again, just a couple of seconds, and it will reply back to us with a straight answer. Sometimes it does take a little while. The amount of information that it has to go through is relevant.

But as we can see, we did get some relevant strategies for us to improve the issues that we were facing with the project, namely to set clear deadlines and to be less tolerant. This is referenced from the same lessons learned database that we have given it access to. And we're increasing the control over this information in the way that we're providing it to our coworkers by referencing it in the same message.

Providing Employee Assistance

Let's look at something a little less project related and talk about the toothache that I've been having for the past few weeks.

I think it's one of my wisdom teeth that's been coming out, but I cannot remember the health insurance policy number. Can the tool help me with it?

Really hoping that it doesn't let out the number itself and that it remembers what I told it in the beginning to use the Xs. But if it does, oh, there you go.

So, Zeta answered in this case, Zeta is the assistant that is responsible for answering any questions that are connected to our benefits policies or any other sort of benefit that an employee can have a critical software. So, there we go, if it wasn't in this demo scenario, it would have provided me with the the health insurance policy number.

Closing the Demo with a Joke

So let's close off the demo. Volt, please crack an early joke to end on a good note. Let's see what Volt comes up with. Hopefully nothing too bad.

And we can actually wrap this up in a way that makes us all have a good laugh. Drum roll. The suspense is killing me. Come on, Volt.

Give me a good one. Oops. There we go. Why do programmers prefer dark mode?

Because light attracts bugs. I think that's great. I think that's just perfect.

Let's reply back with something that Perhaps not everyone agrees with, but yeah. Thank you so much.

Conclusion

This is the Titan Spot at Critical Software. We're very hopeful of the developments of generative artificial intelligence. We're tackling it straight ahead, and we hope to continue doing so in a way that's meaningful and that provides value to us as a company, but also to our clients and stakeholders.

Finished reading?