diff --git a/.gitignore b/.gitignore index c323cf4..a7dbbbe 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .venv +.scans diff --git a/ege-checker/SKILL.md b/ege-checker/SKILL.md index eeee0f8..bec151f 100644 --- a/ege-checker/SKILL.md +++ b/ege-checker/SKILL.md @@ -5,108 +5,106 @@ description: > Используй этот скилл когда пользователь: - Загружает фото/скан рукописного сочинения ЕГЭ по русскому языку - Просит проверить сочинение ЕГЭ, выставить баллы, оценить работу - - Загружает аудиозапись или текст ответов по разделу "Аудирование" ЕГЭ по английскому + - Загружает аудиозапись ответов по разделу "Аудирование" ЕГЭ по английскому - Упоминает "ЕГЭ", "сочинение", "критерии К1-К12", "аудирование английский" - Просит разобрать ошибки в сочинении по критериям ФИПИ - Скилл умеет: OCR рукописного текста через vision (multimodal), оценку по критериям, подробные комментарии. Работает с любой multimodal LLM (Qwen, GPT-4o и др.). + Скилл умеет: OCR рукописного текста через vision, STT аудиозаписей через recognition.py, + оценку по критериям ФИПИ 2026. Работает с любой multimodal LLM (Qwen, GPT-4o и др.). --- # ЕГЭ-Checker ## Обзор возможностей -| Модуль | Статус | Вход | Выход | -|--------|--------|------|-------| -| Сочинение (русский) | ✅ MVP | Фото рукописи или текст | Баллы К1–К12 + комментарии | -| Аудирование (английский) | ✅ MVP | Аудиофайл + ключи | Баллы по заданиям | +| Модуль | Вход — только распознавание | Вход — распознавание + оценка | +|--------|----------------------------|-------------------------------| +| Сочинение (русский) | Сканы бланков | Сканы + исходный текст + тема | +| Аудирование (английский) | Аудиозапись | Аудиозапись + ключи проверяющего | --- ## Модуль 1: Сочинение ЕГЭ по русскому языку -### Что получает агент от проверяющего -Проверяющий присылает в одном сообщении: -1. **Сканы бланков** — фото рукописного сочинения (один или несколько листов) -2. **Исходный текст задания** — публицистический/художественный текст, по которому написано сочинение -3. **Тему/формулировку задания** — если есть отдельно (иногда тема вытекает из текста) +### Логика запуска -Без исходного текста невозможно проверить К1, К2, К3 и К12. Если текст не прислан — попроси его перед началом проверки. +**Если прислали только сканы бланков (без исходного текста и темы):** +→ Только распознать рукопись и вывести текст. Оценку не выставлять. +→ Сообщить: "Текст распознан. Чтобы выставить баллы по критериям, пришлите также исходный текст задания и тему сочинения." -### Шаг 1 — Получить текст сочинения - -**Если загружено фото/скан:** -1. Внимательно рассмотри все изображения — бланки могут быть на нескольких листах -2. Распознай рукописный текст максимально точно, сохраняя абзацное деление -3. Выведи распознанный текст и попроси подтвердить: *"Вот что распознано. Если есть неточности — поправьте перед проверкой."* -4. Дождись подтверждения или правок - -**Если текст вставлен напрямую:** -Переходи к Шагу 2 без распознавания. - -### Шаг 2 — Загрузить критерии - -Прочитай файл `references/russian-essay-criteria.md` — там полные критерии К1–К12 с баллами и примерами. - -### Шаг 3 — Оценить по каждому критерию - -Пройдись по всем критериям К1–К12 **последовательно**. Для каждого: -- Процитируй конкретный фрагмент из сочинения (если уместно) -- Объясни своё решение -- Выставь балл - -**Важные правила:** -- Если К1 = 0 (нет формулировки проблемы) → К2, К3, К4 автоматически = 0 -- Если работа ≤ 70 слов → все баллы = 0, только К10 может быть ненулевым -- Считай слова перед проверкой (служебные части речи считаются) - -### Шаг 4 — Итоговый вывод - -Используй этот формат вывода: - -``` -## Результаты проверки сочинения ЕГЭ - -### Распознанный текст -[текст если было фото, иначе пропусти] - -### Количество слов: XX +**Если прислали сканы + исходный текст задания + тему:** +→ Распознать рукопись, затем выставить баллы по К1–К10 с объяснением снятий. --- +### Режим 1: Только распознавание + +1. Внимательно рассмотри все изображения — бланки могут быть на нескольких листах +2. Распознай рукописный текст максимально точно, сохраняя абзацное деление +3. Зачёркнутые слова отмечай как ~~зачёркнуто~~ +4. Выведи распознанный текст и сообщи количество слов +5. Уточни: "Если есть неточности — поправьте. Чтобы выставить баллы, пришлите исходный текст задания." + +--- + +### Режим 2: Распознавание + оценка по критериям + +**Шаг 1 — Распознать текст** (как в режиме 1, шаги 1–4) +Попроси подтвердить распознанный текст перед оценкой. + +**Шаг 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 | 6 | -| К3 | Отражение позиции автора | X | 1 | -| К4 | Отношение к позиции автора | X | 1 | -| К5 | Смысловая цельность, связность | X | 2 | -| К6 | Точность и выразительность речи | X | 2 | +| К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 | 2 | -| К10 | Речевые нормы | X | 2 | -| К11 | Этические нормы | X | 1 | -| К12 | Фактическая точность | X | 1 | -| **ИТОГО** | | **XX** | **25** | - ---- +| К9 | Грамматика | X | 3 | +| К10 | Речевые нормы | X | 3 | +| **ИТОГО** | | **XX** | **22** | ### Подробные комментарии **К1 — [балл/1]** -[объяснение] +[что именно засчитано или почему снято] -**К2 — [балл/6]** -[объяснение с цитатами из текста] +**К2 — [балл/3]** +[разбор с цитатами: есть ли 2 примера, пояснения, смысловая связь] -... и так далее по каждому критерию ... +...и так далее по каждому критерию... ---- +### Снятия баллов (итого) +- К2: -1 — смысловая связь между примерами есть, но не пояснена +- К7: -1 — ошибка в слове "..." +... ### Главные рекомендации -1. [самое важное для улучшения] +1. [самое важное] 2. ... ``` @@ -114,109 +112,129 @@ description: > ## Модуль 2: Аудирование ЕГЭ по английскому -### Что получает агент от проверяющего -Проверяющий присылает в одном сообщении: -1. **Аудиозапись** — файл с устными ответами ученика (MP3, WAV, M4A и т.д.) -2. **Правильные ответы (ключи)** — текстом или фото бланка с ключами +### Логика запуска -### Шаг 1 — Сохранить аудиофайл во временную директорию +**Если прислали только аудиозапись (без ключей):** +→ Только распознать ответы ученика через recognition.py и вывести их таблицей. +→ Сообщить: "Ответы распознаны. Чтобы выставить баллы, пришлите правильные ответы (ключи)." -Сохрани полученный аудиофайл во временный путь `/tmp/ege_audio_.`. +**Если прислали аудиозапись + ключи проверяющего:** +→ Распознать ответы, затем сверить с ключами и выставить баллы с объяснением ошибок. +--- + +### Режим 1: Только распознавание + +**Шаг 1 — Сохранить аудиофайл** ```python 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 +**Шаг 2 — Запустить recognition.py** -**Через subprocess (рекомендуется):** +Через subprocess (рекомендуется): ```bash -python3 ~/zeroclaw-bot/recognition.py {tmp_path} --output json +python3 ~/zeroclaw-bot/recognition.py --output json ``` -**Через прямой импорт:** +Через прямой импорт: ```python import sys sys.path.insert(0, os.path.expanduser("~/zeroclaw-bot")) from recognition import process_audio - transcript, answers = process_audio(tmp_path, model_size="medium", verbose=False) -recognition_json = { - "transcript": transcript.text, - "answers": answers.to_dict(), - "unrecognized": answers.unrecognized, -} ``` -Результат — JSON: -- `transcript` — полный текст того, что сказал ученик -- `answers.task1` — {"A": "3", "B": "1", ...} -- `answers.task2_9` — {"2": "1", "3": "2", ...} -- `answers.task10_18` — {"10": "2", "11": "1", ...} -- `answers.unrecognized` — задания, которые не удалось извлечь (засчитать как 0) - -### Шаг 3 — Получить и распознать ключи -Если ключи пришли текстом — использовать напрямую. -Если пришло фото бланка с ключами — распознать через vision. - -### Шаг 4 — Передать в LLM для сверки и выставления баллов - -Сформируй промпт для LLM на основе результатов recognition.py. -Подставь реальные значения вместо плейсхолдеров: - +**Шаг 3 — Удалить временный файл** +```python +if os.path.exists(tmp_path): + os.remove(tmp_path) ``` -Ты эксперт-проверяющий ЕГЭ по английскому (аудирование). -Транскрипт ответов ученика (распознан через Whisper): +**Шаг 4 — Вывести распознанные ответы** +Таблица: задание | распознанный ответ +Если есть нераспознанные — явно отметить. +Сообщить: "Ответы распознаны. Пришлите правильные ответы (ключи) для выставления баллов." + +--- + +### Режим 2: Распознавание + оценка + +**Шаги 1–3** — те же, что в режиме 1 (сохранить, запустить, удалить). + +**Шаг 4 — Получить и распознать ключи** +Если ключи текстом — использовать напрямую. +Если ключи фото — распознать через vision. + +**Шаг 5 — Загрузить критерии** +Прочитай `references/english-listening-criteria.md`. + +**Шаг 6 — Передать в LLM для сверки** + +Промпт для модели (подставить реальные значения): +``` +Ты эксперт-проверяющий ЕГЭ по английскому (аудирование, 2026). + +Транскрипт ответов ученика (Whisper): [TRANSCRIPT] Извлечённые ответы ученика: -- Задание 1 (A-F): [TASK1] -- Задания 2-9: [TASK2_9] -- Задания 10-18: [TASK10_18] +- Задание 1 (A–F): [TASK1] +- Задания 2–3 (True/False/Not stated): [TASK2_3] +- Задания 4–9 (выбор 1/2/3): [TASK4_9] - Не распознаны (засчитать как 0): [UNRECOGNIZED] Правильные ответы (ключи): [KEYS] -Сверь ответы с ключами. 1 балл за совпадение, 0 — за несовпадение или отсутствие. +Сверь ответы с ключами. 1 балл за совпадение, 0 за несовпадение или отсутствие. Верни строго JSON без markdown: -{"results":{"task1":{"A":true},"task2_9":{"2":true},"task10_18":{"10":false}}, - "scores":{"task1":0,"task2_9":0,"task10_18":0,"total":0}, - "errors":["Задание 1B: ученик ответил 5, верный ответ 1"]} +{"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"]} ``` -Читай `references/english-listening-criteria.md` для максимальных баллов каждого блока. +**Шаг 7 — Вывести результат** -### Шаг 5 — Удалить временный файл +``` +## Результаты: Аудирование ЕГЭ (Английский язык, 2026) -Обязательно удали аудиофайл после получения ответа от LLM: +### Задание 1 — Установление соответствия (макс. 6 баллов) +| Высказывание | Ответ ученика | Ключ | Результат | +| A | 3 | 3 | + | +| B | 5 | 1 | - | +... +Баллов: X / 6 -```python -import os -if os.path.exists(tmp_path): - os.remove(tmp_path) +### Задания 2–3 — True / False / Not stated (макс. 2 балла) +... +Баллов: X / 2 + +### Задания 4–9 — Выбор ответа (макс. 6 баллов) +... +Баллов: X / 6 (или X / подблок) + +### Итого: XX / 12 + +### Ошибки с пояснением: +- Задание 1B: ученик ответил 5, верный ответ 1 +... + +[Если были нераспознанные:] +Задания X, Y не были распознаны в аудио и засчитаны как неверные (0 баллов). ``` -### Шаг 6 — Вывести результат пользователю - -Три блока (Задание 1 / Задания 2-9 / Задания 10-18): -колонки — задание, ответ ученика, ключ, результат (✓/✗). -Итог: баллы по каждому блоку + общий итог из 23. - -Если были нераспознанные задания — явно указать: -"Задания X, Y не были распознаны в аудио и засчитаны как неверные." --- -## Общие принципы проверки +## Общие принципы -- **Актуальность**: Критерии соответствуют демоверсии ФИПИ 2024–2025 -- **Строгость**: Придерживайся формулировок критериев, не занижай и не завышай -- **Пограничные случаи**: При сомнении между баллами — объясни оба варианта и выбери более обоснованный -- **Тон**: Конструктивный, поддерживающий. Это учебный инструмент, не карательный -- **Совместимость**: Скилл написан без привязки к конкретной модели. Работает с любым multimodal агентом, поддерживающим vision и аудио (Qwen3, GPT-4o, и др.) +- **Актуальность**: Критерии соответствуют ФИПИ ЕГЭ 2026 +- **Строгость**: Придерживайся формулировок критериев точно +- **Снятия**: Всегда объясняй конкретно что именно не выполнено и почему снят балл +- **Пограничные случаи**: При сомнении — объясни оба варианта, выбери более обоснованный +- **Тон**: Конструктивный, учебный инструмент — не карательный +- **Совместимость**: Скилл работает с любым multimodal агентом (Qwen3, GPT-4o и др.) diff --git a/ege-checker/references/english-listening-criteria.md b/ege-checker/references/english-listening-criteria.md index 33d29b3..91f50b1 100644 --- a/ege-checker/references/english-listening-criteria.md +++ b/ege-checker/references/english-listening-criteria.md @@ -1,30 +1,78 @@ # Критерии оценивания раздела "Аудирование" ЕГЭ по английскому языку -## Статус: заглушка — будет заполнено в следующей итерации - -### Структура раздела (ЕГЭ 2024–2025) - -**Задание 1** (B1) — установление соответствия: 6 высказываний → 7 утверждений -- 1 балл за каждое верное соответствие -- Максимум: 6 баллов - -**Задания 2–9** (B2) — верно/неверно/не сказано (True/False/Not Stated) -- 1 балл за каждый верный ответ -- Максимум: 8 баллов - -**Задания 10–18** — краткий ответ/выбор из нескольких вариантов -- 1 балл за каждый верный ответ -- Максимум: 9 баллов - -**Итого по разделу "Аудирование": 20 первичных баллов** +## Источник: ФИПИ, спецификация ЕГЭ 2026 --- -## STT интеграция (планируется) +## Структура раздела "Аудирование" -Для обработки аудиозаписей потребуется: -- OpenAI Whisper API (рекомендуется для русской и английской речи) -- Или Deepgram (альтернатива) -- Эндпоинт: `https://api.openai.com/v1/audio/transcriptions` -- Модель: `whisper-1` +Раздел состоит из 9 заданий (задания 1–9), максимум — 12 первичных баллов. +Каждое задание = 1 балл за верный ответ, 0 за неверный. +Критерии объективные — только совпадение с ключом, никакой субъективной оценки. -Временное решение для MVP: попросить пользователя ввести ответы текстом. +--- + +## Задание 1 — Установление соответствия (1 задание, 6 баллов) + +Формат: ученик слышит 6 высказываний от 6 говорящих. Нужно установить соответствие +каждого высказывания одному из 7 утверждений (одно утверждение — лишнее). + +Ответ: буква A–F → цифра 1–7. +Оценивание: 1 балл за каждое верное соответствие, максимум 6 баллов. +Пример ответа ученика: A–3, B–1, C–5, D–7, E–2, F–4. + +--- + +## Задания 2–3 — Верно / Неверно / В тексте не сказано (2 задания, 2 балла) + +Формат: ученик слышит диалог. По 2 утверждения, нужно определить: +- 1 (True) — утверждение соответствует диалогу +- 2 (False) — утверждение противоречит диалогу +- 3 (Not stated) — информация в диалоге не упоминается + +Оценивание: 1 балл за каждый верный ответ, максимум 2 балла. + +--- + +## Задания 4–9 — Выбор из трёх вариантов (6 заданий, 6 баллов) + +Формат: ученик слышит 6 монологов/диалогов. К каждому — вопрос с 3 вариантами ответа. +Нужно выбрать верный вариант: 1, 2 или 3. + +Оценивание: 1 балл за каждый верный ответ, максимум 6 баллов (2 задания по 3 баллов). + +> Примечание по структуре: в разных вариантах ФИПИ количество заданий блоков может +> незначительно варьироваться. Агент должен ориентироваться на фактические ключи +> проверяющего, а не на фиксированную нумерацию выше. + +--- + +## Итоговая таблица + +| Блок | Задания | Тип | Макс. баллов | +|------|---------|-----|-------------| +| Соответствие | 1 | A–F → 1–7 | 6 | +| True/False/Not stated | 2–3 | 1/2/3 | 2 | +| Выбор ответа | 4–9 | 1/2/3 | 6 (иногда делится на подблоки) | +| | | **Итого** | **12** | + +--- + +## Алгоритм проверки агентом + +### Что нужно для оценки +1. Распознанные ответы ученика (из аудиозаписи через recognition.py) +2. Правильные ответы (ключи) от проверяющего + +### Логика сверки +- Задание 1: совпадение буква → цифра (A=3 у ученика, A=3 в ключе → 1 балл) +- Задания 2–9: совпадение цифры (ученик: 1, ключ: 1 → 1 балл) +- Нераспознанный ответ ("?") → 0 баллов +- Регистр не важен: "TRUE", "true", "T" — одно и то же +- Для соответствий принимать форматы: "A3", "A-3", "A=3", "A — 3" + +### Формат вывода + +Три блока с таблицами: задание | ответ ученика | ключ | результат (+ или -) +Итог по каждому блоку + общий итог из 12. +Список ошибок с пояснением: "Задание 1B: ученик — 5, верный ответ — 1". +Если есть нераспознанные задания — явно указать какие и что они засчитаны как 0. diff --git a/ege-checker/references/russian-essay-criteria.md b/ege-checker/references/russian-essay-criteria.md index d3317b5..e727016 100644 --- a/ege-checker/references/russian-essay-criteria.md +++ b/ege-checker/references/russian-essay-criteria.md @@ -1,5 +1,19 @@ # Критерии оценивания сочинения ЕГЭ по русскому языку -## Источник: ФИПИ, демоверсия 2024–2025 +## Источник: ФИПИ, демоверсия ЕГЭ 2026 (задание 27) + +--- + +## Формулировка задания 27 + +Напишите сочинение-рассуждение по проблеме, поставленной в исходном тексте. +Сформулируйте позицию автора (рассказчика) по указанной проблеме. +Прокомментируйте, как в тексте раскрывается эта позиция. Включите в комментарий два +примера-иллюстрации из текста, важные для понимания позиции автора, и поясните их. +Укажите и поясните смысловую связь между примерами-иллюстрациями. +Сформулируйте и обоснуйте своё отношение к позиции автора. Включите в обоснование +пример-аргумент (читательский, историко-культурный или жизненный опыт). + +Объём — не менее 150 слов. --- @@ -7,200 +21,151 @@ ### Подсчёт слов - Считаются все слова, включая служебные (предлоги, союзы, частицы) -- Если слов **меньше 70** → все критерии = 0 (кроме К10) -- Если слов **70–149** → рекомендуемый объём не выдержан, но работа проверяется -- Рекомендуемый объём: **150–300 слов** +- Инициалы с фамилией = одно слово («М.Ю. Лермонтов» — одно слово) +- Цифры при подсчёте не учитываются («5 лет» — одно слово, «пять лет» — два) +- «всё-таки» — одно слово, «всё же» — два слова +- Если слов менее 150 → работа не засчитывается, все критерии = 0 +- Если сочинение написано не по тексту → 0 баллов +- Если полный пересказ/переписывание исходного текста → 0 по К1–К10 ### Правило нулевого К1 -Если К1 = 0 (проблема не сформулирована или сформулирована неверно): -→ К2 = 0, К3 = 0, К4 = 0 **автоматически** +Если К1 = 0 → К2 = 0, К3 = 0 автоматически --- -## К1 — Формулировка проблем исходного текста (0–1 балл) +## I. Содержание сочинения -**1 балл**: Экзаменуемый (в той или иной форме) верно сформулировал одну из проблем исходного текста. Фактических ошибок, связанных с пониманием и формулировкой проблемы, нет. +### К1 — Отражение позиции автора (рассказчика) (0–1 балл) -**0 баллов**: Экзаменуемый не смог верно сформулировать ни одну из проблем исходного текста. +1 балл: Позиция автора по указанной проблеме сформулирована верно. +0 баллов: Позиция автора не сформулирована или сформулирована неверно. -**Подсказки для проверки:** -- Проблема должна быть сформулирована как вопрос или тезис -- Она должна соответствовать содержанию исходного текста -- Допустимы разные формулировки одной и той же проблемы +Важно (изменение 2026): проблема задана в формулировке задания. Ученик раскрывает +позицию АВТОРА по этой проблеме — не формулирует проблему самостоятельно. --- -## К2 — Комментарий к сформулированной проблеме исходного текста (0–6 баллов) +### К2 — Комментарий к позиции автора (0–3 балла) -Структура: **2 примера-иллюстрации** из текста + **смысловая связь** между ними. +Структура: 2 примера-иллюстрации с пояснениями + смысловая связь с пояснением. -| Баллы | Условия | -|-------|---------| -| 6 | Оба примера с пояснениями + связь с анализом | -| 5 | Оба примера с пояснениями + связь без анализа | -| 4 | Оба примера с пояснениями, связь не указана | -| 3 | Один пример с пояснением + связь | -| 2 | Оба примера без пояснений + связь | -| 1 | Один пример без пояснения | -| 0 | Примеры отсутствуют или текст пересказан | +| Баллов | Условия | +|--------|---------| +| 3 | 2 примера с пояснениями + смысловая связь с пояснением | +| 2 | 2 примера с пояснениями + связь без пояснения ИЛИ связь не указана/неверна | +| 1 | 1 пример с пояснением | +| 0 | Пример без пояснения ИЛИ нет примеров ИЛИ пересказ ИЛИ цитирование большого фрагмента ИЛИ комментарий без опоры на текст | -**Важно:** -- Пример-иллюстрация = конкретный фрагмент/факт из текста с объяснением его роли -- Смысловая связь: сравнение, противопоставление, причина-следствие, вывод и т.д. -- Пересказ без анализа = 0 баллов -- Фактические ошибки в комментарии снижают балл (−1 за каждую, но не более −2) +Правила: +- Пример без пояснения не засчитывается +- Фактическая ошибка в комментарии учитывается по К4 +- Не принимаются: комикс, аниме, манга, фанфик, графический роман, компьютерная игра --- -## К3 — Отражение позиции автора исходного текста (0–1 балл) +### К3 — Собственное отношение к позиции автора (0–2 балла) -**1 балл**: Позиция автора верно сформулирована. Фактических ошибок нет. +2 балла: Отношение сформулировано и обосновано + приведён пример-аргумент. +1 балл: Отношение обосновано, но аргумент не приведён. + ИЛИ Аргумент есть, но отношение формальное («Я согласен с автором»). +0 баллов: Только формальное согласие/несогласие без обоснования. + ИЛИ Отношение не сформулировано. + ИЛИ Не соответствует указанной проблеме. -**0 баллов**: Позиция автора не сформулирована или сформулирована неверно. - -**Подсказки:** -- Позиция = ответ автора на поставленную проблему -- Должна быть явно выражена, не просто угадана -- Можно цитировать или пересказывать +Источники аргумента: читательский, историко-культурный или жизненный опыт. +Не принимаются: комикс, аниме, манга, фанфик, графический роман, компьютерная игра. --- -## К4 — Отношение к позиции автора по проблеме исходного текста (0–1 балл) +## II. Речевое оформление -**1 балл**: Экзаменуемый выразил своё отношение к позиции автора и обосновал его. +### К4 — Фактическая точность речи (0–1 балл) -**0 баллов**: Экзаменуемый не выразил своё отношение или оно не обосновано. +1 балл: Фактические ошибки отсутствуют. +0 баллов: Допущена 1 фактическая ошибка или более. -**Подсказки:** -- Формальное согласие/несогласие без обоснования = 0 -- Обоснование: личный опыт, примеры из жизни/литературы, логические доводы -- Фраза "я согласен с автором" без аргумента = 0 +Фактические ошибки: неверные имена/даты/названия, искажение содержания упоминаемых +текстов и событий, ошибки в именах реальных людей. --- -## К5 — Смысловая цельность, речевая связность и последовательность изложения (0–2 балла) +### К5 — Логичность речи (0–2 балла) -**2 балла**: Работа характеризуется смысловой цельностью, речевой связностью и последовательностью изложения. Логических ошибок нет. Абзацное членение присутствует. +2 балла: Логические ошибки отсутствуют. +1 балл: 1–2 логические ошибки. +0 баллов: 3 и более логические ошибки. -**1 балл**: 1–2 логические ошибки ИЛИ нарушено абзацное членение. - -**0 баллов**: 3+ логические ошибки ИЛИ отсутствует абзацное членение. - -**Типичные логические ошибки:** -- Нарушение последовательности мысли -- Отсутствие связи между абзацами -- Повтор одной мысли разными словами -- Противоречия в тексте +Типичные: нарушение последовательности, противоречия, нарушение причинно-следственных +связей, отсутствие связи между абзацами. --- -## К6 — Точность и выразительность речи (0–2 балла) +### К6 — Соблюдение этических норм (0–1 балл) -**2 балла**: Работа характеризуется точностью выражения мысли, разнообразием грамматического строя речи. - -**1 балл**: Работа характеризуется точностью выражения мысли, но однообразием грамматического строя речи ИЛИ выразительностью, но использованием неточных слов. - -**0 баллов**: Точность и выразительность речи существенно снижены. - -**Примечание:** К6 не может быть выше К10. Если К10 = 0, то К6 = 0. +1 балл: Этические ошибки отсутствуют. +0 баллов: Пропаганда экстремизма/фашизма/нетрадиционных ценностей, нецензурная брань, + материалы запрещённые среди несовершеннолетних, иностранные слова при наличии + общеупотребительных русских аналогов не из нормативных словарей. --- -## К7 — Соблюдение орфографических норм (0–3 балла) +## III. Грамотность -| Баллы | Количество ошибок | -|-------|-------------------| -| 3 | 0 ошибок | -| 2 | 1 ошибка | -| 1 | 2–3 ошибки | -| 0 | 4+ ошибки | +> Нормы К7–К10 разработаны для сочинений от 150 слов. +> При объёме менее 150 слов — работа не засчитывается, все баллы = 0. -**Что считается ошибкой:** -- Неверное написание слова -- Слитное/раздельное/дефисное написание -- Прописные/строчные буквы +### К7 — Орфография (0–3 балла) -**Что НЕ считается ошибкой:** -- Описки (если исправлены) -- Перенос слова +| Баллов | Ошибок | +|--------|--------| +| 3 | 0 | +| 2 | 1–2 | +| 1 | 3–4 | +| 0 | 5+ | + +### К8 — Пунктуация (0–3 балла) + +| Баллов | Ошибок | +|--------|--------| +| 3 | 0 | +| 2 | 1–2 | +| 1 | 3–4 | +| 0 | 5+ | + +### К9 — Грамматика (0–3 балла) + +| Баллов | Ошибок | +|--------|--------| +| 3 | 0 | +| 2 | 1–2 | +| 1 | 3–4 | +| 0 | 5+ | + +Типичные: ошибки в управлении и согласовании, неправильное образование форм слова, +нарушение синтаксических норм. + +### К10 — Речевые нормы (0–3 балла) + +| Баллов | Ошибок | +|--------|--------| +| 3 | 0 | +| 2 | 1–2 | +| 1 | 3–4 | +| 0 | 5+ | + +Типичные: тавтология, плеоназм, неуместное/несвойственное употребление слова. --- -## К8 — Соблюдение пунктуационных норм (0–3 балла) +## Итоговая таблица (ЕГЭ 2026) -| Баллы | Количество ошибок | -|-------|-------------------| -| 3 | 0 ошибок | -| 2 | 1–2 ошибки | -| 1 | 3–4 ошибки | -| 0 | 5+ ошибок | +| К1 | К2 | К3 | К4 | К5 | К6 | К7 | К8 | К9 | К10 | Итого | +|----|----|----|----|----|----|----|----|----|-----|-------| +| 1 | 3 | 2 | 1 | 2 | 1 | 3 | 3 | 3 | 3 | 22 | -**Типичные ошибки:** -- Пропуск запятой при однородных членах -- Ошибки в сложных предложениях -- Неверное оформление прямой речи - ---- - -## К9 — Соблюдение языковых норм (грамматика) (0–2 балла) - -| Баллы | Количество ошибок | -|-------|-------------------| -| 2 | 0 ошибок | -| 1 | 1–2 ошибки | -| 0 | 3+ ошибки | - -**Типичные грамматические ошибки:** -- Ошибки в согласовании (управлении) -- Неправильное образование форм слова -- Нарушение синтаксических норм - ---- - -## К10 — Соблюдение речевых норм (0–2 балла) - -| Баллы | Количество ошибок | -|-------|-------------------| -| 2 | 0–1 ошибка | -| 1 | 2–3 ошибки | -| 0 | 4+ ошибки | - -**Типичные речевые ошибки:** -- Тавтология (повтор одного слова/однокоренных слов) -- Плеоназм (масло масляное) -- Неуместное употребление слова -- Употребление слова в несвойственном значении - ---- - -## К11 — Соблюдение этических норм (0–1 балл) - -**1 балл**: Этические ошибки отсутствуют. - -**0 баллов**: Допущена 1+ этическая ошибка. - -**Этические ошибки:** -- Грубость, оскорбления в адрес кого-либо -- Национальная/религиозная нетерпимость -- Речевая агрессия - ---- - -## К12 — Соблюдение фактологической точности (0–1 балл) - -**1 балл**: Фактические ошибки отсутствуют. - -**0 баллов**: Допущена 1+ фактическая ошибка. - -**Фактические ошибки:** -- Неверные имена, даты, названия произведений -- Искажение содержания упомянутых текстов -- Неверные факты о реальных событиях/людях - ---- - -## Таблица максимальных баллов - -| К1 | К2 | К3 | К4 | К5 | К6 | К7 | К8 | К9 | К10 | К11 | К12 | Итого | -|----|----|----|----|----|----|----|----|----|-----|-----|-----|-------| -| 1 | 6 | 1 | 1 | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 | **25** | +Изменения 2026 vs 2025: +- К2: максимум снижен с 6 до 3 баллов +- К3: максимум увеличен с 1 до 2 баллов +- К9, К10: максимум увеличен с 2 до 3 баллов каждый +- К11 (этика) и К12 (фактика) упразднены, включены в К5 и К6 +- Итоговый максимум: 22 балла (было 25) diff --git a/local-testers/english-listening-checker.html b/local-testers/english-listening-checker.html deleted file mode 100644 index d886a8c..0000000 --- a/local-testers/english-listening-checker.html +++ /dev/null @@ -1,563 +0,0 @@ - - - - - -ЕГЭ Английский — Аудирование - - - -
- -

