ege-skill/ege-checker/SKILL.md

11 KiB
Raw Blame History

name description
ege-checker Проверка заданий ЕГЭ с выставлением баллов по официальным критериям ФИПИ. Используй этот скилл когда пользователь: - Загружает фото/скан рукописного сочинения ЕГЭ по русскому языку - Просит проверить сочинение ЕГЭ, выставить баллы, оценить работу - Загружает аудиозапись ответов по разделу "Аудирование" ЕГЭ по английскому - Упоминает "ЕГЭ", "сочинение", "критерии К1-К12", "аудирование английский" - Просит разобрать ошибки в сочинении по критериям ФИПИ Скилл умеет: OCR рукописного текста через vision, STT аудиозаписей через recognition.py, оценку по критериям ФИПИ 2026. Работает с любой multimodal LLM (Qwen, GPT-4o и др.).

ЕГЭ-Checker

Обзор возможностей

Модуль Вход — только распознавание Вход — распознавание + оценка
Сочинение (русский) Сканы бланков Сканы + исходный текст + тема
Аудирование (английский) Аудиозапись Аудиозапись + ключи проверяющего

Модуль 1: Сочинение ЕГЭ по русскому языку

Логика запуска

Если прислали только сканы бланков (без исходного текста и темы): → Только распознать рукопись и вывести текст. Оценку не выставлять. → Сообщить: "Текст распознан. Чтобы выставить баллы по критериям, пришлите также исходный текст задания и тему сочинения."

Если прислали сканы + исходный текст задания + тему: → Распознать рукопись, затем выставить баллы по К1К10 с объяснением снятий.


Режим 1: Только распознавание

  1. Внимательно рассмотри все изображения — бланки могут быть на нескольких листах
  2. Распознай рукописный текст максимально точно, сохраняя абзацное деление
  3. Зачёркнутые слова отмечай как зачёркнуто
  4. Выведи распознанный текст и сообщи количество слов
  5. Уточни: "Если есть неточности — поправьте. Чтобы выставить баллы, пришлите исходный текст задания."

Режим 2: Распознавание + оценка по критериям

Шаг 1 — Распознать текст (как в режиме 1, шаги 14) Попроси подтвердить распознанный текст перед оценкой.

Шаг 2 — Загрузить критерии Прочитай references/russian-essay-criteria.md — критерии К1К10 с баллами (ЕГЭ 2026).

Шаг 3 — Проверить предварительные условия

  • Подсчитай слова. Если менее 150 → все критерии = 0, сообщи об этом явно.
  • Если К1 = 0 → К2 и К3 автоматически = 0.

Шаг 4 — Оценить по каждому критерию К1К10 последовательно

Для каждого критерия:

  • Процитируй конкретный фрагмент из сочинения (если уместно)
  • Объясни снятие баллов — что именно не выполнено и почему
  • Выставь балл

Шаг 5 — Итоговый вывод

## Результаты проверки сочинения ЕГЭ (2026)

### Количество слов: XX

### Оценка по критериям

| Критерий | Название | Балл | Макс |
|----------|----------|------|------|
| К1 | Позиция автора | X | 1 |
| К2 | Комментарий к позиции автора | X | 3 |
| К3 | Собственное отношение + аргумент | X | 2 |
| К4 | Фактическая точность | X | 1 |
| К5 | Логичность | X | 2 |
| К6 | Этические нормы | X | 1 |
| К7 | Орфография | X | 3 |
| К8 | Пунктуация | X | 3 |
| К9 | Грамматика | X | 3 |
| К10 | Речевые нормы | X | 3 |
| **ИТОГО** | | **XX** | **22** |

### Подробные комментарии

**К1 — [балл/1]**
[что именно засчитано или почему снято]

**К2 — [балл/3]**
[разбор с цитатами: есть ли 2 примера, пояснения, смысловая связь]

...и так далее по каждому критерию...

### Снятия баллов (итого)
- К2: -1 — смысловая связь между примерами есть, но не пояснена
- К7: -1 — ошибка в слове "..."
...

