Vladislav Tankov is a Director of AI, leading the development of JetBrains AI and Grazie products, responsible for AI Assistant in JetBrains IDEs.
JetBrains is a global software company specializing in the creation of intelligent, productivity-enhancing tools for software developers and teams.
Can you provide an overview of JetBrains AI and its primary objectives?
We see the world of software development changing rapidly with the emergence of AI. That’s why we created JetBrains AI, a comprehensive suite of AI-powered tools designed for modern developers.
JetBrains AI leverages various large language models (LLMs), fine-tuned to work seamlessly within your projects across various JetBrains IDEs. This integration of AI into your projects offers significant advantages:
- There’s no need to open additional tools while coding.
- Our AI service ensures you have access to cutting-edge LLMs now and in the future, without the hassle of researching or switching providers.
It’s also secure. Our products ensure that only the necessary data is sent to the LLMs, and neither we nor our service providers use your data or code to train any generative models.
What are some of the key features of JetBrains AI that differentiate it from other AI-powered development tools?
We are independent and committed to delivering the best quality available across all modern LLM providers. We achieve this by using a combination of various models, including our own, all while maintaining a strong focus on privacy.
As an example of the key features we deliver, let’s take a closer look at our AI Assistant. I’d like to highlight the following features:
- Multiline code completion: Can you imagine the satisfaction of seeing your code come together effortlessly?! This feature isn’t just a time-saver, it’s a game-changer. It autocompletes both single lines and entire blocks of code, all while staying true to your unique coding style and naming conventions.
- In-editor code generation: This feature allows you to turn your thoughts into reality, right in your editor. It lets you quickly transform plain text descriptions into fully functional code snippets without ever breaking your flow.
- Context-aware AI chat: This powerful tool is seamlessly integrated into your IDE, ready to assist you at any moment. Whether you need to ask a question, explain complex code, iterate on a task, or search for files and usages, it’s there to help you.
You can discover more about our other capabilities here.
Could you elaborate on the machine learning models used in JetBrains AI and how they are implemented within the IDE?
LLMs from OpenAI, Google, as well as our own custom models power JetBrains AI. We then enrich the prompts with project-wide context collected with IDE functionality, which allows the models to generate responses that are highly relevant and specific to your current project.
For example, the code completion feature is implemented via in-house models and has cloud multiline and local single-line versions. Both are trained on permissive codebases with datasets tailored to our IDEs.
How does JetBrains AI ensure context awareness in its code suggestions and completions?
We use our expertise in code analysis tools to provide AI with a comprehensive understanding of the codebase. We use code insight to get information about the project structure and enrich the context with it. Also, we provide LLMs with tools to introspect the project on their own. Finally, we use code insight in the training stage to improve the performance of our models.
This mix of deep understanding in both areas enables us to lead the way in AI features for coding.
How does JetBrains AI Assistant help in reducing the cognitive load on developers?
Our latest research shows that a significant majority of users have experienced positive outcomes from using JetBrains AI Assistant.
We see that JetBrains AI Assistant boosts the developer experience, enhancing productivity, happiness, and satisfaction. A notable 77% of users feel more productive. Similarly, 75% express that they are happier with their JetBrains IDE experience, and 66% are more satisfied with their workflow when using JetBrains AI Assistant.
Additionally, our study found that JetBrains AI Assistant accelerates developer performance – 78% of respondents report spending less time on information search, 71% are able to complete tasks more quickly, and 55% say that they have more time for more interesting work tasks.
JetBrains AI Assistant boosts efficiency and flow. Among participants, 58% report completing tasks with less mental effort, thus reducing their cognitive load. Additionally, nearly half of the participants notice enhancements in their ability to focus and enter a flow state, with 49% and 46% reporting improvements in each area, respectively.
What advancements does JetBrains AI offer in terms of code generation, refactoring, and documentation creation?
Thanks to JetBrains AI’s deep integration with multiple JetBrains products, you can reap the benefits of AI-powered assistance right in the comfort of your IDE and team tools without increased investment.
With distractions and context switching out of the way, you can optimize your daily development workflows, delegate some routines, and increase and raise your productivity while never compromising code quality.
Let’s talk about each of the activities you touched upon in your question:
- Code generation: As I mentioned before, JetBrains AI allows you to quickly create functional code snippets from simple descriptions and can generate entire blocks of code that adhere to your project’s standards. The latter is particularly useful when dealing with repetitive patterns or boilerplate code.
- Refactoring: The AI refactorings are currently a work in progress, but they are already context-aware and fully integrated with your codebase. While we continue to perfect them, you can still benefit from the IDEs’ built-in refactorings. JetBrains is renowned for its best-in-class refactorings, which were praised by Martin Fowler.
- Documentation creation: JetBrains AI automates the process of generating accurate and comprehensive documentation based on the code and comments within your project. This feature helps maintain up-to-date documentation with minimal effort and ensures that your team always has reliable, well-documented code to work with.
How does JetBrains AI handle data security, especially when interacting with large language models?
We work only with the LLM providers that have been vetted and that adhere to the strictest principles of security and privacy. None of the LLMs used by JetBrains AI store or use our customers’ inputs for training any generative models. We adhere to these standards during the development process of our own models, as well.
Can you elaborate on the recent partnership between JetBrains and Google Cloud to integrate Gemini models into JetBrains AI Assistant? How will this enhance the capabilities of AI Assistant for developers?
What truly sets JetBrains AI Assistant apart from other AI assistants is its ability to choose the most suitable LLM for each task. This ensures you can focus on the creative aspects of coding while AI handles the repetitive stuff.
We see Gemini as one of the leading LLMs on the market. We believe that Gemini 1.5 Pro and Gemini 1.5 Flash running on Google Cloud’s Vertex AI will open up a range of new use cases for JetBrains AI Assistant with its long context window, advanced reasoning, and overall impressive performance. Gemini 1.5 Flash will help with use cases where high-volume cost efficiency and low latency are paramount.
What steps is JetBrains taking to ensure that AI Assistant continues to meet the evolving needs of developers?
We are constantly searching for innovative solutions, working with industry leaders and emerging startups to stay ahead of the race. This involves regularly evaluating and integrating the latest advancements in AI and machine learning to ensure our tools remain on the cutting edge.
We also invest heavily in research and develop our own models to ensure our relevance in the years to come. By actively participating in the AI research community, we gain early insights into new trends and technologies. This allows us to quickly adapt and implement the latest advancements in our AI tools. Additionally, we continuously gather feedback from our developer community to refine and enhance our offerings so that JetBrains AI evolves in line with the real-world needs of developers.
What impact do you foresee JetBrains AI having on the broader software development industry in the coming years?
We believe AI is poised to revolutionize the software development landscape, and JetBrains AI will play a significant role in this transformation.
While we’re starting with code generation and enhancing productivity through small features, this is just the beginning.
We think that in the future AI won’t just assist with routine tasks but will become an integral part of the development process, tackling increasingly complex challenges. In the years to come, developers will find themselves reviewing and refining code generated predominantly by AI agents rather than by humans. This shift will redefine the role of developers, allowing them to focus on higher-level problem-solving and innovation, with AI as their trusted collaborator.
Thank you for the great interview, readers who wish to learn more should visit JetBrains.
Credit: Source link