Home Ciencia y Tecnología Copilot de GitHub lidera el cargo en programación asistida por Industrial LLM

Copilot de GitHub lidera el cargo en programación asistida por Industrial LLM

48
0

Resumen y 1 Introducción

2. Conceptualizaciones previas de asistencia inteligente para programadores

3. Una breve descripción de los modelos de idiomas grandes para la generación de código

4. Herramientas de programación comercial que utilizan modelos de idiomas grandes

5. Implicaciones de fiabilidad, seguridad e seguridad de los modelos de IA generadores de código

6. Usabilidad y estudios de diseño de programación asistida por AI-AI

7. Informes de experiencia y 7.1. Escribir indicaciones efectivas es difícil

7.2. La actividad de la programación cambia hacia la verificación y la depuración desconocida

7.3. Estas herramientas son útiles para la boilerplate y la reutilización de códigos

8. La insuficiencia de las metáforas existentes para la programación asistida por AI-AI

8.1. Asistencia de IA como búsqueda

8.2. Asistencia de IA como compilación

8.3. Ayuda de IA como programación de pares

8.4. Una forma distinta de programación

9. Problemas con la aplicación a la programación del usuario ultimate

9.1. Problema 1: Especificación de intención, descomposición del problema y pensamiento computacional

9.2. Problema 2: corrección del código, calidad y (sobre) confianza

9.3. Problema 3: Comprensión y mantenimiento del código

9.4. Problema 4: Consecuencias de la automatización en la programación del usuario ultimate

9.5. Problema 5: Sin código y el dilema de la respuesta directa

10. Conclusión

A. Fuentes de informes de experiencia

Referencias

Operai Codex es una versión de GPT que está ajustada en el código fuente disponible públicamente (Chen, Tworek, Jun, Yuan, De Oliveira Pinto, et al., 2021). Si bien Codex en sí no es una herramienta orientada al programador, OpenAI la ha comercializado en forma de una API sobre la que se puede construir.

La principal implementación comercial de Codex hasta ahora ha estado en copiloto de GitHub.[5] Copilot es una extensión que se puede instalar en editores de código como Neovim, JetBrains y Visible Studio Code. Copilot usa Codex, basándose en el contenido del archivo que se está editando, archivos relacionados en el proyecto y rutas de archivo o URL de repositorios. Cuando se activa, genera código en la ubicación del cursor, de la misma manera que el autocompleto.

Para ayudar a expandir las expectativas del desarrollador para las capacidades del copiloto más allá de los usos estándar anteriores de los modismos de uso autocompletos, sugeridos para el copiloto incluyen: escribir un comentario que explique lo que hace una función y la firma de la función, y permitiendo que el copilot full el cuerpo de la función; completar el código de la boilerplate; y definir casos de prueba (Figuras 1 y 5). Los programadores pueden andar en bicicleta entre diferentes generaciones del modelo, y una vez que se ha aceptado una finalización specific, se puede editar como cualquier otro código.

Al 23 de junio de 2022, Amazon ha anunciado una característica related a un copiloto llamada Codewhisperer,[6] que también aplica un modelo de lenguaje grande capacitado en un corpus de código fuente para generar autocompletos basados en comentarios y código. El materials de advertising and marketing describe un conjunto de características de seguridad, tales como: detectar cuándo el código generado es related al código en el conjunto de capacitación, detectar vulnerabilidades de seguridad conocidas en el código generado y “eliminar el código que puede considerarse sesgado e injusto” (aunque esta última afirmación induce escepticismo). En la actualidad, Codewhisperer no está ampliamente disponible y, por lo tanto, se sabe poco de su uso en la práctica.

Otras implementaciones comerciales de las características de autocompleto asistidas por AI incluyen Visible Studio Intellicode (Silver, 2018) (Figura 4) y Tabnine (Figura 3) [7]. Estos son más limitados en alcance que el copiloto y su experiencia del usuario es conmensurable a la del uso de ‘tradicionales’ autocompletos, es decir, autocompletos que se impulsa por el análisis estático, la sintaxis y la heurística.[8]. La estructura del modelo de aprendizaje automático utilizado por estas implementaciones no se revela públicamente; Sin embargo, ambos confían en modelos que han sido capacitados en grandes corpus del código fuente disponible públicamente.

Es interesante observar que a pesar de la amplia variedad de tipos de asistencia inteligente para programadores que hemos discutido en la Sección 2 para varios aspectos de la programación (autorización, transcripción, modificación, depuración y aprendizaje), las implementaciones comerciales de asistencia basadas en modelos de idiomas grandes hasta ahora están dirigidas principalmente a la autoridad. La autoridad puede verse como la primera aplicación pure de un modelo de lenguaje generativo, pero el conocimiento de la programación en estos modelos también puede usarse para ayudar a los programadores en otras actividades.


[5]

[6] https://aws.amazon.com/codewhisperer/options/

[7] https://www.tabnine.com/

[8] Al 15 de junio de 2022, Tabnine ha anunciado un cambio de autocompleto de cambio al modelo de idioma que se parece más a las habilidades de Copilot (Weiss, 2022).

fuente