View a markdown version of this page

Personnalisé - AWS Transformation

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.

Personnalisé

Qu'est-ce que AWS Transformer sur mesure ?

AWS Transform Custom utilise l'intelligence artificielle agentique pour moderniser à grande échelle les logiciels, le code, les bibliothèques et les frameworks afin de réduire la dette technique. Il gère divers scénarios, notamment les mises à niveau des versions linguistiques, les migrations d'API et de services, les mises à niveau et les migrations de framework, le refactoring du code et les transformations spécifiques à l'organisation.

Grâce à l'apprentissage continu, l'agent améliore chaque exécution et les commentaires des développeurs, en fournissant des transformations reproductibles de haute qualité sans avoir besoin d'une expertise spécialisée en automatisation.

Capacités clés

AWS Transform Custom fournit les fonctionnalités suivantes :

  • Définition de transformation basée sur le langage naturel - Créez des transformations personnalisées à l'aide du langage naturel, de la documentation et d'exemples de code

  • Exécution des transformations : appliquez les transformations de manière cohérente et fiable sur plusieurs bases de code

  • Apprentissage continu - Améliorez automatiquement la qualité de la transformation à chaque exécution

  • AWS-transformations gérées - Utilisez des transformations prêtes à l'emploi et validées pour les AWS scénarios courants

Schémas de transformation

AWS Transform Custom prend en charge divers modèles de transformation pour répondre à vos besoins de modernisation. Chaque modèle présente des caractéristiques de complexité différentes en fonction de l'ampleur et de la nature des modifications requises.

Modèle Description Complexité Exemples
Migrations d'API et de services Migration entre les versions d'API ou les services équivalents tout en conservant les fonctionnalités Moyenne AWS SDK v1→v2 (Java, Python, JavaScript), Boto2→Boto3, JUnit 4→5, javax→jakarta
Mises à niveau des versions linguistiques Mise à niveau vers des versions plus récentes du même langage de programmation, adoption de nouvelles fonctionnalités et remplacement de fonctionnalités obsolètes Low-Medium Java 8→17, Python 3.9→3.13, 12→22, mises à niveau de version Node.js TypeScript
Améliorations du framework Mise à niveau vers des versions plus récentes du même framework, prise en compte des modifications majeures Moyenne Spring Boot 2.x→3.x, React 17→18, mises à niveau angulaires, mises à niveau de Django
Migrations du framework Migration vers des frameworks totalement différents ayant des objectifs similaires Élevée Angular→React, Redux→Zustand, →React Vue.js
Mises à niveau des bibliothèques et des dépendances Mise à niveau de bibliothèques tierces vers des versions plus récentes tout en conservant le même langage et le même framework Low-Medium Pandas 1.x→2.x, mises à niveau, mises à niveau de bibliothèque, NumPy Hadoop/HBase/Hive mises à niveau de Lodash
Refactorisation du code et modernisation des modèles Modernisation des modèles de code et adoption des meilleures pratiques sans modifier les fonctionnalités externes Low-Medium Imprimer → Cadres de journalisation, concaténation de chaînes → chaînes f, adoption des indications de type, instrumentation d'observabilité
Script et File-by-File traductions Traduction de scripts indépendants ou de fichiers de configuration dans lesquels les fichiers sont pour la plupart autonomes Low-Medium AWS CDK→Terraform, Terraform→, Excel→Carnets Python, CloudFormation Bash→ PowerShell
Migrations d'architecture Migration entre architectures matérielles ou environnements d'exécution avec un minimum de modifications de code Medium-High x86 →AWS Graviton (ARM), sur site → Lambda, serveur traditionnel → conteneurs
Language-to-Language Migrations Traduction de bases de code d'un langage de programmation à un autre Très élevé Java→Python, →, C→Rust, JavaScript TypeScript Python→Go
Personnalisation et Organization-Specific transformations Exigences organisationnelles uniques et besoins de modernisation spécialisés Varie Migrations de bibliothèques internes personnalisées, normes de codage spécifiques à l'organisation, migrations de frameworks propriétaires
Note

Pour les COBOL/mainframe langues, utilisez AWS Transform for Mainframe. Pour les mises à niveau de .NET Framework vers .NET Core, pensez à AWS Transform pour Windows. Pour les migrations vers VMware AWS, pensez à AWS Transform for VMware.

Comment ? AWS Transformez des œuvres personnalisées

AWS La transformation personnalisée est généralement utilisée dans les projets à grande échelle dans lesquels plusieurs bases de code ou modules sont transformés. Les équipes suivent généralement un flux de travail en quatre phases :

Définir la transformation : fournissez des instructions en langage naturel, de la documentation et des exemples de code à l'agent, qui génère une définition de transformation initiale. Cette définition peut être affinée de manière itérative par le biais du chat ou de modifications directes. Cette phase peut être ignorée lors de l'utilisation de transformations AWS gérées par -managed.

