EKG + RAG/LLM para retroalimentación de códigoTrabajo de Fin de Máster · UNED
Límites

Límites

Esta página reúne los huecos del trabajo; declararlos forma parte del rigor del TFM. Cada cifra de esta página procede de los artefactos del proyecto y es reproducible ejecutando sus scripts.

1Una pila RDF resuelta con librerías

El trabajo es RDF-céntrico por decisión de diseño: la pila semántica se resuelve por código y no depende de interfaces gráficas externas. El razonamiento lo resuelvo con owlrl (perfil OWL 2 RL), la validación con pyshacl y las consultas con SPARQL sobre rdflib.

Protégé, Neo4j y arrows.app son herramientas complementarias del ecosistema. El grafo de propiedades equivalente se entrega como guion Cypher listo para cargar en Neo4j o arrows.app, y la carga en GraphDB está escrita y lista para ejecutarse. Centrar el TFM en RDF es una elección deliberada, coherente con sus objetivos.

El detalle recurso por recurso está en la página de Recursos y herramientas.

2El solape humano↔juez (33 de 50)

La validez de criterio del juez automático la calculé comparando el consenso de los anotadores humanos con las puntuaciones del juez qwen2.5:32b. Los dos conjuntos de casos no coinciden del todo, solo solapan en una parte.

33 / 50
casos en los que solapan humano y juez
396
celdas comparadas (33 × 4 sistemas × 3 dimensiones)
10
anotadores reales (7 programadores, 3 docentes)

Por eso la validez de criterio se mide sobre esos 33 casos, no sobre los 50. Cerrar el solape a 50 de 50 es el paso que falta para una validez plena. El desarrollo completo de la anotación humana vive en Anotación humana.

3El juez no queda validado como instrumento absoluto

El juez qwen2.5:32b no queda validado como instrumento de puntuación absoluta frente al consenso humano. La correlación es muy débil y conviene mirarla de frente.

Validez de criterio del consenso humano frente al juez LLM (sobre los 33 casos que solapan).
MedidaGLOBALDivulgativaTécnicaSugerencia
Pearson r (humano↔juez)0,203−0,2030,3630,041
Spearman ρ (global)0,189———
Fleiss κ inter-anotador humano0,0960,0710,1430,032
ICC(2,k) acuerdo absoluto del panel0,8310,7360,9100,605

La correlación global de Pearson es 0,203 y en la dimensión divulgativa es negativa (−0,203), es decir, ahí el juez ordena los casos casi al revés que los humanos. Solo la dimensión técnica alcanza una correlación moderada (0,363), justo donde los propios humanos concuerdan más (ICC técnica 0,910). El Bland-Altman humano menos juez da un sesgo medio de +0,139, el juez puntúa sistemáticamente algo alto, con límites de acuerdo de [−2,19, +2,47], inservibles a nivel de celda.

Bosquejo Bland-Altman del acuerdo humano menos juez El sesgo medio es +0,139 y los límites de acuerdo van de −2,19 a +2,47 sobre la escala de 5, una banda muy ancha que indica que el acuerdo a nivel de celda es pobre. +2,5 0 −2,5 media de las dos puntuaciones (1–5) sesgo +0,139 +2,47 −2,19
Bosquejo del acuerdo humano menos juez. La banda entre las líneas discontinuas (≈ ±2,3 sobre 5) es tan ancha que el acuerdo a nivel de celda no es utilizable, aunque el promedio del panel sí sea fiable (ICC global 0,831). Cifras de analisis_humano.json.
Por qué esto no tumba el veredicto

El ICC(2,k) global de 0,831 indica que el promedio de los diez anotadores es fiable aunque cada uno concuerde poco por lo fino de la escala, y el panel humano separa los sistemas con claridad. Las puntuaciones cualitativas del juez dependen del juez, así que el veredicto del TFM se ancla en las métricas objetivas (categoría, concepto) y en el grounding, inmunes al juez. Esto confirma con datos humanos la cautela que el trabajo ya sostenía.

