Un plongeon dans la nouvelle génération d'outils de programmation d'IA et de pratiques innovantes avec AutoDev Sketch

Les technologies de l'intelligence artificielle (IA) pénètrent tous les aspects du développement de logiciels à un rythme sans précédent, et l'évolution des outils de programmation de l'IA est particulièrement intéressante. Dans cet article, nous analyserons les tendances de la nouvelle génération d'outils de programmation de l'IA, et nous les combinerons avec les outils de programmation de l'IA. AutoDev Sketch afin d'étudier comment construire des expériences de programmation assistée par l'IA plus intelligentes et plus efficaces.

 

Outils de programmation de l'IA 2.0 : un regard sur les tendances à venir

Il existe aujourd'hui sur le marché un certain nombre d'outils de programmation de l'IA très appréciés des développeurs, tels que Cursor, GitHub, etc. Copilote Editer, WindSurf et Cline etc. En analysant ces outils, l'équipe d'AutoDev Sketch a résumé plusieurs caractéristiques clés de la nouvelle génération d'outils de programmation de l'IA :

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

La fonctionnalité des outils de programmation de l'IA subit une profonde transformation et ne se limite plus à des fonctions auxiliaires rudimentaires telles que la complétion de code et la prédiction de code. La nouvelle génération d'outils évolue dans une direction plus intelligente, par exemple en tentant d'effectuer un codage et une vérification automatisés plus complexes de l'IA, qui consomment généralement plus d'argent que les outils traditionnels. Jeton Les ressources. En outre, une nouvelle tendance se dessine Codage asynchrone de l'IAIl permet à l'IA de travailler en permanence en arrière-plan pour une collaboration plus étroite avec les développeurs, ce qui se traduit par une expérience de développement plus fluide.

Sur la base de ces observations, l'équipe d'AutoDev Sketch estime que les caractéristiques essentielles des outils de programmation d'IA 2.0 peuvent être résumées en trois points :

Piloté par l'agent : une compréhension plus approfondie de l'intention

Agent conducteur est un moteur essentiel des outils de programmation de l'IA 2.0. Cela signifie que les nouveaux outils s'appuieront encore davantage sur les capacités de raisonnement des puissants modèles sous-jacents. Combinée à l'accès plus rapide et plus précis aux informations contextuelles fournies par les outils de programmation, l'IA est mieux à même de comprendre la véritable intention du développeur et de générer un code qui répond mieux à ses attentes.L'autonomie et les capacités de planification de l'agent permettent à l'IA d'effectuer des tâches de programmation complexes plus efficacement, plutôt que de simplement répondre aux commandes de l'utilisateur de manière passive.

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

L'expérience du développeur d'abord : créer une expérience Mindstream fluide

L'expérience du développeur d'abord est un principe important dans la conception des outils de programmation d'IA 2.0. Les nouveaux outils doivent mieux s'intégrer dans les flux de travail quotidiens des développeurs et offrir des fonctionnalités plus intimes en matière d'édition de code, de prédiction et de tests automatisés afin de maximiser l'expérience du flux mental du développeur. Par exemple, des outils tels que Cursor s'efforcent de maintenir la concentration et l'efficacité des développeurs dans le processus de codage en combinant les divers comportements opérationnels des développeurs dans l'IDE, en fournissant un grand nombre de mécanismes pour réduire la charge mentale des développeurs et en gérant élégamment des scénarios tels que les erreurs et les nouvelles tentatives.

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

Validation automatisée : garantir la qualité du code

vérification automatisée Il fait partie intégrante des outils de programmation de l'IA 2.0. Il s'agit de la capacité de l'outil à détecter et à vérifier automatiquement la qualité et l'exactitude de la logique commerciale du code généré par l'IA, et à résoudre les problèmes causés par les hallucinations de l'IA, par exemple au moyen de correctifs automatisés via des techniques telles que le patching. L'introduction de mécanismes de validation automatisés vise à réduire radicalement l'impact négatif des hallucinations de l'IA et à garantir la fiabilité du code. Par exemple, Cursor intègre un grand nombre d'outils pratiques Lint et de terminaux Terminal, offrant aux développeurs une multitude de moyens de vérification automatisée du code.

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

Outre les caractéristiques de base mentionnées ci-dessus, certains outils de programmation d'IA 2.0 présentent d'autres paradigmes de conception remarquables :

  • Interaction tolérante aux pannesPour réduire encore la charge de travail du développeur, certains outils ont introduit un mécanisme en trois phases "générer-vérifier-retourner". Ce mécanisme réduit le coût des essais et des erreurs en permettant aux développeurs de vérifier leur code après qu'il a été généré par l'IA et de l'annuler si nécessaire.
  • Focus sur le scénarioLes outils d'aide à la décision : Afin d'améliorer l'efficacité et la précision dans des scénarios spécifiques, certains outils commencent à adopter des idées de conception axées sur les scénarios. Par exemple, pour des scénarios spécifiques tels que l'examen du code et la correction des vulnérabilités, des processus d'interaction et des outils personnalisés sont fournis pour répondre aux besoins spécifiques des différents scénarios.

