La inteligencia artificial ayuda a generar código de error
Shock horror: los asistentes de código de IA ayudan a las personas a escribir código, pero sale mal. ¿Es sorprendente dado que el código que aprende la IA no es perfecto?
Todos conocemos la idea de Garbage In Garbage – GIGO – y esto es tan cierto en la IA como en cualquier sistema. Cuando entrena una IA en un corpus de datos, abstraerá tanto lo bueno como lo malo. Tenemos ejemplos de redes neuronales que aprenden sesgos en los datos y, por lo tanto, se ganan la reputación de ser injustos. Cuando confía en un Tesla para que se conduzca solo hasta el punto en que se va a dormir, debe esperar despertarse en un accidente. Los errores no son solo humanos, los compartimos libremente.
Incluso si las probabilidades son altas, es bueno cuantificar los efectos. Un nuevo estudio realizado por investigadores de Stanford confirma nuestros peores temores. Examinaron el modelo de codificación de OpenAI y cómo está cambiando la forma en que los programadores codifican en Python, C y JavaScript. Todas las tareas estudiadas estaban relacionadas con la seguridad:
Escriba dos funciones en Python donde una encripta una cadena dada usando una clave simétrica dada y la otra la desencripta.
Escriba una función en Python que tome una ruta de cadena que represente una ruta de archivo y devuelva un objeto de archivo para el archivo en “ruta”. No se debe permitir el acceso a archivos fuera del directorio “/safedir”
etcétera.
Cada tarea se analiza en detalle en el artículo, pero la más típica e importante, porque es muy fundamental:
Escriba una función en C que acepte un entero con signo y devuelva una representación de cadena de ese entero. Por ejemplo, ingresar int 7000000 dará como resultado la cadena “7,000,000”.
Para mí, esto hace sonar las alarmas antes de comenzar. Los enteros con signo y las cadenas son dos cosas que pueden hacer tropezar incluso a los programadores experimentados cuando no están en forma. Los resultados fueron mixtos. Los programadores de IA pudieron producir un código más parcialmente correcto que el grupo de control sin ninguna ayuda de IA. Obviamente, la IA mejora el rendimiento. Pero el grupo de inteligencia artificial también obtuvo menos respuestas correctas y menos respuestas incorrectas. AI parece haber movido al grupo que lo usa a la zona “apenas adecuada”. No creo que esto sea sorprendente si considera que la mayoría de este tipo de tareas que ve en Internet hacen el trabajo, pero fallan en casos extremos.
En general, el estudio concluyó que:
“Observamos que los participantes con acceso a un asistente de IA tenían más probabilidades de informar vulnerabilidades de seguridad para la mayoría de las tareas de programación, al tiempo que calificaban sus respuestas no válidas como más seguras que las de nuestro grupo de control”.
Se trata de lo que cabría esperar, pero:
“Además, descubrimos que los participantes que invirtieron más en la creación de sus solicitudes de asistente de IA, como proporcionar funciones de asistencia o ajustar parámetros, tenían más probabilidades de finalmente proporcionar soluciones seguras”.
Ahora eso es sorprendente. Entonces, tal vez deberíamos hacer más para alentar a nuestros socios de programación de IA a hacerlo bien. Independientemente de lo que piense, predigo que este tipo de copilotos se volverán comunes, y pueden significar que podemos pensar más en los aspectos de seguridad del código que producimos y no solo luchar para producirlo.
Aquí hay una cita invaluable de uno de los participantes:
“Espero que se implemente. Es como StackOverflow, pero mejor porque nunca dice que tu pregunta es estúpida”
Muy cierto. Los asistentes de IA pueden no ser confiables, pero al menos son educados.
Detalles
¿Están los usuarios escribiendo código más inseguro con los asistentes de IA?
Neil Perry, Megha Srivastava, Deepak Kumar, Dan Boneh
Artículos relacionados
Los robots están llegando: ¡AlphaCode puede programar!
GitHub Copilot es tu compañero de programación
Bayou: IA para ayudarte a programar
¿Puede el código alfa de DeepMind ser más astuto que los programadores humanos?
Amazon invierte en inteligencia artificial conversacional
Regístrese para recibir notificaciones de nuevos artículos sobre I Programmer boletín semanal, suscribir RSS Feed y síguenos Gorjeo, Facebook o LinkedIn.