Платформа комплексной оценки навыков

Каждый ответ проверен. Каждый балл заслужен.

Оценка за знания, по единым правилам для каждого студента.

cSAP проводит в браузере экзамены по программированию, SQL и с открытыми ответами и проверяет их: код — по тестам, генерируемым для каждой отправки, а письменные ответы — ИИ-автопроверкой, которая обязана цитировать ответ для каждого балла. В аудитории списывать становится сложнее, а заметить это — легче, и ИИ-агенты могут управлять cSAP через MCP.

Отдельное приватное развертывание для каждого вуза

  • 1эталон для всех языков программирования
  • 3типа экзаменов: код, SQL и текст
  • 3языка интерфейса: EN, AZ, RU
  • 0установок: студентам нужен только браузер

Три типа экзаменов

Код, запросы и текстовые ответы. Одна платформа для проверки всего.

Каждый экзамен имеет один тип. Выберите тот, который проверяет нужный вам навык, и cSAP проверит ответы всех студентов одинаково.

Программирование

Студенты считывают входные данные и выводят результат на языке, который выбрали перед началом. Вы пишете одно эталонное решение и один генератор тестов, и они автоматически проверяют решения на всех доступных языках.

  • Python
  • C++
  • Java
  • C#
  • JavaScript
  • Go
  • Rust
  • Тесты генерируются заново для каждой отправки
  • Ограничение по времени для каждого теста
  • При неверном ответе показываются входные данные и первая строка, где есть отличие

SQL

Многоэтапные задания, где учитывается каждый запрос. Эталонный скрипт и решение студента выполняются в отдельных базах данных SQLite в памяти, инициализированных одним и тем же скриптом.

  • Результаты запросов сравниваются построчно
  • Другие выражения оцениваются по состоянию базы данных после их выполнения
  • Порядок строк имеет значение, только если это указано в задании

Открытые ответы

Короткие письменные ответы, которые оценивает ИИ по вашей рубрике. Балл засчитывается только если автопроверка подтвердит его реальной цитатой из ответа. Преподаватели могут изменить оценку по любому пункту.

  • Баллы по рубрике суммируются платформой
  • Ограничения на количество слов, символов и язык ответа
  • Одна отправка на вопрос (ответ можно заменить, пока он в очереди)

Как это работает

От таблицы к готовым оценкам

  1. 01

    Составьте экзамен в таблице

    Каждая строка — это задача: ее описание, эталонное решение, генератор тестов и лимит времени. Для текстовых вопросов вместо этого указывается эталонный ответ и рубрика. Начните с шаблонов и прикрепите изображения как ресурсы.

  2. 02

    Студенты сдают экзамен в браузере

    Они входят по названию экзамена и личному коду. Не нужны аккаунты или установка программ. Каждый студент получает свой набор задач, выбирает язык из доступных и работает в полноценном редакторе кода с начальным шаблоном.

  3. 03

    Проверка идет в фоновом режиме

    Каждая отправка попадает в очередь на изолированную проверку. Страница обновляется сама, поэтому студенты могут переходить к следующей задаче. Для письменных ответов также показывается их место в очереди.

  4. 04

    Анализ и экспорт результатов

    Результаты собираются в общую таблицу с данными о явке, среднем балле и количестве переключений окон каждым студентом. Вы можете открыть историю отправок студента, поделиться ссылкой для чтения или распечатать таблицу.

Честность

Создано для экзаменов, которые имеют значение

Ни одна платформа не гарантирует, что списывать невозможно. cSAP делает так, что сжульничать сложно, а заметить это — легко, как при проверке, так и в аудитории.

Как проверяется код

  1. 1

    Генерация тестов при каждом запуске

    Генератор запускается заново для каждой отправки. Если он выдает случайные данные (как в наших шаблонах), заученные ответы студентам не помогут.

  2. 2

    Эталон выполняется первым, а затем удаляется

    Эталонное решение запускается первым. Его вывод остается в памяти системы, а файлы удаляются до того, как код студента будет записан на диск.

  3. 3

    Код студента выполняется изолированно

    Один раз для каждого теста, с правами непривилегированного пользователя и ограничением по времени.

  4. 4

    Вердикт выносит платформа

    Пройден тест или нет — решает система, сравнивая вывод. Студент не может обмануть ее, напечатав сообщение об успехе.

Для письменных ответов

Каждый начисленный балл требует цитаты, которая действительно есть в ответе. Сумма баллов подсчитывается платформой, а не моделью, а результаты подписываются, поэтому поддельная оценка отбрасывается.

Контроль в аудитории

  • Отслеживание фокуса

    Переключение с окна экзамена фиксируется. При достижении лимита студент блокируется.

  • Блокировка копирования, вставки и отмены

    Две настройки для экзамена: одна блокирует копирование, вырезание и вставку, другая — отмену и возврат действий.

  • Одно устройство

    Студент может сдавать экзамен только с того устройства, на котором начал. Преподаватель может сбросить привязку.

  • Режим киоска

    Готовая команда запускает cSAP в полноэкранном режиме киоска Chrome в Windows.

  • Персональный набор задач

    Каждый студент получает индивидуальный набор задач из вашего пула по заданным баллам.

  • Временное окно

    Задайте время начала и окончания. Студенты будут видеть обратный отсчет.

  • Скрытые названия

    Отображение задач только по номерам.

  • Ограничение сбросов

    Решите, сколько раз студент может получить новый набор задач.

