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.
Agentes de codificación
Los agentes de codificación pueden razonar sobre las tareas de programación, generar o modificar código e interactuar con los entornos de los desarrolladores, como IDEs y. CLIs Estos agentes combinan la comprensión del lenguaje natural con el razonamiento estructurado para ayudar, aumentar y automatizar el desarrollo de software, desde la generación de funciones hasta la corrección de errores y la creación de pruebas.
A diferencia de las herramientas de autocompletado, los agentes de codificación interpretan activamente los objetivos de los usuarios, consultan el contexto del entorno de desarrollo (por ejemplo, abre archivos y rastrea los errores), identifican los requisitos y, a continuación, proponen y llevan a cabo acciones.
Arquitectura
En el siguiente diagrama se muestra un patrón de agente de codificación:
Description (Descripción)
-
Recibe la consulta
-
El usuario proporciona instrucciones en lenguaje natural a través de una paleta de comandos, una ventana de chat o una CLI (por ejemplo, «Añadir registro a esta función» o «Refactorizar para facilitar la lectura»).
-
-
Extrae el contexto del entorno
-
El agente recopila el contexto del IDE, incluidos los archivos activos, la posición del cursor, los fragmentos de código y las tablas de símbolos.
-
Genera mensajes de error, resultados de pruebas y resultados de otros agentes.
-
-
Razonamiento LLM
-
El agente envía un mensaje, que incluye la consulta y el contexto ambiental, a un LLM.
-
El LLM realiza un pase de razonamiento para determinar lo siguiente:
-
¿Qué debe cambiar
-
¿Cómo generar una solución
-
¿Algún paso de refactorización, reescritura o codificación
-
-
-
Ejecuta acciones
-
El LLM devuelve el resultado al agente y lo importa al IDE o al entorno de ejecución.
-
Esto puede incluir la inserción o modificación de código, la generación de comentarios o documentación y la activación de tareas posteriores de compilación, prueba y creación de listas.
-
Capacidades
-
Alto conocimiento del contexto (por ejemplo, el estado del IDE, el cursor y el árbol de sintaxis)
-
Razonamiento iterativo de los objetivos y la retroalimentación
-
Planificación opcional del código y separación de acciones (por ejemplo, primero razonar y luego actuar)
-
Funciona en flujos de trabajo de desarrolladores sincrónicos o asíncronos
Casos de uso comunes
-
Generación de código a partir de descripciones de tareas
-
Refactorización y optimización del código
-
Generación y validación de casos de prueba
-
Explicaciones de errores y depuración
-
Asistentes de documentación
-
Copilotos de programación emparejados
Guía para la implementación
-
Puede crear este patrón con las siguientes herramientas y Servicios de AWS:
-
Amazon Bedrock para una generación y un razonamiento impulsados por la LLM
-
Desarrollador de Amazon Q para sugerencias de codificación y finalizaciones
-
AWS Lambda o Amazon Elastic Container Service (Amazon ECS) para ejecutar y probar entornos sandbox
-
AWS Cloud9, extensiones de VS Code o integraciones IDE personalizadas para alojar y evaluar el contexto
-
Amazon Simple Storage Service (Amazon S3) para almacenar mensajes intermedios, respuestas e historial de revisiones
Resumen
Los agentes de codificación son nuevas herramientas de desarrollo impulsadas por la IA que son capaces de interpretar el lenguaje natural, analizar el contexto, generar cambios de código de varios pasos e integrarse en el ciclo de vida del desarrollo del software.