Développé par les créateurs de l'éditeur de code Atom et les créateurs du générateur d'analyseur syntaxique Tree-sitter, Zed est un éditeur de code open-source écrit en Rust et disponible sous licence GPL. L'équipe affirme que Zed est un éditeur collaboratif très performant offrant les fonctionnalités essentielles que l'on attend d'un éditeur moderne. Il est également doté d'un moteur de rendu accéléré par le GPU pour aider les développeurs à créer des logiciels beaucoup plus rapidement. Toutefois, certains comportements de Zed exposés récemment suscitent des préoccupations en matière de sécurité.
L'éditeur Zed vient d'annoncer Zed AI, un assistant d'intelligence artificielle (IA) intégré à son éditeur de code et alimenté par Claude 3.5 Sonnet d'Anthropic. Cette collaboration est née lorsque les ingénieurs d'Anthropic ont vu le potentiel de l'interface centrée sur le texte de Zed, avec des contributions des ingénieurs Rust d'Anthropic à la base de code open-source de Zed. Zed AI vise à améliorer l'édition de code en s'appuyant sur de grands modèles de langage (LLM) pour améliorer la productivité des développeurs.
Zed AI comprend un panneau assistant pour les interactions avec l'IA et des transformations en ligne pour l'édition de code. Le panneau de l'assistant permet d'éditer et d'affiner les requêtes LLM, offrant ainsi une transparence dans les interactions avec l'IA. L'introduction de commandes slash telles que (/tab, /file, /terminal, /diagnostics, et /fetch) fournit un contexte pour l'assistance de l'IA.
Le mécanisme de pliage de Zed aide à gérer les grandes bases de code en permettant aux développeurs de plier et déplier le texte, en équilibrant les vues détaillées et les vues d'ensemble. Les transformations en ligne, déclenchées par ctrl-enter, permettent de modifier le code en langage naturel avec un retour d'information rapide et des modifications en continu, jeton par jeton. Zed AI prend en charge les transformations de texte récursives pour affiner le contexte et améliorer les invites de manière itérative.
Parmi les autres fonctionnalités, citons une version bêta privée du mode d'édition rapide de Claude 3.5 Sonnet, qui permet un remaniement rapide du code, et le développement d'une commande (/workflow) permettant d'orchestrer les modifications de la base de code. Pendant la période de lancement initiale, Zed AI est disponible gratuitement, avec un accès limité à la version bêta du mode d'édition rapide, bien que des efforts soient en cours pour élargir l'accès prochainement.
Voici les déclarations de l'équipe Zed pour l'annonce :
Chez Zed, nous avons consacré notre carrière à la maîtrise de l'art de la manipulation de texte. De l'élaboration de générateurs d'analyseurs à la conception de langages de programmation, en passant par la livraison de deux éditeurs de texte de qualité, nous avons toujours été captivés par le pouvoir d'expression des mots et des symboles. Aussi, lorsque de grands modèles de langage sont apparus pour révolutionner l'interprétation et la génération de textes, nous savions que nous devions explorer leur potentiel.
Au cours des deux années qui ont suivi l'apparition des LLM, nous nous sommes concentrés sur la construction du cœur de Zed : un éditeur de texte rapide, fiable et doté des fonctionnalités dont les développeurs ont besoin. Pendant ce temps, nous avons discrètement expérimenté l'intégration des LLMs dans nos propres flux de travail. Il ne s'agit pas d'un gadget tape-à-l'œil, mais d'un outil pratique permettant d'améliorer notre productivité en travaillant sur une base de code complexe et réelle.
En affinant l'intégration de l'IA, nous avons attiré l'attention d'alliés inattendus. Les ingénieurs d'Anthropic, l'une des principales sociétés d'IA au monde, ont découvert Zed et ont rapidement compris la valeur de notre interface brute, centrée sur le texte, qui établit une séparation minimale entre l'utilisateur et le modèle de langage. Leur enthousiasme a été validé et nos conversations ont déclenché un dialogue qui s'est rapidement transformé en collaboration.
Aujourd'hui, nous sommes prêts à présenter Zed AI, un service hébergé fournissant un support pratique et performant pour le codage basé sur l'IA dans Zed, alimenté par Claude 3.5 Sonnet d'Anthropic et accessible simplement en se connectant. Nous avons également travaillé avec Anthropic pour optimiser Zed afin d'implémenter leur nouveau Prompt Caching beta, permettant des réponses rapides comme l'éclair, même avec des milliers de lignes de code incluses dans la fenêtre contextuelle, tout en réduisant les coûts.
Zed AI est disponible dès maintenant, gratuitement pendant la période de lancement. Connectez-vous à Zed pour accéder à un panneau d'assistant alimenté par l'IA et à des transformations de code en ligne qui s'intègrent directement à votre environnement d'édition.
Comment fonctionne Zed AI ?
En associant une IA de pointe à un éditeur rapide et bien conçu, cela crée un outil qui trouve un écho auprès des experts qui exigent à la fois puissance et précision dans leurs flux de travail. L'approche de Zed AI concernant le codage assisté par l'IA repose sur l'interaction entre deux fonctionnalités principales : Le panneau assistant de Zed et les transformations en ligne. Cette combinaison permet aux développeurs d'exploiter la puissance des modèles de langage tout en conservant un contrôle total sur leur code.
Le panneau assistant : Maîtriser un contexte massif
Le panneau assistant est l'endroit où vous interagissez avec les modèles d'IA dans Zed, mais il ne s'agit pas d'une interface de chat classique. Il s'agit d'un éditeur de texte à part entière qui expose l'intégralité de la requête LLM.
Extraits de code, historique des conversations, contenu des fichiers, tout y est, et ce n'est que du texte. Vous pouvez observer, éditer et affiner n'importe quelle partie de la requête en utilisant des outils de codage familiers, ce qui vous donne une transparence et un contrôle complets sur chaque interaction.
Pour alimenter ce contexte textuel, Zed AI introduit un système de commandes slash :
- /tab : Insère le contenu d'un onglet ouvert
- /file : Insérer le contenu d'un fichier spécifique ou d'une arborescence de fichiers
- /terminal : Inclure la sortie du terminal
- /diagnostics : Insère des informations de diagnostic provenant de l'ensemble du code
- /fetch : Insérer la réponse d'une URL HTTP arbitraire
La commande /file permet d'apporter un contexte pertinent à partir de la base de code de Zed, que l'IA peut ensuite utiliser pour aider dans les tâches de développement.
Lorsque vous utilisez une commande slash ou la sélection de guillemets (cmd->), Zed insère le contenu sous forme de texte plié. Cela inclut des arborescences entières de répertoires, qui sont insérées sous forme de plis récursifs contenant le texte intégral de chaque fichier.
Le mécanisme de pliage de Zed pour le contexte inséré permet d'équilibrer les détails avec la vue d'ensemble lorsque l'on travaille avec de grandes bases de code ou de la documentation d'API. Chaque élément de contexte reste visible et modifiable, ce qui garantit un contrôle précis sur les invites de l'IA. Développez les plis pour examiner les détails, ou réduisez-les pour vous concentrer sur la structure globale. Cette flexibilité vous permet d'adapter votre vue et vos interactions avec l'IA à la tâche à accomplir.
Les commandes Slash sont extensibles via WebAssembly ou un protocole de serveur contextuel basé sur JSON, ce qui ouvre des possibilités passionnantes. Vous pouvez créer des commandes personnalisées adaptées à votre flux de travail. à l'avenir, les serveurs de langue pourraient mettre en œuvre des commandes / pour récupérer le contexte de manière spécifique à la langue.
Lors d'une démo, Zed AI a démontré sa capacité à intégrer de manière transparente la connaissance externe et la génération de code, le tout au sein d'une interface unique et cohérente. En récupérant directement les interfaces clés, Zed AI élimine le besoin d'opérations manuelles sur les fichiers, ce qui rend le processus plus efficace et plus ciblé.
Transformations en ligne
Les transformations en ligne, activées par la touche ctrl-enter, vous permettent de transformer et de générer du code à l'aide d'invites en langage naturel. Elles se distinguent par leur précision et leur réactivité.
Pour vous donner un retour rapide, l'éditeur Zed a mis en place un protocole de diff en continu personnalisé qui fonctionne avec les tampons de Zed basés sur CRDT pour fournir des modifications dès qu'elles sont transmises par le modèle. Vous voyez la sortie du modèle jeton par jeton, ce qui vous permet de lire et de réagir aux changements au fur et à mesure qu'ils se produisent. Ce flux à faible latence crée une expérience de codage fluide et interactive qui vous permet de rester impliqué et de garder le contrôle tout au long du processus.
Les transformations en ligne dans Zed utilisent le contexte que vous avez construit dans le panneau de l'assistant. Il n'y a pas d'invite système cachée : vous voyez et contrôlez chaque entrée qui façonne la sortie du modèle. Cette transparence vous permet d'affiner le comportement du modèle et d'améliorer vos compétences en matière de codage assisté par l'IA.
La transformation de texte dans Zed acquiert une dimension puissante grâce à ses capacités récursives. Vous pouvez appliquer des transformations en ligne dans le panneau de l'assistant lui-même, ce qui vous permet d'affiner le contexte et d'améliorer itérativement les messages-guides. Cette fonctionnalité transforme le panneau en un espace de travail dynamique pour l'ingénierie des messages, où vous pouvez expérimenter différentes approches, affiner vos instructions et même utiliser l'IA pour vous aider à créer des messages plus efficaces.
Les transformations en ligne fonctionnent également avec la fonction de curseurs multiples de Zed, ce qui vous permet d'appliquer la même transformation à plusieurs sélections simultanément.
Source : Éditeur Zed
Et vous ?
Avez-vous utilisé cet outil ou un outil similaire pour votre usage ou le développement d'applications, et si oui qu'en pensez-vous ?
Voir aussi :
Zed, un éditeur de code collaboratif très performant des créateurs d'Atom et de Tree-sitter, est désormais open source
Aider, outil en ligne de commande pour programmer avec GPT-3.5 et GPT-4, et éditer le code stocké dans un dépôt git local, le meilleur assistant de codage IA à ce jour
Les défis croissants du code généré par l'IA : le code généré par l'IA pourrait augmenter la charge de travail des développeurs et accroître les risques, selon Harness