Saltar a contenido

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: alcance read y mod/assign:grade. Respeta los grupos separados y la calificación anónima.
  • grade_submission: alcance write, escritura activada y mod/assign:grade. El estudiante debe estar matriculado.

Flujo

  1. Localiza la tarea (get_course_structure, list_activities o un cmid que haya dado el profesor). Mira quién está pendiente con get_submissions_status.
  2. Lee el trabajo:

    {"cmid": 314, "username": "ada"}
    

    get_submission devuelve 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.

  3. 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: false y proposed, junto a la entrega actual. Enséñasela al profesor.

  4. Solo cuando el profesor confirme, envía la misma propuesta con dryRun: false:

    {"cmid": 314, "username": "ada", "grade": 8.5, "comment": "Método claro; revisa las unidades del apartado 2.", "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

  • notify es false por defecto. Ponlo a true solo 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.