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.

1Las GUI externas que no ejecuté aquí

Parte del temario se apoya en herramientas con interfaz gráfica que no se ejecutaron en vivo dentro de este entregable. El artefacto queda preparado y reproducible; su captura de pantalla no se ejecutó en este entregable.

GUI no ejecutadas, artefacto listo

Protégé, Neo4j y arrows.app son interfaces gráficas externas que no corrí dentro de este flujo. El razonamiento lo resolví con owlrl (perfil OWL 2 RL) en lugar de Protégé; el grafo de propiedades equivalente queda como Cypher generado, sin Neo4j en vivo; y el diagrama de arrows.app se aporta como artefacto, no como sesión ejecutada. La carga en GraphDB está escrita y es reproducible, pero tampoco la dejé desplegada en vivo. En todos los casos el artefacto está preparado; su ejecución en la GUI correspondiente no se realizó en este entregable.

El detalle recurso por recurso, con su estado de uso, parcial o hueco, está en la página de Recursos y herramientas. El TFM es RDF-céntrico por decisión, no por descuido.

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 es un artefacto diseñado por IA anclado a la taxonomía del propio dataset. 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

Conservo aquí, sin alterarla, la declaración sobre el uso de herramientas de inteligencia artificial que acompaña a la memoria del TFM.

En la elaboración de este Trabajo de Fin de Máster he utilizado herramientas de inteligencia artificial generativa como apoyo a la redacción y a la organización del texto, 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.

Asumo la plena responsabilidad sobre el contenido de este documento y declaro este uso de herramientas de inteligencia artificial conforme a la normativa de la Universidad Nacional de Educación a Distancia (UNED) sobre integridad académica.

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 un grafo de conocimiento educativo con un LLM mediante RAG. Trabajo Fin de Máster, Máster Universitario en Investigación en Inteligencia Artificial, UNED. Director, José Luis Fernández Vindel.