Thursday, October 31, 2024 - 07:00

As industries increasingly adopt AI to enhance productivity and innovation, there’s a growing demand for tools and IDEs that seamlessly integrate AI capabilities. Yet, building such AI-powered solutions from scratch involves significant effort. Developing reliable prompts, integrating large language models (LLMs), handling data interactions, and ensuring a smooth user experience are all complex tasks that can detract from a tool builder’s focus on innovation.

The Eclipse Theia project seeks to answer these challenges with Theia AI. This robust, extensible framework is designed specifically to build AI-driven IDEs and tools, including tools that are not code-centric, to easily integrate AI capabilities into their tools and IDEs. 

But we’ve also gone further with experimental AI support in the Theia IDE to provide end users with an open, AI-driven development environment with full transparency and control over AI interactions, including useful features like code completion (Figure 1). 

 

Figure 1: Smart AI Code completion in the Theia IDE 

Theia AI Accelerates Tool Development through modular, Reusable Features

Building an AI-powered tool from scratch can be daunting. Tool builders must manage communication between the tool and the AI models, craft custom AI interactions, and ensure smooth data handling. Many of these challenges are universal across different tools, requiring developers to repeatedly address them.

Theia AI tackles these common challenges head-on with reusable features that drastically reduce development effort. 

LLM Access and Communication

With Theia AI, tool builders can effortlessly integrate their preferred AI models — whether cloud-based services like OpenAI, self-hosted models for privacy concerns, or even local LLMs running within their infrastructure — without needing to build these connections from scratch. The Theia AI framework provides a powerful API for managing LLM communication, enabling users to plug in multiple LLMs for different tasks if desired. Additionally, tool builders can use the framework to create complex communication workflows, such as processing content incrementally as it streams in, handling function calls from LLMs, and requesting structured output like JSON responses (Figure 2).

A diagram of a software system

Description automatically generated

 

Figure 2: Architecture and agent management of Theia AI

Agent Creation, Configurability, and Extensibility

At the core of AI integrations are AI agents that manage interactions between the user, the tool, and the LLM. Theia AI makes creating and configuring agents straightforward. Reusable components allow for rapid agent development, and tool builders can control how agents interact with the tool, the data, and the user. Whether a single agent manages multiple tasks or multiple agents specialise in specific functions, Theia AI supports flexible agent creation based on your tool’s use case.

The framework also includes built-in extensibility, allowing agents to communicate with one another dynamically. This allows for sophisticated AI-driven workflows where agents handle different aspects of a task, from data retrieval to decision-making.

In a graphical modeling tool, for example, one agent could assist with model validation while another suggests improvements to the model’s structure. Both agents communicate seamlessly to deliver a smooth user experience.

Prompt Management System and Template Registry

Prompt management is critical for delivering accurate AI responses. Most AI-powered tools use complex prompting strategies, such as chain-of-thought or n-shot prompting, which require multiple templates and context augmentation. Theia AI includes a prompt management system that allows developers to store, manage, and dynamically adjust prompts at runtime.

This system is particularly useful when developers need to iterate on AI interactions or when user feedback indicates the need for fine-tuning. Prompt templates can also be exposed to users or testers for collaborative improvements.

For example, a custom IDE built for data scientists may expose certain prompt templates, allowing users to tweak the AI’s behaviour for different project stages, such as exploratory analysis or reporting (Figure 3).

 

A screenshot of a computer

Description automatically generated

Figure 3: Theia AI prompt editing

Data Interaction and Control

AI interactions often rely on augmenting prompts with tool-specific data or using tool functions that allow the LLM to retrieve information directly from the tool. Theia AI simplifies this process by providing dedicated APIs for managing data access and tool functions. This ensures that developers have full control over the AI’s interactions with the tool’s state and its data.

Data privacy is a top concern in AI integrations. Theia AI addresses this by enabling fine-grained control over which information the AI can access. Developers can define which variables are passed to the LLM, limiting data exposure while ensuring the AI can still perform useful tasks.

 

Customisable Chat and User Interfaces

A key part of any AI-driven tool is the user interface. Theia AI provides a flexible, customisable chat view that can be adapted to your tool’s unique needs. Whether you need a basic chat interface for interacting with the AI or a more complex system with buttons, context menus, and custom widgets, Theia AI’s UI framework makes it possible without requiring developers to build everything from scratch (Figure 4).

 

