FMI_SU_Yotkova_Kastreva at SemEval-2026 Task 13: Lightweight Detection of LLM-Generated Code via Stylometric Signals
Este trabajo presenta un enfoque eficiente computacionalmente y basado en CPU para detectar código generado por LLM en la Subtarea A de la Tarea 13 de SemEval-2026, que combina características basadas en ratios robustas a la longitud, herramientas de análisis sintáctico y un clasificador de código frente a texto con un árbol de decisión superficial y reglas heurísticas para lograr una inferencia casi instantánea sin depender de modelos preentrenados grandes.
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 digital masiva donde los libros son escritos por dos tipos de autores: Bibliotecarios Humanos y Escribas Robot. Los Escribas Robot son increíblemente rápidos y pueden escribir en muchos idiomas diferentes, pero tienen el hábito de dejar atrás "pistas" específicas que delatan su naturaleza mecánica.
Este documento describe cómo un equipo de investigadores construyó un detective ligero y ultrarrápido para identificar a estos Escribas Robot en la biblioteca, específicamente para una competencia llamada SemEval-2026.
Así es como funciona su detective, desglosado en conceptos simples:
1. El Problema: ¿Por qué es difícil detectar a los robots?
Por lo general, para encontrar un falso, buscas pistas grandes y complejas. Pero en el mundo del código informático, los robots son astutos. Escriben código que parece perfecto en la superficie.
- La Trampa del "Gran Cerebro": Los investigadores intentaron utilizar modelos de IA masivos y superinteligentes (como una enciclopedia gigante y omnisciente) para detectar a los falsos. Funcionó muy bien con los libros de entrenamiento (escritos principalmente en Python), pero cuando intentaron leer libros en otros idiomas (como Go, C# o JavaScript), el "Gran Cerebro" se confundió. Era como un detective que solo sabe leer inglés intentando resolver un misterio en un país extranjero; se perdieron las pistas porque estaban demasiado enfocados en el idioma específico.
2. La Solución: El "Detective Ligero"
En lugar de usar un cerebro gigante y costoso, el equipo construyó un detective simple y rápido que busca pequeños hábitos cotidianos que los robots no pueden evitar repetir. Ellos llaman a esto "señales estilométricas".
Piénsalo como detectar a un robot por la forma en que sostiene un bolígrafo, en lugar de analizar toda la estructura de la oración.
Las Pistas Clave (Las "Señales")
El detective busca tres cosas principales:
- La Proporción de Comentarios "Charlatanes": Los robots aman explicarse a sí mismos. A menudo escriben demasiados comentarios (notas para el lector) en comparación con el código real. El detective calcula la proporción de "notas charlatanas" frente a "trabajo real". Si un fragmento es 50% notas y 50% código, es probable que sea un robot.
- La Verificación de "Verbos": En las notas que escriben los robots, utilizan palabras de acción específicas (verbos) de una manera muy repetitiva y explicativa. El detective cuenta cuántas palabras de acción aparecen en las notas en comparación con el código.
- La Mezcla de "Texto vs. Código": A veces, los robots pegan accidentalmente párrafos completos de conversación normal (como un mensaje de chat) directamente en el código. El equipo entrenó a un pequeño asistente para escanear línea por línea y preguntar: "¿Es esta una línea de código, o es solo una oración?". Si un fragmento de código tiene demasiadas "solo oraciones", se marca.
3. Los Trucos Especiales (Heurísticas)
El detective también utiliza algunas "reglas empíricas" basadas en lo que notaron en los datos:
- El Truco de la "Etiqueta de Idioma": Los robots a menudo se confunden con el formato. Frecuentemente escriben el nombre del idioma (como "python" o "java") como una línea independiente justo antes de que comience el código. Los humanos rara vez hacen esto. Si el detective ve una línea que solo dice "python" sentada sola, es una gran señal de alerta roja.
- El Truco del "Error Final": A veces los robots dejan de escribir abruptamente. El detective verifica el final mismo del fragmento de código. Si el código se corta justo al final con un error de sintaxis (como una oración que termina a mitad de palabra), es probable que sea un robot que se quedó sin tiempo o sin tokens.
4. Cómo lo Unieron Todo
El sistema no depende de un solo cerebro gigante. En su lugar, utiliza un proceso de dos pasos:
- El Escáner: Verifica rápidamente la "Etiqueta de Idioma" y la mezcla de "Texto vs. Código". Si ve una señal clara de robot, dice inmediatamente: "¡Esto es un robot!".
- La Calculadora: Si el escáner no está seguro, pasa el código a una calculadora matemática simple (un árbol de decisión). Esta calculadora pondera la "Proporción Charlatana" y la "Proporción de Verbos" para hacer una suposición final.
5. El Resultado
El sistema del equipo es increíblemente eficiente.
- Sin Esfuerzo Pesado: Se ejecuta en un procesador de computadora estándar (CPU) y no necesita una supercomputadora.
- Velocidad Instantánea: Proporciona respuestas casi al instante.
- Rendimiento: En la competencia, este detective simple y "ligero" terminó en el top 15% de todas las entradas, superando a muchos sistemas que utilizaban tecnología mucho más compleja y costosa.
En resumen: El documento muestra que no necesitas una IA súper compleja para detectar código generado por IA. A veces, un detective simple que solo cuenta cuántas notas tomó el escritor y verifica si pegó accidentalmente un mensaje de chat en el código es suficiente para atrapar al robot.
¿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.