SWE-bench Science: Can Coding Agents Resolve Engineering Tasks in Science?
Este artículo presenta SWE-bench Science, un banco de pruebas exhaustivo de 119 tareas a nivel de repositorio a través de 20 dominios científicos que revela que los agentes de codificación actuales tienen dificultades para resolver tareas de ingeniería en software científico debido a mecanismos de falla específicos, como déficits de conocimiento y errores de exploración, al tiempo que demuestra que la utilidad de la guía científica explícita depende de su alineación con el contexto de la reparación.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
La ciencia siempre ha dependido de herramientas: el telescopio que reveló estrellas distantes, el microscopio que desveló el mundo oculto de las células y el acelerador de partículas que sondeó el tejido de la materia. Hoy en día, un nuevo tipo de herramienta se ha vuelto indispensable, una que no vive en un cajón de laboratorio, sino en el reino digital del código informático. Este software ya no es solo un ayudante que procesa números para un científico; se ha convertido en el instrumento mismo. Cuando un investigador simula un nuevo fármaco, modela el clima o analiza la luz de una galaxia distante, está ejecutando programas que actúan como la lente misma a través de la cual observa la realidad. Si el código contiene un fallo, el resultado no es meramente un error informático; es una pieza de evidencia corrompida que puede socavar una conclusión científica.
Durante años, los investigadores han intentado enseñar a la inteligencia artificial a reparar estos programas defectuosos. Han construido pruebas para ver si una computadora puede leer un informe de error y escribir un parche para reparar el software. Estas pruebas han demostrado que las máquinas están mejorando en la reparación de errores de codificación simples. Sin embargo, una pregunta crítica permanecía sin respuesta: ¿pueden estos sistemas inteligentes manejar el complejo y de alto riesgo mundo del software científico? En este ámbito, una reparación debe hacer más que lograr que un programa se ejecute; debe preservar las delicadas leyes de la física, la química o la biología que el código intenta representar. Una reparación que haga que el software funcione más rápido pero cambie el significado científico es un fracaso, incluso si la computadora dice que superó la prueba.
Un equipo de investigadores ha abordado esta cuestión creando un nuevo campo de pruebas llamado SWE-bench Science. Reunieron 119 tareas del mundo real procedentes de 98 proyectos de software diferentes utilizados por científicos en 20 campos distintos, que van desde la química y la biología hasta la astronomía y la ingeniería civil. Estas tareas no eran ejercicios simples; se extrajeron de problemas reales que los científicos habían encontrado, como una simulación que producía un valor de energía incorrecto para un cristal o una herramienta de análisis de datos que interpretaba erróneamente las coordenadas de una muestra biológica. Los investigadores organizaron estos desafíos en tres tipos. Algunos eran reparaciones directas de errores conocidos, otros requerían que la IA actuara como un investigador experto para descubrir por qué un resultado científico parecía incorrecto, y el resto exigía que la IA comprendiera cómo diferentes partes de un sistema de software masivo encajaban para completar un flujo de trabajo completo.
Los resultados de este experimento fueron reveladores. Incluso los agentes de codificación más avanzados disponibles hoy en día tuvieron dificultades significativas. El sistema con mejor desempeño, un modelo sofisticado equipado con un potente asistente de codificación, logró resolver menos de la mitad de las tareas correctamente. Esta baja tasa de éxito resalta una profunda brecha entre lo que la inteligencia artificial actual puede hacer y lo que se requiere para mantener el software científico. Los investigadores descubrieron que, cuando estos sistemas fallaban, lo hacían de cuatro maneras predecibles. A menudo, la IA carecía del conocimiento científico específico necesario para comprender el problema, lo que la llevaba a proponer correcciones que tenían sentido para una computadora pero violaban las leyes de la naturaleza. A veces, el sistema corregía solo el síntoma superficial que podía ver, como un número que parecía incorrecto, sin rastrear el error hasta su causa raíz. En otros casos, la reparación funcionaba para una parte del programa pero rompía la conexión con otra parte, fallando al integrar la corrección en el sistema más amplio. Finalmente, la IA fallaba con frecuencia al intentar aplicar un principio científico a nuevas situaciones, quedándose estancada en el ejemplo específico que se le dio y siendo incapaz de generalizar su solución.
Para comprender el papel del conocimiento científico en estos fallos, los investigadores realizaron un experimento específico. Tomaron un subconjunto de las tareas y las ejecutaron dos veces: una vez con la IA recibiendo información contextual adicional sobre la ciencia involucrada, y otra vez sin ella. Los resultados mostraron que esta información adicional no era una solución mágica. Para algunos de los modelos de IA más fuertes, proporcionar contexto científico de hecho los hacía ligeramente menos propensos a resolver el problema perfectamente, quizás porque el texto adicional los distraía o los llevaba a confiar demasiado en la explicación proporcionada en lugar de probar sus propias ideas. Para los modelos más débiles, la información adicional ayudaba, pero también requería que utilizaran más potencia de cómputo. Esto sugiere que simplemente alimentar a una IA con más datos no garantiza una mejor reparación; el sistema debe ser capaz de conectar esos datos con el código y verificarlos mediante la ejecución.
El estudio concluye que, si bien la inteligencia artificial está realizando avances en la ingeniería de software general, las demandas únicas de la computación científica siguen siendo un desafío formidable. Reparar código científico requiere un nivel de comprensión que va más allá de la sintaxis y la lógica; exige una comprensión de los principios físicos y teóricos que el código encarna. Hasta que estos sistemas puedan distinguir de manera fiable entre un programa que se ejecuta y un programa que es científicamente válido, la tarea de mantener los instrumentos digitales de la ciencia seguirá siendo, probablemente, un trabajo para expertos humanos. El nuevo referente proporciona un mapa claro de dónde se encuentran estos sistemas hoy en día, mostrando que el camino hacia la reparación autónoma total del software científico es aún largo y está lleno de obstáculos complejos.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.