Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Agents de codage
Les agents de codage peuvent raisonner sur les tâches de programmation, générer ou modifier du code et interagir avec des environnements de développement, tels que IDEs et CLIs. Ces agents associent la compréhension du langage naturel à un raisonnement structuré pour aider, augmenter et automatiser le développement de logiciels, qu'il s'agisse de la génération de fonctions, de la correction de bogues ou de la création de tests.
Contrairement aux outils de saisie semi-automatique, les agents de codage interprètent activement les objectifs des utilisateurs, interrogent l'environnement de développement pour obtenir du contexte (par exemple, il ouvre des fichiers et trace les erreurs), identifient les exigences, puis proposent et exécutent des actions.
Architecture
Un modèle d'agent de codage est illustré dans le schéma suivant :
Description
-
Reçoit une requête
-
L'utilisateur fournit des instructions en langage naturel par le biais d'une palette de commandes, d'une fenêtre de discussion ou d'une CLI (par exemple, « Ajouter une journalisation à cette fonction » ou « Refactoriser pour plus de lisibilité »).
-
-
Extrait le contexte de l'environnement
-
L'agent collecte le contexte de l'IDE, notamment les fichiers actifs, la position du curseur, les extraits de code et les tables de symboles.
-
Il produit des messages d'erreur, des résultats de test et des sorties provenant d'autres agents.
-
-
Raisonnement du LLM
-
L'agent envoie une invite, y compris la requête et le contexte environnemental, à un LLM.
-
Le LLM effectue une passe de raisonnement pour déterminer ce qui suit :
-
Ce qui doit changer
-
Comment générer une solution
-
Toutes les étapes de refactorisation, de réécriture ou de codage
-
-
-
Exécute des actions
-
Le LLM renvoie le résultat à l'agent et l'importe dans l'environnement d'exécution ou dans l'environnement d'exécution.
-
Cela peut inclure l'insertion ou la modification de code, la génération de commentaires ou de documentation, et le déclenchement de tâches de construction, de test et de linting en aval.
-
Fonctionnalités
-
Sensibilisation accrue au contexte (par exemple, état de l'IDE, curseur et arbre syntaxique)
-
Raisonnement itératif des objectifs et du feedback
-
Planification du code et séparation des actions facultatives (par exemple, d'abord raisonner puis agir)
-
Fonctionne dans des flux de travail de développement synchrones ou asynchrones
Cas d’utilisation courants
-
Génération de code à partir des descriptions de tâches
-
Refactorisation et optimisation du code
-
Génération et validation de scénarios de test
-
Explications des erreurs et débogage
-
Assistants de documentation
-
Copilotes de programmation jumelés
Directives d’implémentation
-
Vous pouvez créer ce modèle à l'aide des outils suivants et Services AWS :
-
Amazon Bedrock pour la génération et le raisonnement axés sur le LLM
-
Amazon Q Developer pour les suggestions de codage et les complétions
-
AWS Lambda ou Amazon Elastic Container Service (Amazon ECS) pour exécuter et tester des environnements sandbox
-
AWS Cloud9, des extensions VS Code ou des intégrations IDE personnalisées pour héberger et évaluer le contexte
-
Amazon Simple Storage Service (Amazon S3) pour stocker les demandes intermédiaires, les réponses et l'historique des révisions
Résumé
Les agents de codage sont de nouveaux outils de développement basés sur l'IA capables d'interpréter le langage naturel, d'analyser le contexte, de générer des modifications de code en plusieurs étapes et de s'intégrer au cycle de vie du développement logiciel.