BookinglyTech News
Inteligencia artificial

Un clasificador open source detecta comentarios de código escritos por IA

Su autor lo reconstruye sobre datos públicos tras una primera versión apoyada en material privado. Acierta el 77 % en validación cruzada y el 88 % en comentarios reales.

3 min de lecturaLobsters0 vistas

Hay una herramienta nueva para una pregunta que a más de uno le ha pasado por la cabeza revisando un pull request: este comentario lo ha escrito una persona o un LLM. El clasificador ya tiene demo en el navegador y el código publicado. Es la segunda versión: la anterior se entrenó con datos privados y sobre una base que su propio autor describe como poco sólida, así que no podía compartir ni el modelo ni el conjunto de datos.

El número de cabecera es una precisión equilibrada del 77 %, calculada asumiendo que hay las mismas probabilidades de encontrar un comentario humano que uno generado. La salida incluye además un porcentaje calibrado, es decir, que puede leerse directamente como la probabilidad de que el veredicto sea correcto. Ahí está lo interesante: cuando el clasificador va muy seguro, con una confianza del 80 % o más, el riesgo de falso positivo cae al 5 %. Cuando está en torno al 50 %, por calibración se equivoca aproximadamente la mitad de las veces.

Los números y de dónde salen

La matriz de confusión es la habitual: con entradas humanas conocidas acierta el 73 % (fpr 0,27) y con entradas de robot el 80 % (fnr 0,20). El resto de métricas bajo el mismo supuesto de mezcla equilibrada: exactitud 77 %, precisión 75 %, exhaustividad 80 %, sensibilidad 80 %, especificidad 73 % y F1 77 %. Todo sale de validación cruzada.

El autor probó después con un conjunto más pequeño, no sintético, de comentarios reales de personas y de modelos. Ahí los números mejoran: exactitud 88 %, precisión 89 %, exhaustividad 86 %, especificidad 89 % y F1 87 %. Su lectura es que los casos reales son más fáciles de separar que los de entrenamiento. La muestra es suya y pequeña, así que conviene tomarla como indicio, no como promesa.

Cómo se construyó el conjunto de datos

La receta es sencilla de contar: coger repositorios con licencia permisiva o copyleft, sacar el último commit de 2021 y tomar unos cuantos archivos al azar. Los comentarios que ya llevan son los humanos. Luego se eliminan y se le pide a varios LLM que generen comentarios nuevos para esos mismos archivos. Si el número de tokens por archivo se mantiene equilibrado entre clases, se evita que el clasificador aprenda a distinguir repositorios en vez de estilo de escritura.

El autor detalla sus propios errores: usar archivos distintos para cada modelo, generar comentarios sobre ficheros con muy pocos comentarios humanos o dejarse el sesgo de materia. También pone precio a la parte de planificación: hacerlo bien a la primera costaba unos 30 dólares en datos. Él no lo hizo así y tuvo que recolectar todo dos veces más.

Dos avisos para quien piense usarlo. Primero, todo esto está medido solo con comentarios de código; el clasificador puede aplicarse a otros textos generados, pero sin garantías. Segundo, la interfaz deja clicar cualquier fragmento y ver qué características se activan ahí y cuánto pesan en el veredicto, y nada de lo que se pega sale del navegador. Para revisar código ajeno en un PR eso es justo lo que hace falta.