Saltar al contenido principal

Agente IA (Alcance 3)

Spec: Definicion de alcance integracion IA-Moodle (docx) Estado: Implementado

Proposito​

El Alcance 3 cubre dos flujos complementarios de integracion con un agente IA externo:

  1. Consulta (pull): el agente IA consulta datos del campus (progreso, calificaciones, alertas) para tomar decisiones autonomas. Se expone via Web Services REST con autenticacion por token.
  2. Conversacion (push): el estudiante conversa con el tutor IA desde Moodle a traves del Drawer IA. El plugin local_pccntr8203403_aitutor actua como proxy del lado del servidor.

En ambos flujos, el agente nunca consulta tablas mdl_* directamente.

Arquitectura​

El alcance se resuelve con tres plugins locales independientes (ADR-003):

PluginFlujoADREstado
local_pccntr8203403_dashboardConsulta (pull): funciones externas de solo lecturaADR-001Implementado -- capa de datos y funcion externa get_student_panel
local_pccntr8203403_iacontextConsulta (pull): contexto plano de actividades por estudianteADR-001En desarrollo (ALPHA) -- funcion externa get_activity_context
local_pccntr8203403_aitutorConversacion (push): proxy al servicio externoADR-003Implementado (ALPHA)

Estado de las piezas​

PiezaEstado
Capa de datos serializable (course_stats, student_stats, academic_alerts)Implementada -- ver local_pccntr8203403_dashboard
Funcion externa de consulta local_pccntr8203403_dashboard_get_student_panelImplementada -- devuelve el dataset completo del panel de aprendizaje por curso (progreso, calificaciones, pendientes, racha, modulos, ultimas notas y las 12 alertas academicas). Capacidad local/pccntr8203403_dashboard:viewstudentpanel. El ADR-001 la propuso con el nombre provisional get_learner_context; el nombre definitivo es get_student_panel
Funcion externa de consulta local_pccntr8203403_iacontext_get_activity_contextEn desarrollo -- devuelve una fila plana por actividad (nombre, seccion, tipo, enlace, estado, nota y fecha limite unidos por cmid), mas la completitud del curso y el ultimo acceso del estudiante. Capacidad local/pccntr8203403_iacontext:viewcontext. Contrato en get_activity_context. Pendiente la cuenta de servicio no administradora que ejercite las comprobaciones de permisos
Servicio externo + token para el agenteParcial -- en Pruebas existe el servicio "Componente IA Externo" con funciones core y token
Plugin proxy del tutor IA (local_pccntr8203403_aitutor)Implementado -- funcion send_message, rate limiting, sanitizacion, soporte SCORM
Drawer IA (interfaz conversacional en el tema)Implementado -- plantilla, AMD, SCSS en theme_cdigital

Relacionados​

  • Servicio "Componente IA Externo" -- servicio de Web Services configurado en Pruebas con las funciones core que consume el agente, y demo de las respuestas JSON por trigger.
  • Drawer IA -- interfaz conversacional del agente; panel lateral de chat renderizado por theme_cdigital, correspondiente al elemento Aside - NavigationDrawer (AI Assistant Chat Panel) del diseno en Figma.
  • local_pccntr8203403_aitutor -- plugin proxy que conecta el Drawer IA con el servicio externo de tutoria.
  • Proveedores de IA (core_ai) -- subsistema nativo de Moodle 5.1; independiente de esta capa de datos, pero parte del ecosistema IA del campus.
  • Insignia #12 "Aliado Inteligente" (Insignias) -- diferida hasta que exista la tutora IA.

El estado consolidado por requerimiento esta en Alcances y desarrollos.