Pilotez ou Proof-of-Concept - Testez la transformation sur des exemples de bases de code et affinez-la en fonction des résultats. Cette phase de validation permet d'estimer le coût et les efforts liés à la transformation complète. L'apprentissage continu améliore la qualité au cours de cette phase.

Exécution échelonnée : configurez une exécution en masse automatisée à l'aide de la CLI, les développeurs passant en revue et validant les résultats. Surveillez les progrès à l'aide de l'application Web et suivez les transformations dans plusieurs référentiels.

Surveillance et révision : l'apprentissage continu améliore automatiquement la qualité de la transformation. Passez en revue les leçons tirées des éditions précédentes pour vous assurer qu'elles répondent aux normes de qualité, et archivez celles qui ne sont pas utiles.

Comprendre les concepts clés

Cette section explique les concepts clés relatifs à l'utilisation de AWS Transform custom.

Définitions de transformation

Une définition de transformation contient les instructions et les connaissances nécessaires pour effectuer une transformation de code spécifique. Elle est représentée comme une compétence et comprend :

  • SKILL.md(obligatoire) - Instructions en Markdown avec matière (nameet description champs) YAML contenant la logique de transformation de base et les instructions d'exécution

  • references/dossier (facultatif) - Documentation chargée selon les besoins lors de l'exécution de la transformation

  • scripts/dossier (facultatif) - Scripts que la transformation télécharge et exécute pendant l'exécution

AWS Transform CLI télécharge automatiquement les définitions de transformation dans le répertoire actuel lorsque cela est nécessaire pour l'exécution, l'inspection ou la modification.

Important

Lors de la publication d'une transformation, le répertoire doit contenir uniquement SKILL.md et éventuellement le references/ dossier, le scripts/ dossier ou les deux. Aucun autre fichier ou sous-répertoire n'est autorisé.

Note

Les versions 2.0 et ultérieures de la CLI utilisent le format skills. Les définitions de transformation existantes sont automatiquement gérées par la CLI.

Registre des transformations

Le registre des transformations est le référentiel centralisé de votre AWS compte pour le stockage et la gestion des définitions de transformation. Les transformations du registre peuvent être les suivantes :

  • Listé en utilisant atx custom def list

  • Exécuté sur plusieurs bases de code

  • Partagé avec d'autres utilisateurs de votre AWS compte

  • Version-controlled

Important

Les définitions de transformation sont spécifiques au compte. Si vous souhaitez utiliser une transformation dans un autre AWS compte, vous devez la publier séparément dans ce compte.

Transformations préliminaires et transformations publiées

AWS Transform custom prend en charge deux états pour les transformations dans le registre :

Les ébauches de transformations sont des définitions de transformation en cours ou non testées. Ils sont enregistrés sous forme de versions spécifiques et peuvent être récupérés, mis à jour et exécutés par les utilisateurs se référant à cette version spécifique. Les brouillons sont utiles pour le développement itératif, les tests et le perfectionnement avant que la transformation ne soit prête à être partagée avec votre équipe. Les brouillons sont également associés à une conversation spécifique. Si vous redémarrez la CLI, vous pouvez l'utiliser atx --conversation-id {id} pour restaurer une version précédente.

Les transformations publiées sont disponibles dans le registre des transformations de votre compte pour être exécutées par d'autres utilisateurs disposant des autorisations IAM requises. Les transformations publiées peuvent être découvertes à l'aide deatx custom def list.

Le flux de travail typique est le suivant :

  1. Créez une transformation au niveau local

  2. Enregistrer en tant que brouillon pour les tests (atx custom def save-draft)

  3. Affiner et valider

  4. Publiez pour partager avec votre équipe (atx custom def publish)

Vous pouvez également publier une transformation directement sans l'enregistrer en tant que brouillon.

Références et leçons

AWS Transform custom utilise deux types de connaissances pour améliorer la qualité de la transformation :

Les références sont de la documentation fournie par l'utilisateur et stockée dans le references/ dossier d'une définition de transformation. Les références ne prennent en charge que les fichiers texte (maximum 10 Mo au total pour tous les fichiers) et contiennent généralement de la documentation, des spécifications d'API, des guides de migration et des exemples de code. Les références sont chargées selon les besoins lors de l'exécution de la transformation. Vous ajoutez des références lors de la création ou de la mise à jour d'une définition de transformation en mode interactif.

