View a markdown version of this page

Personalizada - AWS Transformar

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Personalizada

¿Qué es? AWS ¿Transformar de forma personalizada?

AWS Transform custom utiliza la IA de los agentes para modernizar a gran escala el software, el código, las bibliotecas y los marcos a fin de reducir la deuda técnica. Gestiona diversos escenarios, como las actualizaciones de las versiones lingüísticas, las migraciones de API y servicios, las actualizaciones y migraciones de los marcos, la refactorización del código y las transformaciones específicas de la organización.

Gracias al aprendizaje continuo, el agente mejora a partir de cada ejecución y de los comentarios de los desarrolladores, y ofrece transformaciones repetibles y de alta calidad sin necesidad de conocimientos especializados en automatización.

Capacidades clave

AWS Transform custom ofrece las siguientes funciones:

  • Definición de transformación basada en el lenguaje natural: cree transformaciones personalizadas utilizando el lenguaje natural, la documentación y los ejemplos de código

  • Ejecución de transformaciones: aplique transformaciones de forma coherente y fiable en varias bases de código

  • Aprendizaje continuo: mejore automáticamente la calidad de la transformación en cada ejecución

  • AWS-transformaciones gestionadas: utilice transformaciones revisadas y listas para usar en escenarios AWS comunes

Patrones de transformación

AWS Transform custom admite diversos patrones de transformación para abordar sus necesidades de modernización. Cada patrón tiene características de complejidad diferentes según el alcance y la naturaleza de los cambios necesarios.

Patrón Description (Descripción) Complejidad Ejemplos
Migraciones de API y servicios Migración entre versiones de API o servicios equivalentes manteniendo la funcionalidad Medio AWS SDK v1→v2 (Java, Python JavaScript), Boto2→Boto3, JUnit 4→5, javax→Yakarta
Actualizaciones de la versión del idioma Actualización a versiones más recientes del mismo lenguaje de programación, adopción de nuevas funciones y sustitución de funciones obsoletas Low-Medium Java 8→17, Python 3.9→3.13, 12→22, actualizaciones de versión Node.js TypeScript
Actualizaciones del marco Actualización a versiones más recientes del mismo marco, abordando los cambios más importantes Medio Spring Boot 2.x→3.x, React 17→18, actualizaciones de Angular, actualizaciones de Django
Migraciones de marcos Migración a marcos completamente diferentes que cumplen propósitos similares Alto Angular → React, Redux → Zustand, → React Vue.js
Actualizaciones de bibliotecas y dependencias Actualización de bibliotecas de terceros a versiones más recientes manteniendo el mismo lenguaje y marco Low-Medium Pandas 1.x→2.x, NumPy actualizaciones, actualizaciones de bibliotecas, Hadoop/HBase/Hive actualizaciones de Lodash
Refactorización de código y modernización de patrones Modernizar los patrones de código y adoptar las mejores prácticas sin cambiar la funcionalidad externa Low-Medium Imprimir → Marcos de registro, concatenación de cadenas → cadenas f, adopción de sugerencias de tipos, instrumentación de observabilidad
File-by-File Guión y traducciones Traducir scripts o archivos de configuración independientes, en los que la mayoría de los archivos son independientes Low-Medium AWS CDK→Terraform, Terraform→, Excel→Cuadernos Python, CloudFormation Bash→ PowerShell
Migraciones de arquitectura Migración entre arquitecturas de hardware o entornos de ejecución con cambios de código mínimos Medium-High x86 →AWS Graviton (ARM), local → Lambda, servidor tradicional → contenedores
Language-to-Language Migraciones Traducir bases de código de un lenguaje de programación a otro Muy alto Java→Python, JavaScript →, C→Rust, TypeScript Python→Go
Organization-Specific Personalización y transformaciones Requisitos organizativos únicos y necesidades de modernización especializadas Varía Migraciones de bibliotecas internas personalizadas, estándares de codificación específicos de la organización, migraciones de marcos patentados
nota

Para los COBOL/mainframe idiomas, utilice AWS Transform for Mainframe. Para las actualizaciones de.NET Framework a .NET Core, considere AWS Transform para Windows. Para migraciones a VMware AWS, considere AWS Transform for VMware.

Cómo AWS Transforme obras personalizadas

AWS Transform custom se suele utilizar en proyectos a gran escala en los que se transforman varias bases de código o módulos. Los equipos suelen seguir un flujo de trabajo de cuatro fases:

Defina la transformación: proporcione instrucciones en lenguaje natural, documentación y ejemplos de código al agente, lo que generará una definición inicial de la transformación. Esta definición se puede refinar de forma iterativa mediante el chat o mediante ediciones directas. Esta fase se puede omitir cuando se utilizan AWS transformaciones gestionadas.