Оценка ИИ

Письменные ответы с доказательной оценкой

Открытые вопросы оценивает языковая модель по составленной вами рубрике. cSAP проверяет каждую цитату и суммирует баллы, а преподаватель может изменить любую оценку.

  • Ваша рубрика, пункт за пунктом

    Каждый пункт в отдельной строке: балл и критерий для его получения. Из этих баллов складывается оценка за вопрос.

  • Нет цитаты — нет балла

    Автопроверка должна подкреплять каждый балл цитатой из ответа. Если цитаты в ответе нет, она отбрасывается вместе с баллом.

  • Арифметика в коде

    Модель оценивает каждый пункт в отдельности, а cSAP суммирует баллы. Итоговая оценка никогда не берется напрямую из модели.

  • Последнее слово за преподавателем

    Измените балл по любому пункту, перепроверьте один ответ или весь вопрос после редактирования рубрики. Система сохраняет информацию о том, кто и когда внес изменения.

  • Защита от уловок

    Внедрение промптов, перенасыщение ответа ключевыми словами и подмена фактов входят в набор тестов, на котором проверяется каждая поддерживаемая модель.

  • Эталоны остаются скрытыми

    Эталонный ответ и рубрика никогда не показываются студентам, а детализированная оценка по пунктам доступна только преподавателям.

Сейчас для автопроверки используется модель с открытыми весами через облачного провайдера с отключенным сбором данных. В платформу встроена возможность запуска на собственном сервере с помощью Ollama — для моделей, которые проходят наш набор тестов.

Ответ, оцененный по рубрике из трех пунктов. Наведите на строку рубрики, чтобы увидеть подтверждающую цитату.

Q2Почему глубокая рекурсия может вызвать переполнение стека?

Ответ студента

Каждый рекурсивный вызов добавляет новый фрейм в стек вызовов, и фреймы удаляются только при возврате из вызовов. Если рекурсия слишком глубокая, или нет базового случая, поэтому она никогда не останавливается, в стеке заканчивается место.

Рубрика

  1. Каждый вызов добавляет фрейм в стек

    «добавляет новый фрейм в стек вызовов»

    2
  2. Отсутствующий или недостижимый базовый случай

    «нет базового случая, поэтому она никогда не останавливается»

    1
  3. Называет решение: итерация или меньшая глубина

    В ответе нет подтверждения

    1
Баллы 3 / 4

Мультиязычность

На языке, на котором думают ваши студенты

Студенты могут переключать интерфейс и текст задач между английским, азербайджанским и русским языками. Перевод опционален: если поле не переведено, показывается оригинал, поэтому даже частично переведенный экзамен будет работать.

  • Код и тесты пишутся один раз. Переводится только текст, поэтому логика проверки остается неизменной.
  • Для текстовых экзаменов можно требовать ответ на определенном языке.

Одна задача на трех языках

English

Pair with the given sum

Read n numbers and a target. Print the positions of two numbers that add up to the target.

Input
5
3 9 1 7 4
8
Output
2 3

Azərbaycanca

Cəmi verilən ədədə bərabər olan cüt

n ədəd və bir hədəf oxuyun. Cəmi hədəfə bərabər olan iki ədədin mövqelərini çap edin.

Giriş
5
3 9 1 7 4
8
Çıxış
2 3

Русский

Пара с заданной суммой

Считайте n чисел и целевое значение. Выведите позиции двух чисел, сумма которых равна целевому значению.

Ввод
5
3 9 1 7 4
8
Вывод
2 3

Интеграции и ИИ-агенты

Интеграция с вашими системами и ИИ-агентами

Итоговые баллы отправляются обратно в систему учета успеваемости, а ИИ-агенты могут управлять cSAP за вас через MCP. Оба способа используют один и тот же API с теми же проверками ролей, что и в панели администратора.

Синхронизация баллов с вашей учебной системой

Импортируйте студентов и предметы каждый семестр. Ваша система будет получать итоговый балл каждого студента через API интеграции и отмечать экзамен как синхронизированный — больше никакого ручного ввода.

  • Импорт студентов и предметов из таблицы на каждый семестр
  • Итоговый балл каждого студента с указанием максимума и даты
  • Фильтрация экзаменов на синхронизированные и ожидающие

Пока реализована интеграция с одной учебной системой, поэтому подключение вашей может потребовать адаптации.

Ваши ИИ-агенты через MCP