Les leçons sont automatiquement extraites des exécutions précédentes d'une transformation. Le système d'apprentissage continu les génère à partir des trajectoires d'exécution, des commentaires des développeurs et des corrections de code rencontrées lors des transformations. Il regroupe les leçons connexes en catégories afin que vous puissiez les consulter ensemble. Contrairement aux références, que vous fournissez dès le départ, les leçons s'accumulent au fil du temps à mesure que vous exécutez la transformation sur différentes bases de code, et le système les applique automatiquement pour améliorer les exécutions futures. Vous révisez et gérez les leçons de manière interactive avecatx custom def learnings.

Commandes de génération et de validation

La commande de génération ou de validation est un paramètre facultatif qui indique comment valider votre code pendant le processus de transformation. Cette commande est exécutée à différents moments de la transformation pour garantir l'intégrité du code.

Il est très important de fournir une commande qui valide les résultats et renvoie des problèmes en cas d'échec de la validation pour améliorer la qualité de la transformation grâce à un apprentissage continu. Si aucune compilation ou validation n'est nécessaire, omettez de le saisir.

Pour des exemples et des instructions détaillées, voir Commandes de génération et de validation dans la section Workflows.

Apprentissage continu

L'apprentissage continu est le système qui capture automatiquement les commentaires issus de chaque exécution de transformation et améliore la qualité de la transformation au fil du temps. Le système recueille des informations par le biais de :

  • Feedback explicite - Commentaires et corrections de code fournis en mode interactif

  • Observations implicites - Problèmes rencontrés par l'agent lors de la transformation et du débogage du code

Le système d'apprentissage continu traite ces informations pour créer des leçons qu'il ajoute à la définition de la transformation afin d'améliorer les transformations futures. Le système exécute le processus d'apprentissage automatiquement une fois les transformations terminées, sans intervention supplémentaire de votre part.

Important

Les leçons sont spécifiques à la transformation et ne sont pas partagées entre les différentes transformations ou les différents comptes clients.

Gérer les leçons

Le système génère des leçons automatiquement, mais vous gardez le contrôle de celles qu'il appliquera aux futures courses. La atx custom def learnings commande ouvre une session de terminal interactive pour examiner et organiser les leçons qu'une transformation a accumulées.

Au cours de cette session, vous pouvez :

  • Parcourez les leçons regroupées en catégories et découvrez le nombre de leçons actives que contient chaque catégorie.

  • Ouvrez une leçon pour en lire tous les détails, y compris le corps de la leçon, son impact et le nombre de sessions précédentes qui l'ont consultée.

  • Archivez une leçon pour empêcher le système de l'appliquer à de futures exécutions, et restaurez-la ultérieurement si nécessaire.

  • Supprimez définitivement une leçon archivée qui n'est plus utile.

Pour obtenir des instructions détaillées, consultez Apprentissage continu.

Client-Side Compétences

Client-side les compétences sont des capacités supplémentaires qui étendent l'agent lors des exécutions de transformation. Contrairement aux définitions de transformation qui définissent la transformation à effectuer, les compétences côté client fournissent des outils, des scripts et des instructions supplémentaires que l'agent peut utiliser parallèlement à ses fonctionnalités intégrées lors de toute transformation.

Client-side les compétences sont découvertes à partir de répertoires au niveau du projet et au niveau de l'utilisateur. Placez les compétences au niveau du projet lorsqu'elles appliquent des normes spécifiques à un référentiel, et au niveau de l'utilisateur lorsqu'elles s'appliquent à tous vos projets. Project-level les compétences ne sont disponibles que lorsqu'un chemin de dépôt de code est fourni. Pour une configuration et une utilisation détaillées, voirClient-Side Compétences.

Présentation des commandes de transformation personnalisées

Voici quelques-unes des commandes que vous pouvez utiliser pour les transformations personnalisées. La liste complète des commandes se trouve dans la référence des commandes AWS Transform custom transformations.

  • atx custom

    • Exécute une expérience interactive de transformation personnalisée, permettant la création, la découverte, l'exécution et le raffinement des transformations.

    • Il s'agit de la commande par défaut pouratx.

    • --trust-all-tools(-t) est facultatif et autorise implicitement toutes les demandes d'outils demandées par l'agent. À utiliser avec prudence, en particulier dans les environnements de production. Vous pouvez configurer l'approbation des outils pour des outils et des commandes spécifiques à l'aide du fichier de paramètres de confiance.

  • atx custom --help | atx custom -h

    • Affiche le menu d'aide.

    • Chaque commande inclut également un menu d'aide, par exemple,atx custom def exec --help.

  • atx --version | atx -v

    • Affiche la version.

    • Le numéro de version change à chaque publication.

  • atx custom def list

    • Imprime la liste des transformations disponibles dans le registre des transformations.

  • atx custom def exec

    • Exécute une transformation

  • atx custom def learnings

    • Ouvre une session interactive pour afficher et gérer les leçons apprises par une transformation lors des exécutions précédentes

  • atx mcp

    • Utilisé pour gérer les configurations des serveurs MCP