Benchmarking Web API Integration Code Generation
Este artículo presenta WAPIIBench, un conjunto de datos y un proceso de evaluación que revela que los modelos de lenguaje de gran tamaño de código abierto actuales tienen dificultades significativas para generar código de integración de API web correcto, logrando menos del 40% de éxito debido a problemas como puntos de conexión alucinados y el uso incorrecto de argumentos.
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
Imagina que estás intentando enseñarle a un robot muy inteligente y culto cómo pedir un plato específico de un menú de restaurante enorme y complejo. El menú no es solo una lista de platos; es un conjunto estricto de reglas sobre cómo escribir tu pedido, qué botones presionar y exactamente qué ingredientes enumerar. Si te equivocas incluso en un solo detalle, la cocina rechaza el pedido.
Este artículo trata sobre probar qué tan bien estos "robots" (que en realidad son Modelos de Lenguaje Extensos, o LLM, la misma tecnología detrás de los chatbots de IA) pueden escribir el código necesario para enviar estos pedidos a servicios web del mundo real (como Google Calendar, Slack o Asana).
Aquí hay un desglose de lo que hicieron los investigadores y lo que encontraron, utilizando analogías simples:
El Problema: La "Magia" aún no es Magia
Los desarrolladores utilizan "Web APIs" para hacer que diferentes softwares hablen entre sí. Es como conectar bloques de Lego. Normalmente, los humanos tienen que escribir las instrucciones para encajar estos bloques. La esperanza era que la IA pudiera hacer esto automáticamente.
Los investigadores se preguntaron: ¿Puede una IA mirar una solicitud simple como "Añadir un nuevo evento a mi calendario" y escribir el código perfecto y sin errores para hacer que eso suceda?
El Experimento: Construir un "Examen de Conducción" para la IA
Para averiguarlo, el equipo construyó una prueba especial llamada WAPIIBench. Piensa en esto como un examen de conducción para el código de la IA.
- El Recorrido: Crearon 395 "escenarios de conducción" específicos utilizando cuatro servicios populares del mundo real (Asana, Google Calendar, Google Sheets y Slack).
- Las Reglas: Utilizaron los "manuales de conducción" oficiales (especificaciones OpenAPI) para estos servicios para saber exactamente cómo luce un pedido correcto.
- La Prueba: Le dieron a la IA un prompt (por ejemplo, "Crear un nuevo calendario") y le pidieron que escribiera el código.
- La Verificación: En lugar de solo leer el código para ver si parece correcto, realmente intentaron ejecutarlo en un entorno controlado y seguro (sandbox). Si el código intentaba enviar un pedido a una dirección inexistente o usaba los ingredientes incorrectos, la prueba fallaba.
Los Resultados: La IA se pierde a menudo
Los resultados fueron un poco decepcionantes para aquellos que esperaban una automatización instantánea.
- La Puntuación: Incluso los mejores modelos de IA de código abierto solo lograron completar correctamente entre el 30% y el 40% de las tareas. El mejor modelo comercial (GPT-4o) lo hizo mejor, alcanzando alrededor del 60-77%, pero eso sigue significando que falló casi un tercio de las veces.
- Las "Alucinaciones": Este es el mayor problema. La IA a menudo inventaba cosas.
- Direcciones Falsas: La IA inventaba direcciones URL que no existían (como decirle a un taxista que vaya a "Calle Falsa 123" cuando el restaurante está en realidad en la "Calle Principal 456"). Esto sucedió en hasta el 39% de los casos.
- Ingredientes Incorrectos: La IA incluía parámetros (ingredientes) que el servicio no aceptaba, o bien omitía los que eran obligatorios.
- Éxito Parcial: La IA era buena recordando la forma general del código (como saber que necesita usar el método
POST, lo cual es como saber que necesitas "realizar un pedido" en lugar de "cancelar uno"). Pero cuando se trataba de los detalles específicos de a dónde enviarlo y exactamente qué decir, le costaba unir las piezas correctamente.
Unos Pocos Giros Sorprendentes
- Más Grande no es Siempre Mejor: A veces, un modelo de IA de tamaño mediano funcionó peor que tanto uno diminuto como uno enorme. Es como un estudiante que estudió demasiado para el examen equivocado y se confundió.
- Memoria vs. Comprensión: La IA parecía haber "memorizado" partes de los manuales de su entrenamiento. Conocía algunas URLs y nombres de argumentos, pero no podía combinarlos de manera confiable para resolver un problema nuevo y específico. Era como un estudiante que memorizó las respuestas del examen de matemáticas del año pasado pero no pudo resolver los problemas de este año.
- El Truco de "Completar el Espacio en Blanco": Cuando los investigadores le dieron a la IA la dirección (URL) correcta y solo le pidieron que completara el resto, la IA lo hizo mucho mejor. Esto sugiere que la IA sabe cómo seguir instrucciones siempre y cuando no tenga que adivinar el destino primero.
La Conclusión
El artículo concluye que, si bien la IA se está volviendo buena escribiendo código, aún no es lo suficientemente confiable para conectar sistemas de software automáticamente sin supervisión humana. Si dejas que una IA escriba código para conectar tus aplicaciones de negocio con internet ahora mismo, es probable que envíe tus datos al lugar equivocado o rompa la conexión entre el 60% y el 70% de las veces.
Los investigadores dicen que necesitamos mejores controles de seguridad y nuevas formas de ayudar a la IA a "consultar" las reglas en tiempo real (en lugar de confiar en la memoria) antes de que podamos confiar en ella para construir estas conexiones por su cuenta.
¿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.