La plupart des outils de codage d'IA 2.0 populaires sur le marché sont basés sur la plateforme VSCode. Cependant, VSCode n'est essentiellement qu'un éditeur et les limitations de son API restreignent la fonctionnalité des outils de codage de l'IA dans une certaine mesure, empêchant la réalisation de fonctions plus avancées. C'est ce qui a conduit à AutoDev L'équipe de Sketch a commencé à se poser la question suivante : serait-il préférable d'intégrer les outils de codage de l'IA directement dans un environnement de développement intégré (IDE) plus puissant ?

 

Les réflexions de l'équipe AutoDev Sketch sur les outils de codage de l'IA 2.0

L'équipe AutoDev Sketch a mené une étude interne sur le comportement des utilisateurs et a constaté que l'utilisateur type d'Intellij IDEA, même après avoir utilisé l'application Curseur Les outils de génération de code IA tels que Cursor sont utilisés pour faciliter le codage, mais en fin de compte, ils reviennent toujours à IDEA pour les tests de code et le débogage. La raison en est que même si des outils comme Cursor peuvent améliorer l'efficacité du développement dans une certaine mesure, cette amélioration de l'efficacité ne compense pas entièrement le manque d'expérience dû à la différence de fonctionnalité entre les éditeurs et les IDE. En d'autres termes, pour les utilisateurs intensifs d'IDE, les puissantes fonctionnalités et l'écosystème complet fournis par IDEA restent irremplaçables.

En conséquence, l'équipe AutoDev Sketch a commencé à réfléchir à la meilleure façon de développer des outils de codage d'IA 2.0 afin de tirer pleinement parti de l'IDE pour créer une expérience de programmation assistée par l'IA de qualité supérieure.

Pensée 1 : Les éditeurs se concentrent sur l'expérience, les IDE se concentrent sur l'écologie

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

L'équipe d'AutoDev Sketch propose une brève analyse des avantages et des inconvénients des éditeurs et des IDE :

VSCode

  • Des avantages remarquablesLes principaux atouts de VSCode sont sa légèreté et sa flexibilité, qui permettent aux développeurs d'élaborer rapidement des prototypes et de faire évoluer les fonctionnalités.
  • désavantage relatifVSCode : Bien que VSCode dispose d'un riche écosystème de plug-ins, la qualité des plug-ins varie et de nombreuses fonctionnalités doivent être redéveloppées et redessinées par les développeurs. En outre, bien que VSCode offre des fonctionnalités telles que le Language Server Protocol (LSP), le Debug Adapter Protocol (DAP) et le Model Context Protocol (MCP), VSCode ne dispose pas d'un écosystème de plug-ins robuste, ce qui oblige les développeurs à redévelopper et à redessiner de nombreuses fonctionnalités.MCP) et d'autres protocoles, mais il y a encore des limites à l'intégration écologique profonde.

Série Intellij IDEA

  • Des avantages remarquablesIntellij IDEA : Le plus grand avantage de la famille d'IDE Intellij IDEA réside dans ses fonctionnalités prêtes à l'emploi et ses modules d'extension officiels de haute qualité. Ces plugins fournissent des informations contextuelles de haute qualité pour soutenir l'intelligence des outils de codage de l'IA.
  • désavantage relatifVSCode : Par rapport à VSCode, la famille d'IDE Intellij IDEA a des coûts de développement plus élevés, des vitesses de développement plus lentes et un manque relatif de documentation, ce qui peut affecter la précision de la génération de code IA dans une certaine mesure.

Par conséquent, l'équipe d'AutoDev Sketch pense que les outils de codage de l'IA 2.0 devraient exploiter le puissant écosystème d'outils et les capacités de plugin des IDE plus que de simples éditeurs.

Réflexion 2 : S'appuyer sur l'écosystème de plugins IDEA pour construire une automatisation de bout en bout

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

Intellij IDEA est un excellent exemple d'un écosystème existant d'outils de développement. En particulier dans le scénario de développement d'API back-end, IDEA intègre parfaitement l'écosystème d'outils nécessaire à la "conception, au développement et à la vérification". A titre d'exemple :

  • phase de conceptionLes outils tels que Swagger, PlantUML, Mermaid, etc. peuvent aider les développeurs dans la conception et la documentation de l'API.
  • phase de développementLes outils suivants peuvent améliorer l'efficacité du développement de l'API : HttpClient, Curl, plugin de base de données et d'autres outils.
  • phase d'étalonnageLes outils tels que JUnit, Playwright, SonarLint, etc. peuvent garantir la qualité du code et la stabilité du système.