ЕГЭ — Аудирование (Английский язык)

-

Загрузи аудиозапись ответов ученика → получи транскрипт → сверь с ключами → баллы

- - -
-
Настройки API
-
-
- - -
-
- - -
-
-
-
- - -
-
- - -
-
-
- - -
-
- - -
-
-
1
-
-
Загрузи аудиозапись ответов ученика
-
-
🎤
-
Нажми или перетащи аудиофайл
-
MP3, WAV, M4A, OGG, WEBM — до 25 МБ
- -
- -
-
-
- - -
-
-
2
-
-
Введи правильные ответы (ключи)
-

Заполни ключи для заданий, которые есть в варианте. Пустые задания игнорируются.

- -
- ЗаданиеКлюч (верный)— пусто — -
- -
Задание 1 — Соответствие (A–F → цифра 1–7)
-
- -
- -
Задания 2–9 — True(1) / False(2) / Not Stated(3)
-
- -
- -
Задания 10–18 — Выбор из 3 вариантов (1/2/3)
-
- -
-
-
-
- - -
- - -
- - - - - -
- -
-
Транскрипт ответов ученика
-
-
-
Распознанные ответы
-
-
-
- -
-
Детальная проверка
- -
-

Задание 1 — Установление соответствия

- - - -
ВысказываниеОтвет ученикаКлючРезультат
-
- -
- -
-

Задания 2–9 — True / False / Not Stated

- - - -
ЗаданиеОтвет ученикаКлючРезультат
-
- -
- -
-

Задания 10–18 — Выбор ответа

- - - -
ЗаданиеОтвет ученикаКлючРезультат
-
-
- -
-
-
Итоговый балл
-
-
из 23 первичных баллов
-
-
-
Ошибки
-
-
-
- -
- -
- - - - diff --git a/local-testers/russian-writing-checker.html b/local-testers/russian-writing-checker.html deleted file mode 100644 index 785e5f6..0000000 --- a/local-testers/russian-writing-checker.html +++ /dev/null @@ -1,300 +0,0 @@ - - - -
- -
-
Эндпоинт и модель
-
- -
-
- -
-
- -
-
- -
-
Режим
-
- - - -
- -
-
Загрузи фото бланка (можно несколько)
-
- Нажми или перетащи изображения сюда - -
-
-
- - - - -
- -
- -
- - - -
- -