> ## Documentation Index
> Fetch the complete documentation index at: https://docs.learningcommons.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Tone Appropriateness

> Reference documentation for the Tone Appropriateness feedback evaluator.

export const PiiWarning = () => {
  return <Warning>
      Inputs must be de-identified. Do not submit students' Personally
      Identifiable Information (PII) or any regulated or sensitive personal
      information.
    </Warning>;
};

[Evaluator last updated July 29, 2026.](#evaluator-release-history)

<EarlyAccess isBreaking={false} />

## Overview

The Tone Appropriateness evaluator assesses whether a piece of teacher feedback strikes a tone that is appropriate and constructive for the student — supportive even when pointing out areas for improvement, addressing the work rather than the student, and avoiding praise so inflated that it misrepresents the quality of the work.

The evaluator considers whether the feedback:

* Uses language that is neutral and professional, versus harsh or dismissive
* Targets the work versus judging the student as a person
* Matches the actual quality of the work, versus overstating it, when giving praise

<Note>
  Tone judgments are culturally and contextually sensitive. What reads as
  "supportive" or "harsh" may vary across communities, and labels reflect the
  judgment of a small set of human annotators applying a rubric adapted for
  machine use.
</Note>

## At a glance

|                      |                                                                                                                                                                                                                                   |
| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Input type**       | Teacher feedback on a student writing response                                                                                                                                                                                    |
| **Supported grades** | 8–9                                                                                                                                                                                                                               |
| **Rubric**           | Productive Coaching rubric developed by [Quill.org](https://www.quill.org/) ↗ and [Leanlab Education](https://www.leanlabeducation.org/) ↗, in partnership with [Anastasiya A. Lipnevich](https://www.anastasiyalipnevich.com/) ↗ |

The evaluator was built and validated using the model and temperature below (other configurations will produce different results and may have lower accuracy):

|                  |                                                                                  |
| :--------------- | :------------------------------------------------------------------------------- |
| **Model used**   | GPT-5.4                                                                          |
| **Temperature**  | 1.0                                                                              |
| **Optimization** | DSPy + GEPA (Genetic-Pareto) prompt optimization against expert-annotated labels |

<Note>
  On this dimension's held-out test split, Claude Haiku 4.5 scored highest. We
  chose to ship GPT-5.4 here for consistency across the evaluator suite, rather
  than for its margin on this individual dimension.
</Note>

## Getting started

Follow the [Quickstart](/evaluators/getting-started/quickstart) to start using this evaluator:

| Access method             |                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| :------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Evaluators Playground** | [View in the Learning Commons Platform](https://platform.learningcommons.org/apps/evaluators/playground?utm_source=docs\&utm_medium=evaluators) ↗                                                                                                                                                                                                                                                                                   |
| **Python notebook**       | [View in GitHub](https://github.com/learning-commons-org/evaluators/tree/main/evals/feedback/productive-coaching-writing-feedback/tone-appropriateness/example_notebook.ipynb?utm_source=docs\&utm_medium=evaluators) ↗                                                                                                                                                                                                             |
| **Prompts**               | View in GitHub: [`system.txt`](https://github.com/learning-commons-org/evaluators/blob/main/evals/feedback/productive-coaching-writing-feedback/tone-appropriateness/system.txt?utm_source=docs\&utm_medium=evaluators) ↗ and [`user.txt`](https://github.com/learning-commons-org/evaluators/blob/main/evals/feedback/productive-coaching-writing-feedback/tone-appropriateness/user.txt?utm_source=docs\&utm_medium=evaluators) ↗ |

## Inputs

<PiiWarning />

| Input             | Description                                       | Required |
| :---------------- | :------------------------------------------------ | :------- |
| **Student text**  | Student's written response                        | Yes      |
| **Feedback text** | Teacher- or AI-generated feedback to be evaluated | Yes      |

## Output

| Field                          | Description                                                                                                                                                                                                                                                                                                                                  |
| :----------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Tone appropriateness score** | Binary judgment (1 / 0). A 1 applies when the feedback uses neutral, professional, supportive language that targets the work and keeps any praise proportionate to the work's quality. A 0 signals feedback that is harsh, dismissive, or shaming, that judges the student rather than the work, or that uses exaggerated / inflated praise. |
| **Reasoning**                  | High-level summary of why the feedback received this judgment                                                                                                                                                                                                                                                                                |
| **Key features**               | One entry per factor driving the judgment (neutral professional language, targets work not student, praise proportionate to work), each marked met (1) / not met (0) with a justification                                                                                                                                                    |
| **Proposed adjustment**        | Suggested moves to bring the feedback's tone into an appropriate, constructive range, for developers iterating on prompts                                                                                                                                                                                                                    |

```json Example output theme={null} theme={null}
{
  "reasoning": "The response is incomplete — it gives only a vague reason ('cost') without the specific, text-based evidence the task calls for — so describing it as 'absolutely perfect' and 'one of the best answers I've seen' is inflated and exaggerated relative to the work. It gives the student no accurate signal about where they stand.",
  "key_features": {
    "neutral_professional_language": {
      "met": 0,
      "justification": "Uses exaggerated, effusive language ('absolutely perfect,' 'amazing!!') rather than a neutral, professional tone."
    },
    "targets_work_not_student": {
      "met": 1,
      "justification": "Addresses the response rather than attacking or judging the student as a person."
    },
    "praise_proportionate_to_work": {
      "met": 0,
      "justification": "Praise is disproportionate — it calls an incomplete response 'perfect' and 'one of the best answers I've seen.'"
    }
  },
  "proposed_adjustment": "Keep praise proportionate to the work and tie it to a specific, accurate strength. Example: 'You gave a clear, text-based reason with cost — nice start. To strengthen it, add one specific cost the article mentions.'",
  "tone_appropriateness_score": 0
}
```

## Interpreting results

| Output                                     | How to use it                                                                                                                                                                                                                                                                                                                                                                                         |
| :----------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Tone appropriateness score + Reasoning** | Validate that your AI-generated feedback supports students emotionally without overstating, shaming, or evaluating the student rather than the work. Aggregate reasoning across runs to detect tone drift — models tuned for friendliness tend to drift toward effusive, exaggerated praise that reads pleasantly but misrepresents quality, a failure mode that won't trigger complaints on its own. |
| **Key features + Proposed adjustment**     | Pinpoint whether a "0" is driven by harsh/dismissive language, judging the student rather than the work, or inflated praise. Adjust prompts to require the model to describe the work rather than judge the student, and to keep any praise proportionate to the response.                                                                                                                            |

## Evaluator release history

| Date          | Changed       |
| ------------- | ------------- |
| July 29, 2026 | First release |
