¿Es el futuro del desarrollo de software un IDE impulsado por IA? GitHub está flotando la idea.
Antes de su conferencia anual GitHub Universe en San Francisco a principios de este otoño, GitHub anunció Copilot Workspace, un entorno de desarrollo que aprovecha lo que GitHub describe como "agentes impulsados por Copilot" para ayudar a los desarrolladores a pensar, planificar, construir, probar y ejecutar código en lenguaje natural.
Jonathan Carter, jefe de GitHub Next, el equipo de I+D de software de GitHub, presenta Workspace como algo así como una evolución del asistente de codificación impulsado por IA de GitHub, Copilot, en una herramienta más general, construyendo sobre las capacidades recientemente introducidas como Copilot Chat, que permite a los desarrolladores hacer preguntas sobre el código en lenguaje natural.
“A través de la investigación, descubrimos que, para muchas tareas, el mayor punto de fricción para los desarrolladores estaba en empezar, y en particular en saber cómo abordar un problema de codificación, saber qué archivos editar y saber cómo considerar múltiples soluciones y sus compensaciones”, dijo Carter. “Así que queríamos construir un asistente de IA que pudiera encontrarse con los desarrolladores en el inicio de una idea o tarea, reducir la energía de activación necesaria para comenzar y luego colaborar con ellos en realizar las ediciones necesarias en toda la base de código.”
En el último recuento, Copilot tenía más de 1.8 millones de clientes individuales que pagaban y 50,000 clientes empresariales. Pero Carter imagina una base mucho más grande, atraída por expansiones de características con un amplio atractivo, como Workspace.
“Dado que los desarrolladores pasan mucho tiempo trabajando en [problemas de codificación], creemos que podemos ayudar a empoderar a los desarrolladores todos los días a través de una ‘asociación de pensamiento’ con la IA”, dijo Carter. “Puedes pensar en Copilot Workspace como una experiencia y entorno de desarrollo complementarios que complementa las herramientas y flujos de trabajo existentes y permite simplificar una clase de tareas para desarrolladores … Creemos que hay mucho valor que se puede ofrecer en un entorno de desarrollo nativo de IA que no esté limitado por los flujos de trabajo existentes.”
Copilot pierde un promedio de $20 al mes por usuario, según un informe del Wall Street Journal, con algunos clientes que le cuestan a GitHub hasta $80 al mes. Y el número de servicios rivales sigue creciendo. Está el CodeWhisperer de Amazon, que la empresa hizo gratuito para desarrolladores individuales a fines del año pasado. También hay startups, como Magic, Tabnine, Codegen y Laredo.
Dado un repositorio de GitHub o un error específico dentro de un repositorio, Workspace, respaldado por el modelo GPT-4 Turbo de OpenAI, puede construir un plan para (intentar) solucionar el error o implementar una nueva función, aprovechando una comprensión de los comentarios del repositorio, respuestas a problemas y un código base más amplio. Los desarrolladores obtienen código sugerido para la corrección de errores o nueva función, junto con una lista de las cosas que necesitan validar y probar ese código, además de controles para editar, guardar, refactorizar o deshacerlo.
El código sugerido se puede ejecutar directamente en Workspace y compartir entre miembros del equipo a través de un enlace externo. Esos miembros del equipo, una vez en Workspace, pueden refinar y experimentar con el código según consideren oportuno.
Quizás la forma más obvia de lanzar Workspace sea desde el nuevo botón “Abrir en Workspace” a la izquierda de los problemas y solicitudes de extracción en los repositorios de GitHub. Al hacer clic en él, se abre un campo para describir la tarea de ingeniería de software a completar en lenguaje natural, como, "Añadir documentación para los cambios en esta solicitud de extracción", que, una vez enviado, se agrega a una lista de "sesiones" dentro de la nueva vista dedicada de Workspace.
Workspace ejecuta solicitudes sistemáticamente paso a paso, creando una especificación, generando un plan y luego implementando ese plan. Los desarrolladores pueden profundizar en cualquiera de estos pasos para obtener una vista detallada del código y cambios sugeridos y eliminar, volver a ejecutar o reordenar los pasos según sea necesario.
“Si le preguntas a cualquier desarrollador dónde tienden a atascarse con un nuevo proyecto, a menudo escucharás que es saber por dónde empezar”, dijo Carter. “Copilot Workspace levanta esa carga y brinda a los desarrolladores un plan para comenzar a iterar desde allí.”
Workspace entra en vista previa técnica el lunes, optimizado para una variedad de dispositivos, incluidos los móviles.
Es importante destacar que, debido a que está en vista previa, Workspace no está cubierto por la política de indemnización de propiedad intelectual de GitHub, que promete asistir con los honorarios legales de los clientes que enfrentan reclamaciones de terceros alegando que el código generado por IA que están utilizando infringe la propiedad intelectual. (Los modelos de IA generativa regurgitan notoriamente sus conjuntos de datos de entrenamiento, y GPT-4 Turbo fue entrenado en parte en código con derechos de autor.)
GitHub dice que no ha determinado cómo va a comercializar Workspace, pero que utilizará la vista previa para “aprender más sobre el valor que ofrece y cómo los desarrolladores lo utilizan”.
Creo que la pregunta más importante es: ¿Resolverá Workspace los problemas existenciales que rodean a Copilot y otras herramientas de codificación impulsadas por IA?
Un análisis de más de 150 millones de líneas de código comprometidas en repositorios de proyectos en los últimos años por GitClear, el desarrollador de la herramienta de análisis de código del mismo nombre, encontró que Copilot estaba resultando en más código erróneo siendo agregado a los bases de código y más código siendo reagregado en lugar de reutilizado y simplificado, creando dolores de cabeza para los mantenedores de código.
En otros lugares, los investigadores de seguridad han advertido que Copilot y herramientas similares pueden amplificar errores de seguridad existentes en proyectos de software. Y los investigadores de Stanford han descubierto que los desarrolladores que aceptan sugerencias de asistentes de codificación impulsados por IA tienden a producir un código menos seguro. (GitHub me enfatizó que utiliza un sistema de prevención de vulnerabilidades basado en IA para intentar bloquear el código inseguro, además de un filtro opcional de duplicación de código para detectar regurgitaciones de código público.)
Sin embargo, los desarrolladores no están evitando la IA.
En una encuesta de StackOverflow de junio de 2023, el 44% de los desarrolladores dijeron que usan herramientas de IA en su proceso de desarrollo actualmente, y el 26% planea hacerlo pronto. Gartner predice que el 75% de los ingenieros de software de empresas utilizarán asistentes de código de IA para 2028.
Al enfatizar la revisión humana, tal vez Workspace pueda ayudar a limpiar algo del caos introducido por el código generado por IA. Lo descubriremos pronto a medida que Workspace llegue a manos de los desarrolladores.
“Nuestro objetivo principal con Copilot Workspace es aprovechar la IA para reducir la complejidad para que los desarrolladores puedan expresar su creatividad y explorar con más libertad”, dijo Carter. “Realmente creemos que la combinación de humano más IA siempre va a ser superior a uno solo, y en eso estamos apostando con Copilot Workspace.”