cSAP также выступает как сервер Model Context Protocol (MCP). Подключите любого агента или ИИ-платформу, работающую с серверами MCP по HTTP через токен, и давайте команды простым языком: он может создавать экзамены из таблиц, читать результаты и управлять пользователями и файлами интеграции.

  • Каждый инструмент — это эндпоинт API с такой же валидацией и проверкой ролей
  • Выделите каждому агенту отдельный аккаунт только с необходимыми ролями
  • Выбирайте, какие части API будут доступны как инструменты
  • REST API

    Управление экзаменами, пользователями и результатами по HTTP с документацией OpenAPI.

  • Один токен для всего

    REST API и MCP-сервер принимают один и тот же токен в заголовке Authorization или x-api-key.

  • Файлы внутри вызовов

    Агенты загружают таблицы экзаменов и изображения прямо внутри вызова инструмента, так же как это делает панель администратора.

Для преподавателей и администраторов

Все, что вокруг экзамена

  • Таблица результатов

    Итоги, явка, средний балл и количество пройденных и не пройденных тестов у каждого студента. Поделитесь ссылкой для чтения или распечатайте.

  • История отправок

    Все попытки студента с кодом или текстом ответа и вердиктом системы.

  • Экзамены в виде таблиц

    Скачайте шаблон, добавьте по строке на каждую задачу и загрузите его вместе с изображениями.

  • Роли

    Раздельные права для администраторов пользователей, интеграций и аналитиков.

  • Журнал отправок

    Каждая успешная отправка записывается в журнал, который аналитики могут просматривать или скачивать одним архивом.

  • Ваш собственный сервер

    Каждое учебное заведение запускает свою копию платформы со своими данными и проверками. Просто Docker Compose, ничего экзотического.

Частые вопросы

Ответы на вопросы

Какие экзамены я могу проводить?

Три вида. По программированию, где студенты отвечают на любом из предложенных вами языков. Многоэтапные по SQL с проверкой в базе данных. С открытыми вопросами и короткими ответами, которые оцениваются по вашей рубрике. Один экзамен — один вид.

Какие языки программирования поддерживаются?

Python, C++, Java, C#, JavaScript, Go и Rust. Вы сами выбираете, какие из них доступны на экзамене. Каждый студент выбирает один язык перед началом и может сменить его только сбросив свой список задач, количество таких сбросов ограничиваете вы.

Как проверяются решения по программированию?

Вы предоставляете эталонное решение и генератор тестов. Для каждой отправки cSAP запускает генератор, выполняет эталон для получения ожидаемого вывода, затем запускает программу студента на тех же входных данных и сравнивает результаты. На каждый тест есть лимит времени, а генератор, выдающий случайные данные, обеспечивает каждую отправку новыми тестами.

Могут ли студенты «захардкодить» ожидаемый ответ?

На экзаменах по программированию от этого мало пользы. Если генератор выдает случайные данные, каждое решение проверяется на новых тестах. Файлы эталонного решения удаляются до запуска кода студента, а сам код выполняется от имени непривилегированного пользователя. В браузере отслеживание фокуса, отключение копирования и отмены, а также привязка к одному устройству еще сильнее усложняют задачу.

Можно ли доверять автопроверке ИИ?

Вы полностью контролируете процесс. Автопроверка выносит вердикт по каждому пункту рубрики и обязана цитировать ответ для каждого начисленного балла. Цитаты, которых нет в ответе, отклоняются, а баллы суммирует cSAP, а не модель. Преподаватели видят обоснование для каждого балла и могут изменить оценку или отправить ответ на перепроверку.

Нужен ли студентам аккаунт?

Нет. Они входят по названию экзамена и выданному вами личному коду. Все, что им нужно, — это браузер.

Работает ли cSAP с нашей учебной системой?

Может. cSAP импортирует студентов и предметы каждый семестр, а ваша система забирает итоговые баллы через интеграционный API. Этот API был спроектирован под одну конкретную систему, поэтому подключение вашей может потребовать адаптации. REST API и MCP-сервер покрывают любые другие задачи по автоматизации.

Могут ли ИИ-агенты работать с cSAP?

Да. API администратора cSAP работает как MCP-сервер по HTTP. Создайте агенту отдельный аккаунт с доступом к MCP и только нужными ролями, и он сможет создавать экзамены, загружать таблицы, читать результаты и управлять пользователями. Каждый вызов инструмента проходит те же проверки, что и вызов REST API.

Где работает cSAP и кто видит наши данные?

Каждый вуз получает свою копию платформы с собственной базой данных. Решения по программированию и SQL проверяются внутри нее. Письменные ответы отправляются модели с открытыми весами через облачного провайдера, причем сбор данных отключен. Для моделей, прошедших наш набор тестов, встроена возможность запуска на собственном сервере через Ollama.

Как создать экзамен?

Заполните шаблон в Excel: одна строка на задачу или вопрос, и лист Students, где указывается, сколько задач каждого веса получает студент. Загрузите файл вместе с изображениями, настройте временное окно и параметры контроля.

Принесите нам один из ваших экзаменов

Пришлите нам задачу или вопрос, которые вы даете в этом семестре. Мы настроим их в cSAP и покажем, как работает проверка со всеми тестами и рубриками.

или напишите на [email protected]