Grâce à ces plug-ins, l'équipe AutoDev Sketch peut créer une interface unifiée pour l'IA, en fournissant à l'IA des invites plus précises, un ensemble d'outils plus puissants et de meilleurs mécanismes de validation du code pour automatiser le processus de développement de bout en bout.

Réflexion 3 : Construire un contexte de haute qualité pour réduire les illusions de l'IA

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

Afin de minimiser les illusions de l'IA et d'améliorer la précision et la fiabilité de la génération de code, l'équipe AutoDev Sketch pense qu'il est essentiel de construire des informations contextuelles de haute qualité. En prenant l'exemple du développement back-end, l'équipe AutoDev Sketch peut construire le cœur des outils de codage de l'IA pilotée par les agents grâce aux trois pratiques d'ingénierie suivantes :

  • Ingénierie logicielle Ingénierie contextuelleAutoDev Sketch peut analyser la configuration et le code du projet et extraire automatiquement des descriptions contextuelles telles que : "Cet espace de travail utilise Gradle+Java+JDK_18", "Ce projet utilise MariaDB", "Vous travaillez sur un projet qui utilise Spring Boot 2.7.10, Spring MVC, JDBC pour construire la logique métier". Ce projet utilise MariaDB", "Vous travaillez sur un projet qui utilise Spring Boot 2.7.10, Spring MVC, JDBC pour construire la logique métier".
  • Ingénierie des appels de fonction (OpenAI)Le projet se concentre sur l'optimisation continue de la capacité des modèles d'IA à appeler des fonctions dans différents scénarios et sur l'amélioration de l'efficacité de l'intégration de l'IA avec divers outils et API.
  • Projet de mot clé (Claude)Pour les différents modèles d'IA, l'équipe AutoDev Sketch fournit des invites à la chaîne de pensée pour guider le modèle afin qu'il apprenne et comprenne mieux l'intention du développeur.

Des informations contextuelles de qualité, associées à une stratégie optimisée de mots repères, peuvent réduire considérablement l'apparition d'illusions d'IA et améliorer ainsi les paramètres clés des outils de codage de l'IA, tels que la facilité d'utilisation, l'acceptation par l'utilisateur et la précision du code.

 

Outil de codage de l'IA AutoDev Sketch 2.0 (en anglais)

Sur la base de cette analyse et de cette réflexion, l'équipe d'AutoDev Sketch a entrepris de construire AutoDev Sketch, un outil de codage de l'IA de nouvelle génération, basé sur le concept de base :Indices de haute qualité du système + capacités de raisonnement du grand modèle de langage (LLM) + prise en compte du contexte de l'IDEAutoDev Sketch. En combinant organiquement ces trois éléments, AutoDev Sketch est capable de comprendre en profondeur l'intention du développeur et de la traduire en une vue interactive de Sketch pour une expérience de programmation assistée par l'IA plus intelligente et plus naturelle.

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

1. créer des liens de haute qualité entre le contexte et les outils

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

AutoDev Sketch est profondément intégré à l'écosystème de plug-ins IDEA pour une connaissance du contexte et des outils de haute qualité. Par exemple, AutoDev Sketch intègre le composant Database, qui fournit à l'IA des capacités unifiées de manipulation de bases de données et les encapsule sous forme d'informations contextuelles et d'outils pour aider les développeurs à travailler plus efficacement avec les bases de données :

  1. Amélioration des messages-guides du systèmeLorsque l'utilisateur se connecte à la base de données, AutoDev Sketch ajoute automatiquement les informations de connexion à la base de données dans l'invite système, par exemple "Contexte de l'espace de travail : Projet utilisant MariaDB 11.5.2-MariaDB".
  2. Appel d'outilLorsque l'IA reconnaît qu'un utilisateur a besoin d'une opération sur la base de données, elle peut invoquer de manière proactive la fonction de gestion de la base de données. Database les outils et l'utilisation des /database:schema et d'autres API pour obtenir des informations sur le schéma de la base de données afin de faciliter la génération de code.
  3. Interaction et validation SQLAutoDev Sketch permet non seulement à l'IA de générer du code SQL, mais aussi à l'IA d'interagir directement avec la base de données pour vérifier l'exactitude du code généré. À l'avenir, AutoDev Sketch fournira également un mécanisme de vérification du code SQL plus complet afin de garantir davantage la qualité du code.

En plus du composant Base de données, AutoDev Sketch intègre également d'autres plug-ins IDEA utiles tels que HttpClient, SonarLint, etc., qui sont conçus pour fournir aux développeurs des capacités de développement, de test et de vérification de la qualité du code plus complètes.

