La semana pasada El CEO de MongoDB, Dev Ittycheria, comparado IA actual a la “fase de acceso telefónico de la era de Internet”. No se equivoca. Recientemente sugerí Estamos en la “fase de niño incómodo” de la IA generativa (genAI). Está lleno de emoción (“¡su primer paso!”), pero las tareas sencillas son torpes, como matemáticas básicas. Sin embargo, en algunas áreas, el futuro de IA generativa está sucediendo ahora mismo. Un área son los asistentes de codificación como Amazon CodeWhisperer.
Seguro, habrás escuchado historias anecdóticas de que alguien creó una aplicación bancaria compleja para su banco Fortune 100 en dos minutos con un símbolo del sistema, pero ese tipo de el bombo no ayuda a nadie. ¿Qué están haciendo los verdaderos desarrolladores? hoy ¿Utilizar genAI para mejorar su productividad?
Ésa es la pregunta que le hice a Doug Seven, director general de Código de Amazon Whisperer y director de desarrollo de software para Amazonas Q, en AWS. Como dice Seven, los desarrolladores en cualquier etapa de su carrera pueden (y definitivamente lo hacen) hacer un buen uso de la IA generativa en la actualidad. La clave para AWS es permitir que los desarrolladores se concentren más en su código y menos en todas las palabras de moda que infectan el panorama de la IA.
El efecto Amazonas
Primero, ¿qué hacen exactamente herramientas como CodeWhisperer y Amazon Q (un asistente de chatbot con tecnología genAI)? En su forma más básica, CodeWhisperer ayuda en el proceso de desarrollo de software ofreciendo sugerencias de codificación contextuales. A medida que un desarrollador agrega comentarios al código, CodeWhisperer deduce de esos comentarios lo que está haciendo el desarrollador y ofrece sugerencias de código. CodeWhisperer también puede escanear código para detectar vulnerabilidades de seguridad, informarle sobre ellas y luego solucionarlas.
Durante el año pasado desde CodeWhisperer de AWS GA, la compañía agregó la capacidad de ajustar esas sugerencias de codificación con personalizaciones. Por ejemplo, una empresa puede señalar a CodeWhisperer sus marcos internos, bibliotecas privadas o incluso simplemente convenciones de codificación, y CodeWhisperer reflejará esas convenciones y preferencias corporativas. «Obtienes un código más parecido a tu código en lugar de un código de propósito general», como explica Seven.
Amazon Q, por su parte, actúa como asistente. ¿Necesitas que te expliquen algún código? Pregunte. ¿Necesita refactorizar o depurar ese mismo código? Pregúntele a Q. Con Q, un desarrollador puede seguir codificando mientras Q sale corriendo para hacer «recados».
Todo bien e interesante. De hecho, “todo el mundo lo está haciendo” hoy en día: GitHub Copilot, Google Codey, ChatGPT, y más. Pero hay algo diferente en el enfoque de AWS: algo muy amazónico.
No solo para los servicios de AWS
Desde sus inicios, AWS siempre se ha esforzado por aliviar el “trabajo pesado indiferenciado” que los desarrolladores deben hacer para poner en funcionamiento servidores, administrar bases de datos y más. El enfoque de la empresa hacia la IA generativa es muy similar. El mercado está hipersaturado con exageraciones sobre la IA, lo que dificulta separar la señal del ruido. como he escrito recientemente. Le pregunté a Seven cómo pretende AWS ayudar con este problema. Él respondió: «Uno de los beneficios de CodeWhisperer es que abstraemos toda esa ciencia generativa de la IA».
En otras palabras, los desarrolladores no necesitan preocuparse por grandes modelos de lenguaje (LLM), generación de recuperación aumentada (RAG), o lo que sea que se publique hoy. CodeWhisperer les ayuda a escribir código de forma más productiva sin preocuparse por los modelos que se ejecutan detrás de escena. Esta es una gran noticia para los desarrolladores. Es posible, por ejemplo, que se den cuenta de que necesitan perfeccionar la formación de su asistente de codificación para obtener mejores resultados, pero no tengan idea de cómo lograrlo por otros medios. Seven dice que AWS quiere que CodeWhisperer y las herramientas asociadas hagan esto «relativamente listo para usar». Así que puedes simplemente decir «aquí están mis repositorios, haz lo tuyo» y luego [AWS will] utilizar una variedad de técnicas detrás de escena”.
AWS tampoco se está fijando en sus propios servicios para CodeWhisperer, aunque, por supuesto, la compañía apunta a una experiencia de primera clase con sus servicios propios, como Aurora para MySQL. Como dice Seven: “Uno de los… principios [for] CodeWhisperer es que tenemos que poder ayudar a los desarrolladores a hacer cualquier cosa que estén haciendo». Esto significa ayudar a los desarrolladores que pueden ejecutar servicios en diferentes nubes (o en las instalaciones). «No queremos restringir CodeWhisperer a ser bueno sólo en AWS [services]. Queremos hacerlo bien en todo lo que un ingeniero de software intenta hacer”, declara.
¿GitHub Copilot u otros asistentes de codificación de terceros terminarán funcionando mejor con los servicios de AWS que CodeWhisperer? No si AWS puede ayudarlo. «Trabajamos mucho para asegurarnos de que seamos mejores que nadie en las cosas de AWS», afirma Seven.
Codificando con CodeWhisperer
¿Cómo debería empezar un desarrollador? A pesar de todos los esfuerzos de AWS por «abstraer la ciencia de datos», para usar las palabras de Seven, «a veces puede haber una curva de aprendizaje en términos de cómo te expresas» para lograr que CodeWhisperer (o cualquiera de estas herramientas genAI) produzca los resultados que deseas. desear. Aún así, “comenzar es muy rápido y se aprende sobre la marcha”, continúa.
Esto es válido tanto si el desarrollador que utiliza CodeWhisperer tiene experiencia como si es nuevo en el campo.
Seven dice que la empresa afrontó un desafío de productividad interna y que los participantes que utilizaron CodeWhisperer tenían un 27 % más de probabilidades de completar una serie de tareas con éxito. Aún mejor, lo hicieron un 57% más rápido que aquellos que no usaron CodeWhisperer. Esto era cierto independientemente del nivel de experiencia.
¿Por qué? Es posible que un desarrollador no esté familiarizado con un SDK en particular y las sugerencias de código de CodeWhisperer ayudaron a guiar al desarrollador a superar el obstáculo sin tener que ralentizar la lectura de la documentación. Para los desarrolladores experimentados que ya saben lo que están haciendo, CodeWhisperer ayuda a suavizar obstáculos como este para trabajar más rápido, al mismo tiempo que les permite leer código repetitivo mucho más rápidamente. Para los desarrolladores menos experimentados, CodeWhisperer les ofrece sugerencias de código que evitan que se queden atascados. Como dice Seven: “Pueden recibir sugerencias que les ayudan a descubrir hacia dónde se dirigen y terminan teniendo que interrumpir a otras personas. [e.g., to ask for help] con menos frecuencia.» Todos ganan.
Más allá de la era de las herramientas de la IA
Seven dice que ve tanto enfoques ascendentes (un desarrollador o equipo tiene éxito y hace correr la voz) como enfoques descendentes (mandato ejecutivo) para la adopción. Lo que no ve es ningún tipo de desaceleración en la innovación generativa de IA.
Hoy utilizamos cosas como CodeWhisper casi como herramientas, como una calculadora, sugiere. Pero dentro de unos años, continúa, veremos más «una asociación entre un equipo de ingeniería de software y la IA que se integra en todas las partes del ciclo de vida del desarrollo de software». En este futuro cercano, “los humanos comienzan a cambiar hacia una [director’s] rol…, proporcionando las ideas y la dirección para hacer las cosas y la supervisión para asegurarnos de que lo que recibimos sea lo que esperábamos o lo que queríamos”.
Por más emocionante que sea el futuro para los desarrolladores, el presente también es bastante bueno. Los desarrolladores de cualquier nivel de experiencia pueden beneficiarse de herramientas como Amazon CodeWhisperer. La forma en que los desarrolladores los usan variará según su nivel de experiencia, pero si deben usarlos es una pregunta resuelta y la respuesta es sí.
Copyright © 2024 IDG Communications, Inc.