4El matiz del alt-test

El alt-test de sustitución (Calderon et al., ACL 2025) concluye "sustitución justificada", con un winning rate global de 1,0. Tomado aislado, ese resultado parece desmentir todo lo anterior, pero no lo hace, por las razones siguientes.

Alt-test (ε=0,15) frente a las métricas que lo relativizan.
MedidaValorLectura
Winning rate global del juez1,0el juez iguala o supera a cada anotador típico
Probabilidad de ventaja media0,696ventaja moderada, no abrumadora
Fleiss κ inter-humano0,096el listón "anotador típico" es muy bajo
Pearson r humano↔juez0,203no rastrea el orden del consenso
Bland-Altman (sesgo)+0,139el juez puntúa sistemáticamente alto

El alt-test es una medida relativa, enfrenta al juez con humanos que entre sí concuerdan muy poco (Fleiss 0,096). Cuando el acuerdo inter-humano es tan bajo, "igualar a un anotador típico" es un listón bajo que un juez internamente consistente supera con facilidad, mientras que "igualar al consenso", que es la validez de criterio, sigue siendo difícil. Por eso un winning rate de 1,0 convive sin contradicción con un Pearson de 0,203, miden cosas distintas. El juez es más consistente que cualquier humano aislado pero no rastrea el orden del consenso y puntúa sistemáticamente alto, de modo que el alt-test no rescata al juez como instrumento absoluto.

5La reconstrucción v2/v4: el RAG por pasajes no bate a la base, el semántico sí

Las cifras anteriores y las del resto del sitio pertenecen al experimento canónico (held-out sintético de n=50 con los sistemas A/B/C/D y la generalización a código real de Dublin). Aparte de ese benchmark, reconstruí un experimento aislado de ablación de la recuperación sobre Python con un juez qwen2.5:32b y un retenido propio de n=10, que compara el modelo base sin recuperación con tres variantes ORPO. Se declara por separado porque corrige una lectura ingenua frecuente, la de que "más contexto siempre ayuda".

Reconstrucción aislada (Linaje B, juez qwen2.5:32b, retenido n=10). Experimento distinto del benchmark canónico A/B/C/D.
Dimensión (1–5)BaseORPO-v2 (pasajes WS)ORPO-v3 (pasajes Python)ORPO-v4 (ontológico/SPARQL)
Divulgativa4,24,04,04,1
Técnica4,23,94,04,8
Sugerencia2,82,52,73,8
GLOBAL3,7333,4673,5674,233
Fidelidad de formato (0–1)0,880,880,900,94

El RAG por pasajes (ORPO-v2 con grafos de Web Semántica, ORPO-v3 con libros de Python) no supera al modelo base sin recuperación (3,467 y 3,567 frente a 3,733): inyectar muchos pasajes tangenciales diluye el contexto y degrada la respuesta. En cambio, el RAG semántico/ontológico (ORPO-v4), que recupera por SPARQL una única regla pedagógica quirúrgica, sí supera a la base (4,233 frente a 3,733): concentra la mejora en técnica (+0,6) y sugerencia (+1,0), y cierra ~78 % del trayecto base→techo humano (4,463) en ese eje de mejora (≈68,5 % en media global plana). Por casos, v4 vence a la base en 6, empata en 2 y pierde en 2.

Cautelas

Este resultado no es una victoria limpia. v4 tiene dos derrotas reales frente a la base, sub_00803 (4,333→4,0) y sub_01444 (4,333→3,667), ambas del patrón "modificar una lista mientras se itera". Toda la mejora es de recuperación, no de fine tuning: v4 reutiliza el mismo adaptador ORPO que v3 y solo cambia lo que se recupera, así que la diferencia mide el efecto de recuperar una regla ontológica, no un mejor entrenamiento. A eso se suma que solo 3 de los 10 casos activaron una misconception específica del grafo; n=10 es pequeño y el juez no es determinista; y la ontología comparte la taxonomía del propio dataset, de modo que la regla recuperada no es del todo independiente de los datos que evalúa La augmentación por pasajes no gana por sí sola; lo que aporta valor es la recuperación semántica y quirúrgica, con un efecto modesto y medido. En el experimento canónico, además, la ventaja del híbrido en distribución no transfiere a código real (inversión Dublin).

