Artificial Intelligence (AI) technologies are penetrating all aspects of software development at an unprecedented rate, and the evolution of AI programming tools is particularly compelling. In this paper, we will analyze the development trends of the next generation of AI programming tools, and combine them with AutoDev Sketch practices to explore how to build smarter, more efficient AI-assisted programming experiences.
AI Programming Tools 2.0: A Look Ahead at the Trends
There are a number of AI programming tools on the market that are highly popular with developers, such as Cursor, GitHub Copilot Edit, WindSurf, and Cline etc. By analyzing these tools, the AutoDev Sketch team summarized several key features of the new generation of AI programming tools:
The functionality of AI programming tools is undergoing a profound transformation, and they are no longer limited to just rudimentary auxiliary functions such as code completion and code prediction. The new generation of tools is moving in a smarter direction, for example, by attempting to perform more complex AI automated coding and verification, which typically consumes more Token Resources. In addition, an emerging trend is Asynchronous AI codingIt allows AI to work continuously in the background for deeper collaboration with developers, resulting in a smoother development experience.
Based on these observations, the AutoDev Sketch team believes that the core features of AI programming tools 2.0 can be summarized in the following three points:
Agent Driven: Deeper Intent Understanding
Agent Driver is a core driver of AI programming tools 2.0. This means that the new tools will rely even more heavily on the reasoning capabilities of the powerful underlying models. Combined with the faster and more accurate access to contextual information provided by programming tools, AI is better able to understand the developer's true intent and generate code that better meets the developer's expectations.Agent's autonomy and planning capabilities enable AI to perform complex programming tasks more efficiently, rather than just responding to the user's commands in a passive manner.
Developer Experience First: Creating a Smooth Mindstream Experience
Developer experience is prioritized is an important principle in the design of AI programming tools 2.0. New tools need to better integrate into developers' daily workflows and provide more intimate features in code editing, prediction, and automated testing to maximize the developer's mind-flow experience. For example, tools such as Cursor strive to keep developers focused and efficient in the coding process by combining the developer's various operational behaviors in the IDE, providing a large number of mechanisms to reduce the burden on the developer's mind, and elegantly handling scenarios such as errors and retries.
Automated validation: guaranteeing code quality
automated verification It is an integral part of AI Programming Tools 2.0. It refers to the ability of the tool to automatically detect and verify the quality and correctness of business logic of AI-generated code, and to fix problems caused by AI hallucinations, e.g., through automated fixes by techniques such as patching. The introduction of automated validation mechanisms aims to radically reduce the negative impact of AI hallucinations and ensure code reliability. For example, Cursor integrates a large number of practical Lint tools and Terminal terminals, providing developers with a wealth of automated code verification means.
In addition to the core features mentioned above, some AI programming tools 2.0 exhibit other great design paradigms:
- Fault-tolerant interactionTo further reduce the burden on the developer's mind, some tools have introduced a three-phase "generate-check-rollback" mechanism. This mechanism reduces the cost of trial and error by allowing the developer to check the code after it has been generated by the AI and roll it back if necessary.
- Scenario Focus: In order to improve efficiency and accuracy in specific scenarios, some tools are beginning to adopt scenario-focused design ideas. For example, for specific scenarios such as code review and vulnerability remediation, customized interaction processes and tools are provided to meet the specific needs of different scenarios.
Most of the popular AI coding 2.0 tools in the market are based on the VSCode platform. However, VSCode is essentially just an editor, and the limitations of its API restrict the functionality of AI coding tools to a certain extent, hindering the realization of more advanced functions. This has led to AutoDev The Sketch team began to wonder: would it be better to build the AI coding tools directly on a more powerful integrated development environment (IDE)?
The AutoDev Sketch team's thoughts on AI coding tools 2.0
The AutoDev Sketch team conducted an internal study of user behavior, and they found that the typical Intellij IDEA user was not satisfied even after using the Cursor The reason for this is that although tools like Cursor can improve development efficiency to a certain extent, this improvement in efficiency does not fully compensate for the experience gap between the editor and the IDE. The reason for this is that although tools like Cursor can improve development efficiency to a certain extent, this improvement in efficiency does not fully compensate for the gap in experience brought about by the difference in functionality between editors and IDEs. In other words, for heavy IDE users, the powerful features and complete ecosystem provided by IDEA are still irreplaceable.
As a result, the AutoDev Sketch team began to think deeply about how best to develop AI coding tools 2.0 to fully utilize the strengths of the IDE to create a superior AI-assisted programming experience?
Thought 1: Editors focus on experience, IDEs focus on ecology
The AutoDev Sketch team provides a brief analysis of the advantages and disadvantages of editors and IDEs:
VSCode
- Remarkable Advantages: VSCode's greatest strengths are its lightweight and flexibility, allowing developers to rapidly prototype and iterate on features.
- relative disadvantage: Although VSCode has a rich plug-in ecosystem, the quality of plug-ins varies, and many features need to be redeveloped and redesigned by developers. In addition, although VSCode offers features such as the Language Server Protocol (LSP), Debug Adapter Protocol (DAP), and Model Context Protocol (MCP), VSCode does not have a rich plug-in ecosystem, many features require redevelopment and redesign.MCP) and other protocols, but there are still limitations in achieving deep ecological integration.
Intellij IDEA Series
- Remarkable Advantages: The biggest advantage of the Intellij IDEA family of IDEs is their out-of-the-box features and high-quality official plugins. These plug-ins provide high-quality contextual information to support the intelligence of AI coding tools.
- relative disadvantage: Compared with VSCode, the Intellij IDEA family of IDEs has higher development costs, slower development speeds, and a relative lack of documentation, which may affect the accuracy of AI code generation to some extent.
Therefore, the AutoDev Sketch team believes that AI coding tools 2.0 should leverage the powerful tool ecosystem and plugin capabilities of IDEs more than just the editor level.
Reflection 2: Building on the IDEA Plugin Ecosystem to Build End-to-End Automation
Intellij IDEA is an excellent example of an existing ecosystem of development tools. Especially in the back-end API development scenario, IDEA perfectly integrates the tool ecosystem required for the "design, development, and verification" stages. For example:
- design phase: Tools such as Swagger, PlantUML, Mermaid, etc. can help developers with API design and documentation.
- development phase: HttpClient, Curl, Database plug-ins and other tools can improve the efficiency of API development.
- calibration phase: Tools such as JUnit, Playwright, SonarLint, etc. can guarantee code quality and system stability.
With these rich plug-ins, the AutoDev Sketch team can build a unified interface for AI, providing AI with more precise prompts, a more powerful toolset, and better code validation mechanisms to automate the end-to-end development process.
Reflection 3: Building High-Quality Context to Reduce AI Illusions
In order to minimize AI illusions and improve the accuracy and reliability of code generation, the AutoDev Sketch team believes it is critical to build high-quality contextual information. Taking back-end development as an example, the AutoDev Sketch team can build the core of Agent-driven AI coding tools through the following three engineering practices:
- Software Engineering Context EngineeringThe goal of this project is to obtain key contextual information about the project, such as dependencies, database information, framework information, etc. AutoDev Sketch can analyze the project configuration and code and automatically extract contextual descriptions like the following: "This workspace uses Gradle+Java+JDK_18", "This project uses MariaDB", "You are working on a project that uses Spring Boot 2.7.10, Spring MVC, JDBC to build business logic.". project uses MariaDB", "You are working on a project that uses Spring Boot 2.7.10, Spring MVC, JDBC to build business logic."
- Function Call Engineering (OpenAI)The project focuses on continuously optimizing the function call capability of AI models in different scenarios and improving the efficiency of AI integration with various tools and APIs.
- Cue word engineering (Claude)For different AI models, the AutoDev Sketch team provides Chain-of-Thought Prompts to guide the model to better learn and understand the developer's intent.
High-quality contextual information, coupled with an optimized cue word strategy, can significantly reduce the occurrence of AI illusions, thereby improving key metrics of AI coding tools, such as usability, user acceptance, and code accuracy.
AutoDev Sketch's AI Coding Tool 2.0 Hands-on
Based on this analysis and thinking, the AutoDev Sketch team set out to build AutoDev Sketch, a next-generation AI coding tool, based on the core concept of:High-quality system cues + Large Language Modeling (LLM) reasoning capabilities + IDE context-awarenessAutoDev Sketch. Through the organic combination of these three, AutoDev Sketch is able to deeply understand developer intent and translate it into interactive Sketch views for a smarter, more natural AI-assisted programming experience.
1. Building high-quality context and tool linkages
AutoDev Sketch is deeply integrated with the IDEA plug-in ecosystem for high-quality context-awareness and tooling. For example, AutoDev Sketch integrates the Database component, which provides AI with unified database manipulation capabilities and encapsulates them as contextual information and tools to help developers work more efficiently on database-related development.AutoDev Sketch realizes the deep interaction between AI and databases through the following three steps:
- Enhanced system prompts: When the user connects to the database, AutoDev Sketch automatically adds the database connection information to the system prompt, e.g. "Workspace context: Project using MariaDB 11.5.2-MariaDB".
- Tool Call: When the AI recognizes that a user has a need for a database operation, it can proactively invoke the
Database
tools and utilizing/database:schema
and other APIs to obtain database schema information to assist in code generation. - SQL Interaction and ValidationAutoDev Sketch not only supports AI to generate SQL code, but also allows AI to directly interact with the database to verify the correctness of the generated code. In the future, AutoDev Sketch will also provide a more complete SQL code verification mechanism to further guarantee code quality.
In addition to the Database component, AutoDev Sketch also integrates other useful IDEA plug-ins such as HttpClient, SonarLint, etc., which are designed to provide developers with more comprehensive development, testing and code quality verification capabilities.
2. A rich toolset: bridging the last mile of automated adoption
To further enhance the developer experience, AutoDev Sketch explores deeper into tool integration. Unlike VSCode-based AI editors such as Cursor, AutoDev Sketch takes full advantage of the IDE's native functionality and encapsulates it as a tool for AI calls. Here's a list of the tools currently available in AutoDev Sketch:
For example.run
,refactor
cap (a poem) structure
AutoDev Sketch wraps them into tools designed to help AI more accurately understand the developer's intent and generate code that more closely matches the developer's expectations, thus enabling the automatic adoption of AI-generated code.
3. Diverse Sketch Views: Building a Fluid Development Mindstream
After the AI generates code, AutoDev Sketch renders the code into an interactive Sketch view, which is designed to help developers better understand the AI-generated code, and on the basis of which they can make further edits and iterations to enhance the overall developer experience. In order to achieve a smoother development mindflow, AutoDev Sketch fully considers the interaction possibilities in different scenarios in the Sketch view, for example:
- Versatile Patch/Diff handling: The Sketch view supports multiple Patch and Diff handling, making it easy for developers to view and apply code changes, and integrates features such as Lint checking to ensure code quality.
- Front-end Application WebView PreviewIn front-end application development scenarios, when the developer starts the dev service, AutoDev Sketch can automatically open the WebView window to show the application running effect in real time, which is convenient for the developer to quickly preview and debug.
- Reliance on security checksSketch View provides security checking of dependencies when AI generates a dependency file, helping developers identify and address potential security risks in a timely manner.
- Other interaction possibilities: For example, providing code structured display, code snippet fast running and other functions to further improve the development efficiency and user experience.
Through these continuous interaction designs, AutoDev Sketch aims to minimize the mental burden on developers and improve overall development efficiency and user experience.
Summing Up: A Look at the Future of AI Coding Tools 2.0
In summary, the core features of AI Coding Tools 2.0 can be summarized in the following three key aspects: deep integration of the R&D knowledge base and tool ecosystem, continuous optimization of developer coding mindstream, and support for diverse AI model architectures.
- Leveraging the R&D ecosystem: Future AI coding tools will need to be more tightly integrated with existing R&D toolchains and knowledge bases to truly enable intelligent code generation and assistive functions.
- Follow Developer Coding Mindstream: Through continuous automated improvements and optimizations, AI coding tools should aim to create a smoother and more efficient coding experience for developers.
- Multi-model architecture supportTo meet diverse development needs, future AI coding tools will need to adopt a multi-model architecture, e.g., using different AI models to be responsible for tasks such as code planning, code understanding, and code completion, respectively.
Through AutoDev Sketch's exploration and practice, we believe that developers have a clearer understanding of how to build the next generation of AI coding tools, and the AutoDev Sketch team hopes to create smarter and easier-to-use AI programming tools for developers through continuous technological innovation and product iteration, so that together we can embrace the new era of AI-driven software development.
If you are interested in AutoDev Sketch, please visit AutoDev Sketch to learn more.