
Un equipo de investigadores acaba de publicar un mapa completo de los desafíos que enfrenta la inteligencia artificial (IA) en el desarrollo de software y propuso una hoja de ruta de investigación para impulsar el campo aún más.
Imagine un futuro donde la IA se encarga silenciosamente de las tareas rutinarias del desarrollo de software: refactorizar código complejo, migrar sistemas heredados y detectar condiciones de competencia, dejando a los ingenieros de software humanos libres para centrarse en la arquitectura de sistemas, el diseño y los problemas creativos que las máquinas aún no pueden resolver. Los recientes avances en IA parecen acercar esta visión.
Sin embargo, un nuevo estudio realizado por científicos del Laboratorio de Ciencias de la Computación e Inteligencia Artificial (CSAIL) del MIT y de institutos de investigación asociados ha demostrado que, para hacer realidad ese futuro, primero debemos mirar directamente los desafíos muy reales del tiempo presente.
“Mucha gente dice que los programadores ya no son necesarios porque la IA puede automatizarlo todo”, afirmó Armando Solar-Lezama, profesor de ingeniería eléctrica e informática del MIT, investigador sénior del CSAIL y autor principal del estudio. “De hecho, hemos logrado avances significativos. Las herramientas que tenemos hoy son mucho más potentes que antes. Pero aún nos queda mucho camino por recorrer para alcanzar todo el potencial de la automatización”.
El profesor Armando Solar-Lezama argumenta que la ingeniería de software se percibe comúnmente como una tarea similar a una tarea de programación estudiantil: tomar una función pequeña y escribir código para manejarla, o realizar un ejercicio al estilo LeetCode. La realidad es mucho más compleja: desde refactorizaciones de código para optimizar diseños hasta migraciones a gran escala con millones de líneas de código de COBOL a Java que transforman por completo la infraestructura tecnológica de una empresa.
La medición y la comunicación siguen siendo problemas difíciles
Las optimizaciones de código a escala industrial, como los ajustes del núcleo de la GPU o las mejoras multicapa en el motor Chrome V8, siguen siendo difíciles de evaluar. Los benchmarks actuales se centran principalmente en problemas pequeños y empaquetados. La métrica más práctica, SWE-Bench, simplemente solicita a un modelo de IA que corrija un error en GitHub: un ejercicio de programación de bajo nivel que implica cientos de líneas de código y potencialmente expone datos, e ignora una amplia gama de escenarios reales, como la refactorización asistida por IA, la programación en pares hombre-máquina o la reescritura de sistemas de alto rendimiento con millones de líneas de código. Hasta que los benchmarks se amplíen para cubrir estos escenarios de mayor riesgo, medir el progreso, y por lo tanto acelerarlo, seguirá siendo un desafío abierto.
Además, la comunicación entre humanos y máquinas también es una barrera importante. El estudiante de doctorado Alex Gu, autor principal, afirmó que, actualmente, la interacción con la IA sigue siendo como una línea de comunicación frágil. Al pedirle a la IA que genere código, suele recibir archivos grandes y sin estructurar, junto con algunos conjuntos de pruebas simples e incompletos. Esta brecha también se refleja en el hecho de que la IA no puede aprovechar eficazmente las herramientas de software que son familiares para los humanos, como depuradores, analizadores estáticos, etc.
Llamado a la acción de la comunidad
Los autores sostienen que no existe una solución mágica para estos problemas y piden esfuerzos a escala comunitaria: crear datos que reflejen el proceso de desarrollo real de los programadores (qué código conservar, qué código eliminar, cómo se refactoriza el código con el tiempo, etc.); herramientas de evaluación comunes para la calidad de la refactorización, la durabilidad de los parches y la precisión de la transición del sistema; y crear herramientas transparentes que permitan a la IA expresar la incertidumbre e invitar a la intervención humana.
El estudiante de doctorado Alex Gu ve esto como un llamado a la acción para las comunidades de código abierto a gran escala, algo que ningún laboratorio puede ofrecer por sí solo. Solar-Lezama prevé que el progreso se produzca en pasos pequeños e incrementales —«resultados de investigación que resuelvan un problema a la vez»—, transformando la IA de una simple «herramienta de sugerencia de código» a un verdadero socio de ingeniería.
“¿Por qué es importante esto? El software ya es la base de las finanzas, el transporte, la atención médica y prácticamente todas las actividades cotidianas. Pero el esfuerzo humano para desarrollarlo y mantenerlo de forma segura se está convirtiendo en un cuello de botella”, dijo Gu. “Una IA capaz de realizar el trabajo pesado sin cometer errores ocultos permitiría a los programadores centrarse en la creatividad, la estrategia y la ética. Pero para lograrlo, debemos comprender que terminar un fragmento de código es la parte fácil; lo difícil es todo lo demás”.
(Traducido brevemente de MIT News)
Fuente: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html
Kommentar (0)