Daily Scrum — 10 de febrero de 2026
🎯 Objetivo hoy
Inicio de Semana 3: Implementar módulo de evaluación de dificultad.
✅ ¿Qué hice ayer?
- Comparación K-Means vs FCM completada.
- FAQs generadas a partir de centroides de clusters.
- Documentación de métricas ARI, NMI, Silhouette.
- Análisis de documentos “trampa” y su clasificación.
🚀 ¿Qué haré hoy?
- Diseño del Clasificador de Dificultad (HU #17):
- Definir niveles: básico, intermedio, avanzado.
- Diseñar criterios de clasificación basados en embeddings.
- Crear estructura de módulo
chatbot/difficulty.py.
- Implementación del Clasificador:
- Usar clustering de embeddings de preguntas.
- Implementar distancia a centroides de dificultad.
- Entrenar clasificador con preguntas etiquetadas.
- Integración con el Agente:
- Modificar flujo del agente para evaluar dificultad.
- Pasar nivel de dificultad al prompt de respuesta.
🚧 Obstáculos potenciales
- Definir heurísticas claras para niveles de dificultad.
- Obtener preguntas etiquetadas para entrenamiento.
✅ Criterios de aceptación
📝 Notas de implementación
Archivos creados/modificados
| Archivo | Descripción |
chatbot/logic/difficulty.py | Módulo principal con DifficultyClassifier, DifficultyLevel, clasificación heurística y por embeddings |
chatbot/logic/graph.py | Integración en think() node, nuevo campo query_difficulty en SubjectState |
chatbot/config.py | Settings para difficulty_centroids_path, difficulty_embedding_dim |
chatbot/tests/test_difficulty.py | Tests unitarios para el clasificador |
scripts/train_difficulty_centroids.py | Script para entrenar centroides desde preguntas etiquetadas |
docs/notas/difficulty-classifier-plan.md | Plan de implementación detallado |
Enfoque de clasificación
- Heurístico (rápido): Patrones regex + keywords para clasificación instantánea
- Embeddings (preciso): Distancia a centroides pre-entrenados usando softmax para confianza
Próximos pasos
📊 Resultados de Validación
Accuracy del Clasificador
| Método | Accuracy | Notas |
| Solo Embeddings | 53.3% | Confunde intermediate→advanced |
| Híbrido (H+E) | 93.3% | ✅ Recomendado |
Desglose por Nivel (Método Híbrido)
| Nivel | Accuracy | Método Dominante |
| Basic | 100% | Heurístico |
| Intermediate | 80% | Heurístico (1 fallback a embedding) |
| Advanced | 100% | Heurístico |
Dataset de Entrenamiento
- Total: 388 preguntas etiquetadas
- Temas: Docker, Kubernetes, Git/CI-CD
- Distribución: Basic (20.6%), Intermediate (51.5%), Advanced (27.8%)
- Generado con: Mistral LLM
Centroides Entrenados
- Archivo:
chatbot/data/difficulty_centroids.json - Dimensión: 768 (nomic-embed-text)
- Modelo: Ollama en localhost:11435
📝 Notas técnicas
Criterios de Dificultad
- Básico: Preguntas cortas, vocabulario simple, conceptos fundamentales.
- Intermedio: Preguntas con terminología técnica, relaciones entre conceptos.
- Avanzado: Preguntas complejas, múltiples conceptos, aplicaciones prácticas.