2. un riche ensemble d'outils : franchir le dernier kilomètre de l'adoption automatisée

Pour améliorer encore l'expérience du développeur, AutoDev Sketch explore plus profondément l'intégration des outils. Contrairement aux éditeurs d'IA basés sur VSCode tels que Cursor, AutoDev Sketch tire pleinement parti des fonctionnalités natives de l'IDE et les encapsule en tant qu'outil pour que l'IA puisse les appeler. Voici une liste des outils actuellement disponibles dans AutoDev Sketch :

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

Par exemple.run,refactor répondre en chantant structure AutoDev Sketch les intègre dans des outils conçus pour aider l'IA à comprendre plus précisément l'intention du développeur et à générer du code qui correspond mieux à ses attentes, permettant ainsi l'adoption automatique du code généré par l'IA.

3) Diverses vues d'esquisse : construction d'un processus de développement fluide

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

Une fois que l'IA a généré le code, AutoDev Sketch le rend dans une vue d'esquisse interactive, conçue pour aider les développeurs à mieux comprendre le code généré par l'IA, et sur la base de laquelle ils peuvent apporter des modifications et des itérations supplémentaires pour améliorer l'expérience globale du développeur. Afin de faciliter le développement, AutoDev Sketch a pris en compte les possibilités d'interaction dans différents scénarios de la vue d'esquisse, par exemple :

  • Gestion polyvalente des Patchs/DiffsLa vue Sketch prend en charge la gestion de plusieurs patchs et différends, ce qui permet aux développeurs de visualiser et d'appliquer facilement les modifications du code, et intègre des fonctionnalités telles que la vérification Lint pour garantir la qualité du code.
  • Aperçu de l'application frontale WebViewDans les scénarios de développement d'applications frontales, lorsque le développeur démarre le service de développement, AutoDev Sketch peut automatiquement ouvrir la fenêtre WebView pour afficher l'effet d'exécution de l'application en temps réel, ce qui est pratique pour le développeur pour prévisualiser et déboguer rapidement.
  • Recours aux contrôles de sécuritéLorsque l'IA génère des fichiers de dépendance, la vue Sketch peut fournir des contrôles de sécurité pour les dépendances, ce qui aide les développeurs à identifier et à traiter les risques de sécurité potentiels en temps opportun.
  • Autres possibilités d'interactionLa mise à disposition d'un affichage structuré du code, l'exécution rapide d'extraits de code et d'autres fonctions pour améliorer l'efficacité du développement et l'expérience de l'utilisateur.

Grâce à ces conceptions d'interaction continue, AutoDev Sketch vise à minimiser la charge mentale des développeurs et à améliorer l'efficacité globale du développement et l'expérience de l'utilisateur.

 

En résumé : un regard sur l'avenir des outils de codage de l'IA 2.0

新一代 AI 编程工具深度解读与 AutoDev Sketch 的创新实践

En résumé, les principales caractéristiques d'AI Coding Tools 2.0 peuvent être résumées en trois domaines clés : l'intégration approfondie de la base de connaissances et de l'écosystème d'outils de R&D, l'optimisation continue des flux de codage des développeurs et la prise en charge de diverses architectures de modèles d'IA.

  1. Tirer parti de l'écosystème de la R&DLes futurs outils de codage de l'IA devront être plus étroitement intégrés aux chaînes d'outils et aux bases de connaissances existantes en matière de R&D afin de permettre véritablement la génération de codes intelligents et les fonctions d'assistance.
  2. Suivre le développeur Coding MindstreamLes outils de codage de l'IA devraient viser à créer une expérience de codage plus fluide et plus efficace pour les développeurs, grâce à des améliorations et des optimisations automatisées continues.
  3. Prise en charge de l'architecture multi-modèlePour répondre aux divers besoins de développement, les futurs outils de codage de l'IA devront adopter une architecture multi-modèle, par exemple en utilisant différents modèles d'IA responsables de tâches telles que la planification du code, la compréhension du code et l'achèvement du code, respectivement.

Grâce à l'exploration et à la pratique d'AutoDev Sketch, je pense que les développeurs comprennent mieux comment construire la prochaine génération d'outils de codage de l'IA, et l'équipe d'AutoDev Sketch espère qu'à travers l'innovation technologique continue et l'itération des produits, nous pourrons créer des outils de programmation de l'IA plus intelligents et plus faciles à utiliser pour les développeurs, et qu'ensemble nous pourrons accueillir la nouvelle ère du développement de logiciels pilotés par l'IA.

Si vous êtes intéressé par AutoDev Sketch, veuillez visiter AutoDev Sketch pour plus de détails.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...