A screenshot of a computer

Description automatically generated

Figure 4: An example customised chat interface in the Theia IDE

Empowering Developers: Theia IDE Unlocks Transparent and Controllable AI

The Theia IDE is a state-of-the-art code development tool. Its foundation on modern web technologies enables it to run seamlessly both on the desktop and in the browser. Built on the Theia Platform, it offers compatibility with VS Code extensions and leverages standards like the Language Server Protocol (LSP) and Debug Adapter Protocol (DAP) to provide a cutting-edge coding experience. 

The latest release introduces experimental support for AI-powered code completion, an AI terminal assistant, and a powerful chat interface, providing an innovative AI-enhanced development experience (Figure 5). All these features are built on Theia AI.

 

A screenshot of a computer

Description automatically generated

Figure 5: Theia IDE with AI features enabled

 

Unlike many proprietary systems that hide their inner workings, Theia IDE allows developers to explore the full extent of AI interactions, from selecting the LLM to customising prompts and reviewing data exchanges, providing unprecedented control over and transparency into AI interactions. 

 

Full Control Over LLM Selection

Users can choose which LLM to use based on their preferences — whether they need the power of a cloud-based service or the privacy of a self-hosted model. Theia IDE allows developers to fine-tune AI behaviour, optimising their workflow with the LLM best suited to their specific needs (Figure 6).

 

A screenshot of a chat

Description automatically generated

 

Figure 6: Seamless LLM switching in Theia IDE

Complete AI Communication Transparency

Theia IDE provides visibility into the full history of interactions between the tool and the LLM. Developers have a clear picture of how the AI is operating, making it easier to understand and trust the AI’s output and optimise the workflow.

Prompt Customisation

One of Theia IDE’s standout features is its prompt customisation capabilities. Developers can view, edit, and refine the prompts used by the AI, ensuring that AI behaviour aligns with project goals and coding standards.

Context Sharing and Tool Interactions

Developers control which data the AI can access, ensuring privacy and limiting the risk of sensitive information being inadvertently shared. Additionally, Theia IDE allows full control over how the AI interacts with the workspace and tools, from retrieving project data to executing commands.

Delivering a Superior Experience for Tool Builders and End Users Alike

Theia AI and Theia IDE set a new standard for AI in development, targeting two distinct groups but sharing a common goal: providing transparency, flexibility, and control over AI integrations.

For tool builders, Theia AI offers a powerful, open framework to build custom AI-driven tools and IDEs across various industries. Whether you’re working on modelling environments, workflow management systems, or industry-specific IDEs, Theia AI provides the components and extensibility you need to stay ahead of the curve.

For end users, Theia IDE’s experimental AI support introduces a truly open, AI-powered development environment. With full control over LLM selection, transparency in AI communications, and customisable prompts, you can tailor AI assistance to your specific needs. 

Start Using and Contributing to Theia AI and Theia IDE Today

As both tool builders and end users embrace the potential of AI, Theia AI and Theia IDE provide the foundation for more open, adaptable, and productive AI-driven solutions. Together, they represent the future of AI in development — where control and innovation go hand in hand.

Even though Theia AI is still in its beta phase, it is already a fully usable and productive solution, actively helping tool builders integrate AI into real-world projects and enhance their tool offerings. So, if you want to build an AI-driven tool offering today, explore how Theia AI can elevate your efforts.

And for users of the Theia IDE, this latest release puts our powerful and innovative AI solution in your hands. Start leveraging the power of Theia IDE’s AI support to enhance your workflow and experience the next generation of AI-enhanced development tools.

About the Author

Jonas Helming

Jonas Helming

Jonas Helming co-lead EclipseSource and works as a consultant and software engineer for building web-based Tools, IDEs, and tailored AI Assistance in Tools and IDEs.

Maximilian Koegel

Maximilian Koegel

Maximilian Koegel co-leads EclipseSource and works as a consultant and software engineer for building web-based Tools, IDEs, and tailored AI Assistance in Tools and IDEs.

Philip Langer

Philip Langer

Philip Langer co-leads EclipseSource and works as a consultant and software engineer for building web-based Tools, IDEs, and tailored AI Assistance in Tools and IDEs.