Calificar con dryRun¶
Dos tools califican tareas: get_submission lee el trabajo de un estudiante y grade_submission propone o guarda una nota. grade_submission es una simulación por defecto: no se guarda nada hasta que la llamada lleva dryRun: false. El prompt grade_assignment y la skill moodle-grading indican al agente que espere la confirmación del profesor antes de esa segunda llamada.
Requisitos¶
get_submission: alcancereadymod/assign:grade. Respeta los grupos separados y la calificación anónima.grade_submission: alcancewrite, escritura activada ymod/assign:grade. El estudiante debe estar matriculado.
Flujo¶
- Localiza la tarea (
get_course_structure,list_activitieso un cmid que haya dado el profesor). Mira quién está pendiente conget_submissions_status. -
Lee el trabajo:
get_submissiondevuelve estado, fecha, intento, el texto en línea como texto plano, los archivos (con el texto de txt, md, html y PDF sencillos), la nota y el comentario actuales, y la rúbrica o guía de evaluación con los ids de criterios y niveles. -
Propón una nota con una simulación (lo que ocurre por defecto):
{"cmid": 314, "username": "ada", "grade": 8.5, "comment": "Método claro; revisa las unidades del apartado 2."}La respuesta trae
dryRun: true,saved: falseyproposed, junto a la entrega actual. Enséñasela al profesor. -
Solo cuando el profesor confirme, envía la misma propuesta con
dryRun: false:
Rúbricas¶
Si la tarea usa rúbrica, envía criteria con un criterionId y un levelId para cada criterio (ids de get_submission), y un remark opcional. La nota guardada es la que calcula la rúbrica.
{"cmid": 314, "userId": 57, "criteria": [{"criterionId": 11, "levelId": 33}, {"criterionId": 12, "levelId": 37, "remark": "Buenas fuentes."}]}
get_submission devuelve guías de evaluación y escalas, pero grade_submission no las rellena.
Notificaciones y grupos¶
notifyesfalsepor defecto. Ponlo atruesolo si el profesor quiere que Moodle avise al estudiante por email.- En una tarea en grupo, la nota se aplica a todo el grupo.
- Si omites
comment, se mantiene el comentario actual. - La nota debe estar entre 0 y el máximo de la tarea.
Cada llamada queda registrada como evento tool_called en la tarea. Consulta Registro de eventos.