Realice una prueba piloto o Proof-of-Concept pruebe la transformación en bases de código de muestra y fíjela en función de los resultados. Esta fase de validación ayuda a estimar el coste y el esfuerzo de la transformación completa. El aprendizaje continuo mejora la calidad durante esta fase.

Ejecución escalada: configure la ejecución masiva automatizada mediante la CLI, con los desarrolladores revisando y validando los resultados. Supervise el progreso mediante la aplicación web y realice un seguimiento de las transformaciones en varios repositorios.

Supervise y revise: el aprendizaje continuo mejora automáticamente la calidad de la transformación. Revisa las lecciones extraídas de series anteriores para asegurarte de que cumplen con los estándares de calidad y archiva las que no sean útiles.

Comprensión de conceptos clave de

En esta sección se explican los conceptos clave para trabajar con AWS Transform custom.

Definiciones de transformación

Una definición de transformación contiene las instrucciones y los conocimientos necesarios para realizar una transformación de código específica. Se representa como una habilidad y consiste en:

  • SKILL.md(obligatorio): instrucciones en Markdown con material (namey description campos) de YAML que contienen la lógica de transformación básica y las instrucciones de ejecución

  • references/carpeta (opcional): la documentación se carga según sea necesario durante la ejecución de la transformación

  • scripts/carpeta (opcional): scripts que la transformación descarga y ejecuta durante la ejecución

AWS Transform CLI descarga automáticamente las definiciones de transformación en el directorio actual cuando es necesario para su ejecución, inspección o modificación.

importante

Al publicar una transformación, el directorio debe contener solo SKILL.md y de forma opcional la references/ carpeta, la scripts/ carpeta o ambas. No se permiten otros archivos o subdirectorios.

nota

La versión 2.0 y posteriores de CLI utilizan el formato skills. La CLI gestiona automáticamente las definiciones de transformación existentes.

Registro de transformaciones

El registro de transformaciones es el repositorio centralizado de su AWS cuenta para almacenar y gestionar las definiciones de transformación. Las transformaciones en el registro pueden ser:

  • Se enumeran usando atx custom def list

  • Se ejecuta en múltiples bases de código

  • Compartido con otros usuarios de tu cuenta AWS

  • Version-controlled

importante

Las definiciones de transformación son específicas de cada cuenta. Si desea utilizar una transformación en una AWS cuenta diferente, debe publicarla por separado en esa cuenta.

Transformaciones preliminares frente a transformaciones publicadas

AWS Transform custom admite dos estados para las transformaciones del registro:

Los borradores de las transformaciones son definiciones de transformación en curso o no probadas. Se guardan como versiones específicas y los usuarios que utilizan esa versión específica pueden recuperarlas, actualizarlas y ejecutarlas. Los borradores son útiles para el desarrollo, las pruebas y el perfeccionamiento iterativos antes de que la transformación esté lista para compartirse con tu equipo. Los borradores también se asocian a conversaciones específicas. Si reinicia la CLI, puede atx --conversation-id {id} utilizarla para restaurar una anterior.

Las transformaciones publicadas están disponibles en el registro de transformaciones de su cuenta para que las ejecuten otros usuarios con los permisos de IAM necesarios. Las transformaciones publicadas se pueden descubrir utilizandoatx custom def list.

El flujo de trabajo típico es:

  1. Cree la transformación a nivel local

  2. Guardar como borrador para probarlo (atx custom def save-draft)

  3. Refina y valida

  4. Publica para compartir con tu equipo (atx custom def publish)

También puedes publicar una transformación directamente sin guardarla como borrador.

Referencias frente a lecciones

AWS Transform custom utiliza dos tipos de conocimiento para mejorar la calidad de la transformación:

Las referencias son documentación proporcionada por el usuario que se almacena en la references/ carpeta de una definición de transformación. Las referencias solo admiten archivos de texto (máximo 10 MB en total para todos los archivos) y, por lo general, contienen documentación, especificaciones de API, guías de migración y ejemplos de código. Las referencias se cargan según sea necesario durante la ejecución de la transformación. Las referencias se añaden al crear o actualizar una definición de transformación en modo interactivo.

Las lecciones se extraen automáticamente de las ejecuciones anteriores de una transformación. El sistema de aprendizaje continuo las genera a partir de las trayectorias de ejecución, los comentarios de los desarrolladores y las correcciones de código que encuentra durante las transformaciones. Agrupa las lecciones relacionadas en categorías para que puedan repasarlas juntas. A diferencia de las referencias, que se proporcionan por adelantado, las lecciones se acumulan con el tiempo a medida que se ejecuta la transformación en diferentes bases de código, y el sistema las aplica automáticamente para mejorar las ejecuciones futuras. Con ellas revisas y gestionas las lecciones de forma interactiva. atx custom def learnings