6Datos por plantillas, no IA generativa

El dataset de feedback con el que entrené y evalué no lo generó un modelo generativo, lo construí por plantillas deterministas. Esto importa porque marca el límite real de la diversidad y, con ella, de la generalización.

2625
registros del dataset v2
35
esqueletos o plantillas estructurales
0,962
coseno medio intra-esqueleto
0,604
coseno medio global

El "53 % de targets únicos" sobreestima la variedad real. Medida la diversidad semántica por coseno, el valor intra-esqueleto de 0,962 frente al global de 0,604 cuantifica la causa raíz del sobreajuste, las respuestas "únicas" difieren casi solo en nombres de variable dentro de cada una de las 35 plantillas. El modelo afinó la plantilla, no el razonamiento.

La consecuencia, medida sobre código real

Sobre código real de estudiantes (Dublin DCU CS1) el orden de la métrica objetiva se invierte, el base A (0,802) y el GraphRAG C (0,733) citan mucho más del arreglo real que el afinado B (0,433) y el híbrido D (0,323). Es evidencia directa del sobreajuste a las plantillas sintéticas, ahora con test formal (Friedman p=8,1×10⁻¹⁵). Cerrar este hueco exige datos de entrenamiento más diversos, redacción variada o destilación de un maestro, no solo más código. El recorrido completo está en Resultados.

7Declaración de uso de IA

Esta es la declaración sobre el uso de herramientas de inteligencia artificial que acompaña a la memoria del TFM, conforme a la normativa de integridad académica de la UNED.

En la elaboración de este Trabajo de Fin de Máster he utilizado herramientas de inteligencia artificial generativa como apoyo a las siguientes tareas: depuración del código propuesto, verificación de errores, subsanación de los mismos, y naturalmente para ejecutar los modelos de lenguaje, ya que los mismos constituyen bloques de inteligencia artificial generativa. Para la redacción, la organización del texto, y todos los demás desarrollos, he empleado herramientas propias, algunas propias de la asignatura Web Semántica y Enlazado de Datos, siempre partiendo de borradores que he revisado, reescrito con mi propia voz y verificado en su totalidad.

El diseño de la investigación, la construcción y la validación del grafo de conocimiento, el desarrollo de la arquitectura RAG y del fine tuning, la ejecución de los experimentos y el análisis estadístico, y todas las cifras, tablas y conclusiones que aquí se presentan son obra propia, reales y reproducibles a partir del código y de los artefactos del proyecto.

Adrián Bueno Junquero Curso 2025/2026

8Ver también

Anotación humana

Los diez anotadores reales, el acuerdo del panel (ICC 0,831) y la validez de criterio frente al juez, con el solape de 33 de 50 declarado.

Resultados

El benchmark con n=50, la inversión del orden sobre código real de Dublin y la evidencia del sobreajuste a las plantillas.

Recursos y herramientas

El mapa recurso por recurso, con las GUI externas marcadas como parcial o hueco declarado sin inflar.

Cómo citar

Si este trabajo te resulta útil y quieres referenciarlo, esta es la cita recomendada.

Bueno Junquero, A. (2026). Integración de grafos de conocimiento educativos con modelos de lenguaje masivos mediante arquitecturas RAG para evaluación personalizada en la enseñanza de programación. Trabajo Fin de Máster, Máster Universitario en Investigación en Inteligencia Artificial, UNED. Director, José Luis Fernández Vindel.