¿Es el futuro del desarrollo de software un IDE impulsado por IA? GitHub está planteando la idea.
En su conferencia anual GitHub Universe en San Francisco el lunes, 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 generar ideas, planificar, construir, probar y ejecutar código en lenguaje natural.
Jonathan Carter, director de GitHub Next, el equipo de I+D de software de GitHub, presenta Workspace como una especie de evolución del asistente de codificación Copilot impulsado por IA de GitHub hacia una herramienta más general, basada en capacidades introducidas recientemente 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 era comenzar y, en particular, saber cómo abordar una tarea. [coding] problema, saber qué archivos editar y saber cómo considerar múltiples soluciones y sus compensaciones”, dijo Carter. “Por eso queríamos crear un asistente de IA que pudiera reunirse con los desarrolladores desde el inicio de una idea o tarea, reducir la energía de activación necesaria para comenzar y luego colaborar con ellos para realizar las ediciones necesarias en toda la base central”.
Según el último recuento, Copilot tenía más de 1,8 millones de clientes individuales y 50.000 empresas. Pero Carter imagina una base mucho más grande, atraída por expansiones de funciones con un gran atractivo, como Workspace.
“Dado que los desarrolladores dedican gran parte de su tiempo a trabajar en [coding issues]”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. “Se puede pensar en Copilot Workspace como una experiencia complementaria y un entorno de desarrollo que complementa las herramientas y flujos de trabajo existentes y permite simplificar una clase de tareas de desarrollador… Creemos que hay mucho valor que se puede ofrecer en un entorno de desarrollador nativo de IA que no sea No está limitado por los flujos de trabajo existentes”.
Ciertamente existe presión interna para que Copilot sea rentable.
Copilot pierde un promedio de 20 dólares al mes por usuario, según un informe del Wall Street Journal, y algunos clientes le cuestan a GitHub hasta 80 dólares al mes. Y el número de servicios rivales sigue creciendo. Está CodeWhisperer de Amazon, que la compañía puso a disposición de desarrolladores individuales de forma gratuita a finales 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 crear un plan para (intentar) eliminar el error o implementar una nueva característica, basándose en la comprensión de los comentarios del repositorio. respuestas a problemas y una base de código más amplia. Los desarrolladores reciben sugerencias de código para corregir errores o nuevas funciones, junto con una lista de las cosas que necesitan para validar y probar ese código, además de controles para editarlo, guardarlo, refactorizarlo o deshacerlo.
El código sugerido se puede ejecutar directamente en Workspace y compartir entre los miembros del equipo a través de un enlace externo. Esos miembros del equipo, una vez en Workspace, pueden refinar y modificar el código como mejor les parezca.
Quizás la forma más obvia de iniciar Workspace es desde el nuevo botón “Abrir en Workspace” a la izquierda de las incidencias y las 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 que se debe completar en lenguaje natural, como “Agregar documentación para los cambios en esta solicitud de extracción”, que, una vez enviada, se agrega a una lista de “sesiones” dentro del nuevo Vista de espacio de trabajo dedicada.
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 granular del código sugerido y los cambios y eliminar, volver a ejecutar o reordenar los pasos según sea necesario.
“Si le preguntas a cualquier desarrollador dónde tiende a quedarse atascado en un nuevo proyecto, a menudo le escucharás decir que es saber por dónde empezar”, dijo Carter. “Copilot Workspace elimina esa carga y ofrece a los desarrolladores un plan a partir del cual empezar a iterar”.
Workspace ingresa a la 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 versión preliminar, Workspace no está cubierto por la política de indemnización de IP de GitHub, que promete ayudar con los honorarios legales de los clientes que enfrentan reclamos de terceros alegando que el código generado por IA que están usando 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 con código protegido por derechos de autor).
GitHub dice que no ha determinado cómo producirá Workspace, pero que utilizará la vista previa para “aprender más sobre el valor que ofrece y cómo lo usan los desarrolladores”.
Creo que la pregunta más importante es: ¿Workspace solucionará 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 con repositorios de proyectos en los últimos años realizado por GitClear, el desarrollador de la herramienta de análisis de código del mismo nombre, descubrió que Copilot estaba dando como resultado que se enviara más código erróneo a las bases de código y que se enviara más código. re-agregado en lugar de reutilizado y optimizado, creando dolores de cabeza para los mantenedores del código.
En otros lugares, los investigadores de seguridad han advertido que Copilot y herramientas similares pueden amplificar los errores y problemas de seguridad existentes en los proyectos de software. Y los investigadores de Stanford han descubierto que los desarrolladores que aceptan sugerencias de asistentes de codificación con tecnología de inteligencia artificial tienden a producir código menos seguro. (GitHub me destacó que utiliza un sistema de prevención de vulnerabilidades basado en inteligencia artificial para intentar bloquear el código inseguro, además de un filtro de duplicación de código opcional para detectar regurgitaciones de código público).
Sin embargo, los desarrolladores no rehuyen la IA.
En una encuesta de StackOverflow de junio de 2023, el 44% de los desarrolladores dijeron que ahora utilizan herramientas de inteligencia artificial en su proceso de desarrollo y el 26% planea hacerlo pronto. Gartner predice que el 75% de los ingenieros de software empresarial emplearán asistentes de código de IA para 2028.
Al enfatizar la revisión humana, tal vez Workspace pueda ayudar a limpiar parte del desorden introducido por el código generado por IA. Lo descubriremos pronto cuando 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 más libremente”, dijo Carter. “Realmente creemos que la combinación de humanos e IA siempre será superior a uno u otro por sí solo, y eso es a lo que apostamos con Copilot Workspace”.