TeachAnyHEPBL
Convierte un objetivo de proyecto de curso universitario (+ disciplina / curso / tipo de entrega opcionales) en:
- Imagen PNG larga — desglose estructurado del PBL en HE + grafo del sistema de conocimiento del curso
- Página web interactiva — página web de desglose del proyecto que coincide con el contenido de la imagen, con formularios en línea para el proyecto, sección de información del grupo y envío con un solo clic al correo del profesor (consulta las especificaciones en references/interactive-webpage.md)
- URL de edición —
https://www.teachany.cn/pbl?...para refinamiento por chat, ajustes de nodos, material del curso
La descomposición utiliza el pipeline de seis etapas de TeachAny en teachany.cn (LLM + índice curricular). No inventes nodos de conocimiento por tu cuenta; alinéalos con el temario del curso (课程大纲 / 培养方案) en lugar de inventar una estructura a nivel de capítulo.
Flujo de trabajo
- Analiza el objetivo del proyecto de curso y los campos opcionales (consulta references/parameters.md). Valor por defecto
--grade university. - Ejecuta el CLI incluido desde este directorio del skill (donde reside
SKILL.md):
python3 scripts/hepbl-decompose.py \
--goal "Texto original de la tarea del proyecto" \
--grade university \
--subject computer-science \
-o ./pbl-output
- En la primera ejecución, instala las dependencias si faltan:
pip install playwright && playwright install chromium - Redacta el diseño HE-PBL siguiendo references/course-blueprint.md — objetivos tridimensionales, niveles de Bloom, cadena de prerrequisitos, flujo de trabajo académico. Usa references/examples.md como referencia de estilo.
- Calibración autorizada del diseño (obligatoria si existe un documento de diseño, no se puede omitir): extrae palabra por palabra el overlay JSON del documento de diseño → ejecuta
scripts/calibrate_hepbl.pypara reconstruir la página web y la imagen (consulta más abajo «Calibración autorizada del diseño» y «Especificación de visualización de la ruta técnica»). - Responde con la ruta del PNG, la ruta de la página web interactiva, los recuentos de nodos del JSON, los objetivos tridimensionales y la edit_url (nunca incluyas
auto=1en los enlaces que des a los usuarios). - Si Playwright falla, sigue references/fallback.md — sigue devolviendo un enlace de edición.
Script de reemplazo para máquinas restringidas (conserva el original, usa este cuando no funcione)
scripts/hepbl-decompose-local.py es una versión de reemplazo del script original (el hepbl-decompose.py original se conserva sin cambios), que resuelve los siguientes problemas verificados en máquinas locales:
- La descarga de Chromium de Playwright se estanca (CDN inalcanzable) → retrocede automáticamente a
channel="msedge"(Edge del sistema) - El tiempo de espera de 360s es insuficiente →
TIMEOUT_MS = 900_000(la página PBL indexa todo el localStorage superando la cuota, cada reconstrucción completa tarda entre 100 y 180 segundos, el flujo completo mide entre 8 y 11 minutos; ejecútalo en segundo plano) gotofalla intermitentemente connet::ERR_NETWORK_CHANGED→ reintenta automáticamente 3 veces (con 5s de intervalo)
# El uso es idéntico al script original (la plantilla aún se ubica relativamente con `../assets/hepbl-report.html`, no la muevas)
python scripts/hepbl-decompose-local.py --goal "..." --grade university --subject mathematics -o ./pbl-output
Solución rápida de problemas: si tienes la imagen pero falta la página web interactiva, es porque el script se ejecuta desde otro directorio y no encuentra la plantilla ../assets/ (salta silenciosamente; coloca la plantilla en el mismo nivel). Si SciPy está bloqueado por la política de control de aplicaciones de Windows (DLL _trlib), los proyectos de tipo LP usarán principalmente PuLP(CBC) con SciPy como verificación cruzada opcional mediante try/except (NumPy/PuLP funcionan correctamente).
Estándares de diseño HE-PBL (obligatorios en la salida)
Cada diseño DEBE incluir:
- Objetivos de conocimiento / Habilidades / Actitudes (objetivos tridimensionales)
- Nivel de taxonomía de Bloom (Recordar / Comprender / Aplicar / Analizar / Evaluar / Crear) por objetivo
- Requisitos de conocimiento previo (cadena de prerrequisitos a cursos/capítulos anteriores)
- Conceptos clave y dificultades mapeados al sistema de conocimiento del curso
- Flujo del proyecto: Investigación bibliográfica → Diseño de la solución → Implementación y verificación → Presentación de resultados
- Entregables evaluables con estándares académicos (Informe de laboratorio / Documento de diseño / Defensa)
Consulta references/course-blueprint.md para el estándar completo.
Calibración autorizada del diseño (obligatoria)
Cuando exista un documento de diseño (p. ej., un markdown de «Diseño de proyecto PBL»), la descomposición del motor es solo un borrador; la entrega final debe pasar por la calibración autorizada:
- Extraer overlay palabra por palabra: nombres de nodos, objetivos tridimensionales, restricciones numéricas, resultados de referencia (x*/Z*/precios sombra), horas por etapa; todo debe extraerse textualmente del documento de diseño, sin inventar ni reformular.
- Limpieza de campos nulos: los campos inventados por el motor (
techRoute/pathPlan/projectBlueprint/stats) se establecen comonullen el overlay y se eliminan durante eldeep_merge; las claves de metadatos con prefijo_se eliminan. - Imagen = página web: usa
scripts/calibrate_hepbl.pypara reconstruir la página web y la imagen (captura de pantalla completa con Playwright, device_scale_factor=2); realiza una autocomprobación antes de la entrega (nombres de nodos consistentes con el documento de diseño, payload sin residuos, resumen consistente con el número de nodos). - Título unificado: el overlay DEBE contener un campo
title(idéntico palabra por palabra al título del documento de diseño) — el Hero de la página web, la pestaña, el informe exportado y el título de la imagen toman todosDATA.title(si falta, se retrocede al objetivo). - Entrada de edición continua: el botón «Abrir en TeachAnyHE» en la página web copia con un solo clic el comando de invocación del skill
@skill:TeachAnyHE(pégalo en el cuadro de diálogo de WorkBuddy para continuar editando en el escenario de educación superior); el enlace del motor teachany.cn se degrada a un enlace pequeño de «Borrador del motor TeachAny» que se conserva (DATA.edit_url).
Especificación de visualización de la ruta técnica
- La página web prioriza la representación de
techStages[](stage/hours/tasks[]/output) +toolChain[](name/use) como un diagrama de flujo jerárquico: chips de herramientas → flechas de conexión → tarjetas de etapa (círculo numerado + líneas de conexión + insignia de horas + lista de tareas + resultado de etapa); si falta, retrocede a una lista de cuatro seccionesprojectPhases. - Consulta el contrato de datos y la estructura de bloques en references/interactive-webpage.md; consulta un ejemplo completo de overlay en references/calibration-example-lp.json.
Plantilla de salida
## Desglose del diseño del curso HE-PBL
**Proyecto**: {title}

