Phoenix: Safe GitHub Issue Resolution via Multi-Agent LLMs
Phoenix es un sistema de LLM multi-agente que resuelve de forma segura problemas de GitHub desde el triaje hasta la creación de pull-requests mediante el empleo de siete controles de seguridad por capas y una estrategia de evaluación consciente de la línea base, logrando una tasa de resolución de oráculo del 75% en una porción curada de SWE-bench Lite mientras mantiene una preservación de corrección del 100% en problemas del mundo real.
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 una biblioteca masiva y bulliciosa llamada GitHub, donde millones de personas dejan notas adhesivas en los libros pidiendo arreglos, nuevas funciones o señalando errores tipográficos. Estas notas se llaman "issues" (problemas). Normalmente, un bibliotecario humano tiene que leer la nota, encontrar la página exacta en el libro, averiguar qué está mal, reescribir el texto y luego pedir a un bibliotecario sénior que lo revise antes de que vuelva al estante. Esto es lento y agotador.
Phoenix es un nuevo equipo de robots de IA diseñados para hacer este trabajo, pero con una regla muy estricta: No hacer daño.
Así es como funciona Phoenix, desglosado en conceptos simples:
1. El equipo de especialistas (Los seis agentes)
En lugar de un único robot superinteligente intentando hacer todo a la vez (lo que a menudo conduce a errores), Phoenix utiliza un equipo de seis trabajadores especializados, como una línea de montaje bien aceitada:
- El Planificador: Lee la nota adhesiva y dibuja un mapa. Decide qué páginas deben cambiarse y cómo arreglarlas.
- El Reproductor (El Detective): Antes de arreglar nada, este robot intenta recrear el problema. Dice: "Bien, si hago X, ¿se rompe el libro?". Si puede demostrar que el libro está roto, continúa. Si no, se salta este paso para que el equipo no se quede estancado.
- El Programador: El escritor. Toma el mapa del Planificador y realmente reescribe el texto de las páginas.
- El Probador: El inspector de calidad. Pasa el libro por una máquina para ver si el nuevo texto causa nuevos errores.
- El Analista de Fallos: El médico. Si el Probador encuentra un nuevo error, este robot diagnostica por qué ocurrió y le dice al Programador cómo arreglarlo. Tienen dos intentos para arreglarlo; si fallan dos veces, se detienen y piden ayuda humana.
- El Agente de PR: El mensajero. Una vez que el arreglo está listo, empaqueta todo y lo entrega a un bibliotecario humano para su aprobación final.
2. La "Red de Seguridad" (Siete capas de protección)
El documento enfatiza que la IA puede ser peligrosa si simplemente empieza a reescribir libros al azar. Phoenix tiene siete "guardias de seguridad" para evitar desastres:
- La Valla: No permite que los robots escriban fuera de los muros de la biblioteca (evitando que borren archivos que no deberían tocar).
- La Credencial: Comprueba que los robots tengan llaves (tokens) válidas para que no se queden bloqueados a mitad del trabajo.
- El Equipo de Limpieza: Elimina las partes desordenadas y confusas de las notas adhesivas antes de mostrárselas a los robots, para que no se confundan con un mal formato.
- La Zona Prohibida: Se niega a tocar los archivos del sistema de seguridad de la biblioteca (archivos de workflow) porque alterar esos archivos podría dejar a todos fuera.
- El Botón de Parada: Si los robots se quedan atrapados en un bucle o siguen cometiendo el mismo error, el sistema desconecta la corriente.
- El Trabajador Solitario: Solo se trabaja en un libro a la vez para evitar que los robots se tropiecen entre sí.
- La Llave Fresca: Actualiza automáticamente sus credenciales antes de que caduquen, para que el trabajo nunca se detenga debido a un tiempo de espera agotado.
3. La prueba de "Antes y Después" (Conciencia de la línea base)
Este es el truco más ingenioso de Phoenix. A veces, un libro de la biblioteca ya está roto antes de que el robot lo toque.
- Forma Antigua: Un robot arregla una errata, pero el libro sigue fallando porque ya estaba roto. El robot es culpado por el fallo.
- Forma de Phoenix: Antes de que el robot realice cualquier cambio, toma una "instantánea" del estado actual del libro. Después de que el robot realiza los cambios, compara el nuevo estado con la instantánea.
- Si el libro ya estaba roto y sigue roto (pero no se rompen cosas nuevas), Phoenix dice: "¡Éxito! No lo hemos empeorado".
- Si el libro funcionaba y ahora está roto, Phoenix dice: "¡Alto! Hemos introducido una regresión".
4. Qué muestran los resultados
Los investigadores probaron Phoenix de dos maneras:
- El Ensayo General (SWE-bench Lite): Le dieron a Phoenix 24 problemas específicos y predefinidos. Phoenix resolvió el 75% de ellos perfectamente sin romper nada que ya estuviera funcionando.
- La Prueba del Mundo Real (42 Problemas Reales): Dejaron que Phoenix actuara sobre 42 problemas reales de 14 proyectos diferentes del mundo real.
- Seguridad: Phoenix logró un 100% de "Preservación de la Corrección". Esto significa que nunca rompió una prueba que previamente estaba pasando. Fue increíblemente seguro.
- Tasa de Éxito: Sin embargo, solo la mitad de los arreglos fueron realmente el arreglo correcto. La otra mitad fueron "alucinaciones" donde el robot escribió código en el lugar equivocado (como escribir un manual de reparación en la sección de ficción). El robot sabía cómo arreglarlo, pero a veces no podía encontrar dónde estaba el problema.
Conclusión
Phoenix es como un aprendiz de bibliotecario muy cauteloso y altamente entrenado. Es excelente en no empeorar las cosas y muy bueno siguiendo un proceso estricto. Sin embargo, a veces le cuesta encontrar la ubicación exacta de un problema si la descripción no coincide perfectamente con los nombres de los archivos.
El documento concluye que, para que la IA sea útil en el mundo real, la seguridad debe ir antes que la velocidad. Phoenix demuestra que, mediante el uso de un equipo de agentes especializados y estrictas salvaguardas de seguridad, se puede automatizar la corrección de software sin romper accidentalmente el software. El principal aspecto a mejorar es ayudar al robot "Planificador" a encontrar la página correcta en el libro con más frecuencia.
¿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.