Comandos de compilación y validación

El comando de compilación o validación es un parámetro opcional que especifica cómo validar el código durante el proceso de transformación. Este comando se ejecuta en varios puntos de la transformación para garantizar la integridad del código.

Proporcionar un comando que valide los resultados y devuelva problemas si la validación falla es muy importante para mejorar la calidad de la transformación mediante el aprendizaje continuo. Si no es necesario compilarlo ni validarlo, omítelo en la entrada.

Para ver ejemplos y una guía detallada, consulta los comandos de compilación y validación en la sección Flujos de trabajo.

Aprendizaje continuo

El aprendizaje continuo es el sistema que captura automáticamente los comentarios de cada ejecución de una transformación y mejora la calidad de la transformación con el tiempo. El sistema recopila información a través de:

  • Comentarios explícitos: los comentarios y las correcciones de código se proporcionan en el modo interactivo

  • Observaciones implícitas: problemas que encuentra el agente al transformar y depurar el código

El sistema de aprendizaje continuo procesa esta información para crear lecciones que agrega a la definición de transformación para mejorar las transformaciones futuras. El sistema ejecuta el proceso de aprendizaje automáticamente una vez finalizadas las transformaciones, sin requerir ninguna intervención adicional por tu parte.

importante

Las lecciones son específicas de cada transformación y no se comparten entre distintas transformaciones o cuentas de clientes.

Gestión de las lecciones

El sistema genera las lecciones automáticamente, pero tú tienes el control de cuáles se aplican a futuras tiradas. El atx custom def learnings comando abre una sesión terminal interactiva para revisar y seleccionar las lecciones acumuladas durante la transformación.

En esta sesión, puede:

  • Explore las lecciones agrupadas en categorías y vea cuántas lecciones activas contiene cada categoría.

  • Abre una lección para leer todos sus detalles, incluidos el cuerpo de la lección, su impacto y el número de sesiones anteriores en la que se ha consultado.

  • Archiva una lección para evitar que el sistema la aplique en futuras ejecuciones y restaúrela más tarde si es necesario.

  • Elimine permanentemente una lección archivada que ya no sea útil.

Para obtener instrucciones paso a paso, consulte Aprendizaje continuo.

Client-Side Habilidades

Client-side las habilidades son capacidades adicionales que amplían al agente durante las ejecuciones de transformación. A diferencia de las definiciones de transformación, que definen qué transformación realizar, las habilidades del lado del cliente proporcionan herramientas, scripts e instrucciones adicionales que el agente puede utilizar junto con sus capacidades integradas durante cualquier transformación.

Client-side las habilidades se descubren en los directorios a nivel de proyecto y de usuario. Sitúe las habilidades en el nivel de proyecto cuando hagan cumplir los estándares específicos de un repositorio, y en el nivel de usuario cuando se apliquen a todos sus proyectos. Project-level Las habilidades solo están disponibles cuando se proporciona una ruta al repositorio de código. Para obtener información detallada sobre la configuración y el uso, consulteClient-Side Habilidades.

Introducción a los comandos de transformación personalizados

Estos son algunos de los comandos que puede utilizar con las transformaciones personalizadas. La lista completa de comandos se encuentra en la referencia de comandos AWS Transformar transformaciones personalizadas.

  • atx custom

    • Ejecuta una experiencia interactiva de transformación personalizada, lo que permite la creación, el descubrimiento, la ejecución y el perfeccionamiento de las transformaciones.

    • Este es el comando predeterminado para. atx

    • --trust-all-tools(-t) es opcional y permite implícitamente todas las solicitudes de herramientas solicitadas por el agente. Úselo con precaución, especialmente en entornos de producción. Puede configurar la confianza en las herramientas para herramientas y comandos específicos mediante el archivo de configuración de confianza.

  • atx custom --help | atx custom -h

    • Muestra el menú de ayuda.

    • Cada comando también incluye un menú de ayuda, por ejemplo,atx custom def exec --help.

  • atx --version | atx -v

    • Muestra la versión.

    • El número de versión cambia con cada versión.

  • atx custom def list

    • Imprime la lista de transformaciones disponibles en el registro de transformaciones.

  • atx custom def exec

    • Ejecuta una transformación

  • atx custom def learnings

    • Abre una sesión interactiva para ver y gestionar las lecciones que una transformación ha aprendido de las ejecuciones anteriores

  • atx mcp

    • Se utiliza para administrar las configuraciones del servidor MCP