Los investigadores de la Universidad de California en San Diego han desarrollado un innovador asistente de generación de código llamado H I LD E, diseñado para mejorar la interacción entre humanos y modelos de lenguaje de inteligencia artificial (LLM). Esta herramienta se centra en mitigar las vulnerabilidades que surgen en el código generado por IA al colocar al programador en el ciclo de toma de decisiones, evitando así el automatismo excesivo que suele presentarse en entornos de programación asistidos por IA.
El asistente H I LD E se integra dentro de la popular plataforma Visual Studio Code y ofrece dos funcionalidades principales: resalta los puntos críticos de decisión en los fragmentos de código generados por LLM y presenta alternativas locales para que los usuarios exploren, con descripciones que diferencian cada opción.
Los creadores de H I LD E llevaron a cabo un estudio con 18 programadores, comparando el asistente con una herramienta base sin las características de H I LD E. Los programadores que usaron H I LD E generaron código con un 31% menos de vulnerabilidades y fueron más propensos a corregir intencionalmente problemas de seguridad en sus códigos.
El estudio también reveló que H I LD E alentó a los programadores a profundizar en el análisis de las opciones de código sugeridas y a no dar por sentado su corrección. Aunque el tiempo necesario para completar las tareas era mayor con H I LD E, la calidad del código final era notablemente mejor.
H I LD E también permite a los usuarios contribuir activamente en la elección del mejor enfoque para sus objetivos de programación, incluso descubriendo opciones que se alinean mejor con sus intenciones personales, pero que el modelo de lenguaje no prioriza.
Concluyendo, el uso de H I LD E demostró que permitir a los programadores supervisar y modificar las decisiones de los modelos de lenguaje en tiempo real no solo reduce el riesgo de introducción de errores de seguridad, sino que también fomenta un entendimiento más profundo y un mayor control sobre el código generado. Esta colaboración más intencionada entre humano e IA puede ser crucial para futuras herramientas en desarrollo de software, integrando la seguridad como una característica esencial desde el diseño del código.