Jonas Helming, Maximilian Koegel and Philip Langer co-lead EclipseSource. They work as consultants and software engineers for building web-based and desktop-based tools. …
Theia AI Sneak Preview: Let your agents talk to each other!
September 30, 2024 | 5 min ReadCollaboration between multiple, specialized AI agents is often handled as the next step in the evolution of AI assistance in tools and IDEs. Yet, in many tools and IDEs, users have to explicitly address their requests to specific agents that are specialized on a specific topic. Wouldn’t it be nice, if you do not have to know which agent to ask for help? In this article, we show an example of how you let your agents interact with each other with Theia AI, a fully open AI framework for building AI-assistance for tools and IDEs. We will highlight one of the core principles, Flexibility for Tool Builders at the example of an agent that orchestrates various other agents to find the best suitable candidate to answer a users request.
Theia AI is an open and flexible technology that enables developers and companies to build tailored AI-enhanced custom tools and IDEs. Theia AI significantly simplifies this task by taking care of base features such as LLM access, a customizable chat view, prompt templating and much more, and lets tool developers focus on engineering prompts for their use cases and integrate them seamlessly in Theia’s editors and views, as well as in the tool provider’s custom editors and views. Theia AI is part of the Theia Platform and is ready to be adopted by tool builders wanting to be in full control over their AI solutions. Learn more about the vision of Theia AI.Theia IDE is a modern and open IDE built on the Theia platform. With version 1.54 Theia IDE will integrate experimental AI support based on Theia AI to showcase AI-powered functionalities in a highly customizable, transparent and open setting. Learn more about the Theia IDE.
As we have shown before, Theia AI makes it easy to create so-called agents. An agent is typically responsible for a specific task or topic, e.g. to help users with code questions, or find their way through the custom tool. As a tool builder, you have the choice whether you want to provide one, potentially very powerful agent or split your AI support into several dedicated more specialized agents. Theia AI supports both ways, but based on our experiences, a modular architecture with several agents is usually easier to manage and maintain, as you can focus your context augmentation and prompting strategy on a narrower use case. If you directly embed the AI support into a specific UI, e.g. code completion in a code editor, the user does not have to worry which agent is responsible for this. However, when using the global chat, there might be several available agents that the user can talk to. Like other AI tools, Theia AI supports to directly address specific agents. The following screenshot shows an example from the Theia IDE, which is built on Theia AI, where the user directly interacts with the command agent.
However, we actually do not necessarily want to put the burden on the user to select the right agent, so why don’t we just use AI for selecting the agent, too? Fortunately, these kinds of use cases are very well supported in Theia AI due to its flexible nature as a framework. In the Theia IDE, we have integrated a so-called Orchestrator agent. Its task is to select the most appropriate agent based on the user’s request. As we can see in the following screenshot, for the query used before, it correctly selects the command agent, without the user needing to manually do this.
As described before, the Theia IDE also allows us to look at the prompt of the Orchestrator agent (see screenshot below). What’s interesting here is the use of the variable ${agents}. It contains a list of all chat agents and their descriptions. Therefore, the Orchestrator agent will automatically consider all available agents, e.g. when a new one is added or for example if the user deactivates one (which is easily possible in Theia AI).
Automatically orchestrating multiple agents in a chat is decreasing the complexity for end users. For tool builders, it is an interesting concept to keep the complexity of single agents low, but still provide various use cases. Please note that in many customer projects, we also orchestrate several agents from within one agents (rather than making it transparent in the chat). This for example applies when using multi-turn flows, which have proven to be very efficient in many use cases. In this scenario, one agent could keep full control, but deal with various flows and prompts. Theia AI does not restrict how you organize your AI assistants and prompt flows, it supports you well in selecting the best approach for your use case by providing full flexibility.
We will show more showcases demonstrating the core principles of Theia AI within the next few days, see also:
← Previous: Transparent variables and tool functions | Next: Powerful AI integration paired with the most flexible tool platform →
Stay tuned and follow us on Twitter.
If you want to sponsor the project or use Theia AI to create your own AI solution, please get in contact with us. In particular, we are also looking for LLM providers who want to make their language models available via Theia AI.
EclipseSource is at the forefront of technological innovation, ready to guide and support your AI initiatives based on Theia AI or any other technology. Our comprehensive AI integration services provide the specialized know-how necessary to develop customized, AI-enhanced solutions that elevate your tools and IDEs. Explore how we can assist in integrating AI into your tools with our AI technology services. Reach out to begin your AI integration project with us.