- **Nodos del grafo**: {nodeCount} (alineados con temario {matched} · extendidos {external})
- **Objetivo de conocimiento**: {...}
- **Objetivo de habilidad**: {...}
- **Objetivo de actitud**: {...}
- **Nivel de Bloom**: {...}
- **Página web interactiva**: [Abrir página de desglose del proyecto]({html_path}) (rellena el formulario del proyecto, la información del grupo y envía al correo del profesor en línea)
- **Editar**: El botón «Abrir en TeachAnyHE» de la página web copia el comando de invocación del skill con un solo clic (pégalo en el cuadro de diálogo de WorkBuddy para continuar editando en el escenario HE) · Enlace del borrador del motor: {edit_url}
El comando copiado al hacer clic en «Abrir en TeachAnyHE» se pega en el cuadro de diálogo de WorkBuddy para continuar la conversación, modificar el desglose, ajustar los puntos de conocimiento y crear material del curso con un solo clic.
Muestra el PNG en el chat cuando el entorno lo soporte.
¿Por qué no escribir el grafo a mano?
TeachAny empareja nodos con índices curriculares, realiza una revisión de relevancia y construye aristas de dependencia. Una lista simple de LLM no logra la alineación con el temario y produce IDs de nodo falsos.
Ejemplos
Consulta references/examples.md para una biblioteca completa de ejemplos HE-PBL en cursos de Matemáticas / Informática / Comunicaciones / Eléctrica. Ejemplos rápidos:
Ejemplo 1 — Estructuras de datos: python3 scripts/hepbl-decompose.py --goal "Diseñar un sistema de ruta más corta para navegación en el campus…" --grade university --subject computer-science --deliverable engineering-prototype -o ./pbl-output
Ejemplo 2 — Señales y sistemas: python3 scripts/hepbl-decompose.py --goal "Diseño de filtro FIR y análisis de espectro…" --grade university --subject communications --deliverable simulation-report -o ./pbl-output
Recursos adicionales
- Referencia de parámetros: references/parameters.md
- Estándar de diseño HE-PBL: references/course-blueprint.md
- Especificación de página web interactiva: references/interactive-webpage.md
- Biblioteca de ejemplos: references/examples.md
- Playwright no disponible: references/fallback.md