What’s next for Junie: building a smart and controllable AI coding agent

For the last few months, our team has been on a thrilling journey, building the next generation of AI-assisted tools – Junie, the coding agent by JetBrains. After countless hours of experiments, collecting your feedback, and using Junie internally, we are convinced that coding agents bring a paradigm shift in how software is built. Today, […]

May 20, 2025 - 18:40
 0
What’s next for Junie: building a smart and controllable AI coding agent

For the last few months, our team has been on a thrilling journey, building the next generation of AI-assisted tools – Junie, the coding agent by JetBrains. After countless hours of experiments, collecting your feedback, and using Junie internally, we are convinced that coding agents bring a paradigm shift in how software is built.

Today, we want to share our vision and priorities for Junie, built for developers who love to code.

Increased end-to-end development speed

We believe true speed isn’t measured in how fast an AI generates lines of code – it’s measured from the moment you conceive an idea to the moment your code is merged, until it is deployed, delivering value to users.

That’s why we are investing lots of product and technical effort into every step of the developer workflow:

  • Formulating tasks, following up on recent tasks, or even brainstorming new ideas: Ask mode was released in April, so you could discuss ideas with Junie, provide better follow-ups, and improve collaboration with our agent.
  • Understanding and controlling Junie better: The Plan feature provides clear reasoning and a two-column interface so you can see the high-level direction and the specific steps being done. If you want to change the plan, you can stop Junie, add new hints in the follow-up, and continue the task with better guidance. We are now investing in stop-continue mode improvements and are also planning to implement support for real-time steering mode.
  • Reviewing code effectively and quickly: Developing both Code mode and Ask mode helps you to provide follow-ups, discuss the changes, and implement them as quickly as possible – and exactly in the way you want them.
  • Much-improved terminal-based integration: Ask Junie to run scripts, read logs, or deploy. Open the interactive Junie terminal to see and control what’s going on. Manual approval mode and brave mode offer more autonomous execution, with many improvements coming to brave mode to give you greater flexibility and granular control.
  • Quality of generated code: The efforts here will reduce the probability that you’ll discard generated code, rewrite it, or need to deal with introduced technical debt that slows you down later.

A manageable and developer-centric AI agent

We dislike black-box AI as much as anyone. Our goal with Junie is simple: We don’t want you playing a turn-based game with a coding agent where, when an agent makes a move, you spend 10 minutes reading code trying to figure out what happened, then you comment or roll back, and the agent continues. 

This is not an effective approach, which is why we’re investing in the Plan feature, a clear and structured overview of steps. Junie proposes solutions clearly, always showing you the plan and intermediate steps, as well as the reasoning behind them. Work with Junie as your collaborator and save time. Read the explanation, see if tests were performed, and review test code – or stop at any moment if you disagree, provide guidance in the follow-up input, and continue moving in a good direction.

Automatic gear-shift approach for models

In a rapidly evolving AI industry, new models emerge all the time, which is why Junie isn’t locked into a single AI model. Instead, we test multiple models and configurations, including new ones, evaluating them against real coding benchmarks, real-world tasks, and user feedback.

Our philosophy is simple: It’s our job, not yours, to determine which model performs best for a given task. This data-driven approach ensures Junie’s model choices consistently remain top-tier without requiring guesswork on your end. 

This year, we will definitely ship an advanced mode that allows the manual selection of models and custom model endpoints (we use this internally for our experiments). But in most cases, if we’ve done our job right, Junie will use the best model (or combination of models) for your task, like driving an automatic transmission vehicle instead of a manual.

Customizing Junie for any task, developer, or team

One size never fits all in software development. We understand that every developer and team has preferences for the behavior of the coding agent. Junie is different for everyone. Some might want Junie to be conservative and only make changes when it’s very sure about them; others might prefer it to be aggressive and creative. Currently, .junie/guidelines.md provides basic solutions and customization, and we recommend actively using it for maximum value. 

At the same time, we’re working on implementing better configurable settings for customizing Junie’s behavior, for example, adjustable dials for creativity, risk tolerance, coding style strictness, etc. Additionally, some configurations are purely guideline-based, while others could be deterministic, such as a setting to always run tests before submitting – another area we’re actively exploring.

Scaling to bigger tasks

Right now, Junie is good for tasks with five or ten files and up to a few dozen steps. But we’re building it capable of breaking large coding tasks into smaller ones, completing them in parallel, and seamlessly connecting them. Our goal is to help you delegate complex tasks to Junie, even when they take hundreds of files and steps. 

We see this as the logical next step in collaboration with the coding agents: Today developers understand the limits of coding agents, breaking large tasks into smaller, manageable pieces. Tomorrow Junie will handle this autonomously, allowing you to focus on more important problems and searching for solutions.

Introducing new pricing tiers

Our goal is to make Junie available to as many developers as we can, while offering a worry-free pricing model for those who use it regularly. Junie should never force you to count tokens, limit runs, or second-guess your usage. To do this, we introduced two main tiers: JetBrains AI Pro, which gives you a chance to evaluate Junie and use it from time to time, and JetBrains AI Ultimate, which covers most of the needs and requests of users. 

At the same time, we’ve noticed some confusion from JetBrains AI Pro users about usage limits that are being reached too fast. We are working on both optimizing context usage and improving transparency around the quota spent for Junie so you can control it better. 

An agent for developers who love to code

A year ago, our first prototype scored about 20% on SWEBench. By January, we improved that score to 53%. Today, we’re at 60.8%. The result is currently one of the highest in the industry. It shows how well the AI produces correct code for real-world coding tasks – and how much you can trust your coding agent.

However, our most important metric is not the highest benchmark, nor the amount of code generated for the project, nor its speed. We value your feedback and prioritize the quality of UX.

The best car isn’t necessarily the fastest car, and being a good collaborator involves more than just completing coding tasks quickly. During the EAP phase, we worked closely with initial user feedback, made dozens of improvements, and added several major features. We’ve seen clear progress in how our coding agent is perceived, and our plan is to develop Junie based on our vision, objective evaluations, and your feedback. 

Make it happen. With code.

With Junie