Skip to main content
DoneThat

AI Adoption GuideEducationAssess

Formative Feedback Generation

An LLM generates personalized, rubric-grounded feedback on student drafts before final submission to reduce revision cycles.

Education processRecruitAdmitEnrollTeachAssessCredentialGraduateAdvance

By Don, DoneThat’s AI coach · updated

Comments that cite the rubric, not a score

Formative feedback generation is a comment pass on a draft, not a grade. The model receives a published rubric and the current student text. It returns comments that name a rubric row and quote or point to a span in the draft. If either input is missing, the output stays empty. The model does not assign points, a letter, or a pass/fail. Faculty still owns the scored version after the student revises.

That split is the whole job. A comment that says "thesis is weak, 2/4" has already scored the draft. A comment that says "Criterion: Argument. The opening paragraph states a topic but does not take a position a reader could dispute" has not. The first leaks a number into a revision cycle. The second gives the student something to change before rubric-based essay scoring happens on the final submission.

Keep the comment language tied to the rubric's own words. If the rubric says "uses at least two peer-reviewed sources," the comment cites that row and the bibliography span. It does not invent "scholarly voice" or "engagement with the field" because those rows are not on the sheet. Invented criteria are a failure mode even when the prose sounds helpful.

Load the rubric and the draft, or emit nothing

The run has two required inputs: the rubric as the faculty published it, and the draft the student submitted for this round. Load both before any generation. Do not fill gaps with a default rubric, last term's sheet, or a typical college essay template. Do not stitch in a missing draft from notes, a prior assignment, or automated content generation that was meant for a prompt or exemplar.

Empty stays empty. No rubric: no comments. No draft: no comments. A rubric with rows but no performance descriptors: comments may cite row titles only if that is how faculty wrote the sheet; they still must not invent descriptors. A draft that is a title page and a heading: comments may attach only to spans that exist. Do not hallucinate paragraphs to annotate.

Store the rubric version with the assignment, not in the prompt as a paraphrase. LMS assignment tools in Canvas, Blackboard, Moodle, and similar course shells already hold the rubric and the file. Similarity and originality tools in the same stack, including Turnitin and Anthology products faculty already use, are adjacent systems. They are not a substitute for the rubric file. Point the model at the same rubric students see. If the published sheet and the model input disagree, the comments will cite rows the student cannot find.

One draft, comment by comment

Walk through a single assignment so the shape of a good comment is concrete. A first-year writing course uses a four-row rubric: claim, evidence, organization, and citation. A student uploads a short research draft to the assignment's draft slot. Faculty, or a configured assistant acting for faculty, loads that rubric and that file. The model returns comments. It does not return a total.

Example comment, claim row: "Rubric row: Claim. Draft span, paragraph 1, sentence 2: 'This paper will discuss social media and attention.' The row asks for a contestable position. This sentence names a topic. Restate it as a claim a reader could disagree with."

Example comment, evidence row: "Rubric row: Evidence. Draft span, paragraph 3: the paragraph summarizes one news article and no study. The row requires at least two sources that speak to the claim. Add a second source or narrow the claim to what this article can support."

Example comment when a row has no span: the citation row has nothing to mark if the draft has no reference list and no in-text citations. Name the row and the absence. Do not invent a bibliography to praise or correct.

Each comment should be usable without the rest of the thread: rubric row, draft location, what is on the page, what the row required. Students should not need to reverse-engineer a hidden score. Faculty should be able to skim the same list and see whether the model stayed inside the sheet.

This is not tutoring that sequences a lesson. An intelligent tutoring system may coach a skill over many steps. Formative comments on a draft are a snapshot against one rubric on one file. Keep the two jobs apart so a writing assignment does not turn into an ungraded chat that never closes.

Students revise; you grade the final

After comments post, the student revises in the same assignment workflow they already use. They submit a final. Faculty grades that final against the rubric. The comment list is not the scored version. Do not copy comment severity into a gradebook column. Do not average the number of comments into points.

If you later use a model on the final, treat that as a separate pass with a human in the loop, as you would for any scoring assist. Do not feed the formative comment thread plus the final file into one model and accept a score. That is a distinct failure mode: the same model both coached the draft and then marked the result of its own coaching, with no faculty judgment in between. Students then optimize for the commenter, not for the rubric you will actually apply.

Faculty still owns the scored version. That includes deciding when a draft was too thin for comments, when a student ignored the sheet, and when a comment was wrong. Wrong comments happen: a span mis-attributed, a row applied too strictly, a paraphrase treated as a citation. You delete or edit those before students treat them as instruction. You also decide whether originality review belongs in the draft round or only on the final. ai-content detection is a different question from whether a paragraph meets the evidence row.

Keep comments off the gradebook

Treating formative comments as the grade is the first slide into scoring. A student who sees "organization: needs work" next to a predicted C will argue the commenter, not revise the outline. If comments include numbers, letters, or "you would earn," you have started scoring. Strip those. Canvas, Blackboard, and Moodle all distinguish draft or formative submissions from the graded item. Keep the comment pass on the draft item.

Inventing a rubric criterion is the second. Models pad weak drafts with extra advice: voice, creativity, critical thinking as a free-floating trait. If it is not a row, it is not a comment target. Put extra advice in office hours or a separate optional checklist, not in the generated list.

Scoring with the same model that wrote the comments, without a human, is the third. Keep the human grade. If a scoring assist is used later, it should see the rubric and the final text, not the comment thread, unless faculty deliberately pastes a comment as an annotation they already approved.

Create or reuse a draft submission in the course shell, attach the official rubric, collect files the way you already do, run comments, return them as annotations or a comment list, open a revision window, and grade the final on the graded assignment. Turnitin, Anthology, and the LMS assignment tools sit around that flow as originality, integrity, or gradebook infrastructure.

Before you turn this on for a section, write four rules in the syllabus in your own words: drafts get comments, not points; comments cite the published rubric; missing rubric or missing draft means no comments; the final grade is yours. Then run one assignment yourself, including a draft that should yield empty output, so you see the empty case before students do.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first