### Главные рекомендации
1. [самое важное]
2. ...

Модуль 2: Аудирование ЕГЭ по английскому

Логика запуска

Если прислали только аудиозапись (без ключей): → Только распознать ответы ученика через recognition.py и вывести их таблицей. → Сообщить: "Ответы распознаны. Чтобы выставить баллы, пришлите правильные ответы (ключи)."

Если прислали аудиозапись + ключи проверяющего: → Распознать ответы, затем сверить с ключами и выставить баллы с объяснением ошибок.


Режим 1: Только распознавание

Шаг 1 — Сохранить аудиофайл

import os, time
ext = os.path.splitext(original_filename)[1] or ".mp3"
tmp_path = f"/tmp/ege_audio_{int(time.time())}{ext}"
with open(tmp_path, "wb") as f:
    f.write(audio_bytes)

Шаг 2 — Запустить recognition.py

python3 ~/.zeroclaw/workspace/skills/ege-checker/recognition.py <tmp_path> --output transcript

Шаг 3 — Удалить временный файл

if os.path.exists(tmp_path):
    os.remove(tmp_path)

Шаг 4 — Вывести распознанные ответы Таблица: задание | распознанный ответ Если есть нераспознанные — явно отметить. Сообщить: "Ответы распознаны. Пришлите правильные ответы (ключи) для выставления баллов."


Режим 2: Распознавание + оценка

Шаги 13 — те же, что в режиме 1 (сохранить, запустить, удалить).

Шаг 4 — Получить и распознать ключи Если ключи текстом — использовать напрямую. Если ключи фото — распознать через vision.

Шаг 5 — Загрузить критерии Прочитай references/english-listening-criteria.md.

Шаг 6 — Передать в LLM для сверки

Промпт для модели (подставить реальные значения):

Ты эксперт-проверяющий ЕГЭ по английскому (аудирование, 2026).

Транскрипт ответов ученика (Whisper):
[TRANSCRIPT]

Извлечённые ответы ученика:
- Задание 1 (AF): [TASK1]
- Задания 23 (True/False/Not stated): [TASK2_3]
- Задания 49 (выбор 1/2/3): [TASK4_9]
- Не распознаны (засчитать как 0): [UNRECOGNIZED]

Правильные ответы (ключи):
[KEYS]

Сверь ответы с ключами. 1 балл за совпадение, 0 за несовпадение или отсутствие.
Верни строго JSON без markdown:
{"results":{"task1":{"A":true},"task2_3":{"2":true},"task4_9":{"4":false}},
 "scores":{"task1":0,"task2_3":0,"task4_9":0,"total":0},
 "errors":["Задание 1B: ученик — 5, верный ответ — 1"]}

Шаг 7 — Вывести результат

## Результаты: Аудирование ЕГЭ (Английский язык, 2026)

### Задание 1 — Установление соответствия (макс. 6 баллов)
| Высказывание | Ответ ученика | Ключ | Результат |
| A | 3 | 3 | + |
| B | 5 | 1 | - |
...
Баллов: X / 6

### Задания 23 — True / False / Not stated (макс. 2 балла)
...
Баллов: X / 2

### Задания 49 — Выбор ответа (макс. 6 баллов)
...
Баллов: X / 6 (или X / подблок)

### Итого: XX / 12

### Ошибки с пояснением:
- Задание 1B: ученик ответил 5, верный ответ 1
...

[Если были нераспознанные:]
Задания X, Y не были распознаны в аудио и засчитаны как неверные (0 баллов).

Общие принципы

  • Актуальность: Критерии соответствуют ФИПИ ЕГЭ 2026
  • Строгость: Придерживайся формулировок критериев точно
  • Снятия: Всегда объясняй конкретно что именно не выполнено и почему снят балл
  • Пограничные случаи: При сомнении — объясни оба варианта, выбери более обоснованный
  • Тон: Конструктивный, учебный инструмент — не карательный
  • Совместимость: Скилл работает с любым multimodal агентом (Qwen3, GPT-4o и др.)