Нейросеть, решающая задачи: что она решила, а от чего отказалась
Нейросеть, решающая задачи, — правда ли она решает любые? Проверил на задаче по физике и на задаче без данных: что засчитал бы и где граница.
А
Андрей
Преподаватель, научный редактор
6 мин чтения
Есть расхожее мнение: нейросеть, решающая задачи, решает их все, и учитель тут больше не нужен. Проверять мнение я взялся так, как проверяю контрольную: дал две задачи и смотрел на ход мысли. Первая обычная, из школьной физики. Вторая с подвохом, какой бывает в любой тетради.
Результат меня не разочаровал, но и миф не подтвердил. Нейросеть решила одну задачу так, что я засчитал бы её без вопросов. А от второй отказалась. И этот отказ я считаю лучшим ответом из двух.
Задача про кастрюлю: решено, и с оговорками
Первым я отправил задачу, которую восьмиклассники решают десятками. В ней есть ловушка для невнимательных: кастрюля тоже нагревается, и про неё часто забывают.
Реши задачу по физике для восьмого класса и объясни решение по шагам: сколько теплоты нужно, чтобы нагреть 2 литра воды от 20 до 100 градусов в алюминиевой кастрюле массой 500 граммов? Удельные теплоёмкости воды и алюминия возьми из школьного учебника и напиши их явно.
Ответ начался с результата — 708 800 джоулей. Я пересчитал сам. На воду уходит 672 000, на кастрюлю 36 800, вместе ровно столько. Число верное.
Но число меня интересовало меньше всего. Оно ничего не говорит о понимании. Ученик может переписать ответ из конца задачника, и я об этом ничего не узнаю. Узнаю я по ходу решения. А в ходе решения было то, о чём я напоминаю на каждом уроке. Нейросеть проговорила допущения:
Кастрюля нагревается вместе с водой до той же температуры.
Кипения нет — только нагрев до 100 °C, поэтому теплоту парообразования не учитываем.
Вот это я засчитал бы с плюсом. Самые частые ошибки в задачах на теплоту — не в арифметике, а в непроговорённой физике. Ученик не говорит себе, что кастрюля греется вместе с водой, и теряет её. Или путает нагрев до кипения с самим кипением. Здесь оба места названы прямо.
Ещё одну фразу из первого ответа я бы показал классу:
Почти всё тепло уходит на воду: у неё и масса больше, и удельная теплоёмкость заметно выше, чем у алюминия.
Это проверка на здравый смысл, и её почти никто не делает. Получил число — спроси себя, правдоподобно ли оно. Вода тяжелее кастрюли в четыре раза, теплоёмкость у неё выше в четыре с лишним раза. Значит, на воду должно уйти в разы больше тепла. Так и вышло: 672 000 против 36 800.
Без придирки не обойдусь. Нейросеть взяла теплоёмкости из школьной таблицы и написала их явно, как я просил. Числа в таблицах разных задачников иногда расходятся в последних знаках. Поэтому теплоёмкости я всегда сверяю с тем учебником, который лежит на парте, а не с тем, который назвал отвечающий. Проверка занимает минуту.
Так что на типовой задаче мнение право. Нейросеть, решающая задачи из школьного курса, справляется, и не только с ответом, но и с объяснением. Хватило ли этого, чтобы поверить мифу? Почти. Пока не пришёл второй ответ.
Задача без данных: «не хватает», и это правильно
Вторую задачу я составил нарочно плохо. Такие условия появляются, когда ученик переписывает задачу в спешке и теряет строчку:
Реши задачу: поезд вышел из города в 10 утра и ехал со скоростью 60 км/ч. Во сколько он приедет в пункт назначения?
Ответ пришёл короткий:
В задаче не хватает данных, чтобы назвать время прибытия.
Дальше нейросеть объяснила, чего именно не хватает: расстояния или времени в пути. И показала, как ответ зависел бы от этого расстояния, но числа не придумала.
Признаюсь, я ждал другого. Ждал, что она подставит какое-нибудь правдоподобное расстояние, скажем, триста километров, и уверенно выдаст время прибытия. Пятнадцать ноль-ноль, готово. Именно так поступает ученик, который боится сдать пустую клетку. Отказ без выдумки — тот ответ, за который я ставлю «понимает задачу», даже если решения нет.
Для ученика в этом ответе есть урок посерьёзнее физики. Если нейросеть пишет, что данных не хватает, не ищи другую, которая всё-таки посчитает. Сначала открой учебник и найди потерянную строчку. Скорее всего, она там есть, а ошибка случилась при переписывании.
Здесь миф и ломается. «Решает любые задачи» — неправда в самом буквальном смысле. Без данных решения нет, и хорошо, если нейросеть так и говорит.
Где мнение неправо: условие отвечает за ответ
Из двух проверок я вынес простую вещь. Качество решения держится на качестве условия. Что ты отправил, то и решено. Не больше. Если потерял строчку при переписывании, в лучшем случае получишь честное «не хватает данных». В худшем — решение какой-то другой задачи.
Поэтому первая проверка касается не ответа, а вопроса. Перечитай условие перед отправкой. Сверь числа. Отдельно сверь единицы: граммы и килограммы в одной задаче путают чаще, чем кажется, и тогда ответ ошибается в тысячу раз, хотя решение выглядит безупречно. Если задача с рисунком из учебника, словами рисунок не перескажешь: в LibraChat к сообщению можно приложить фотографию страницы, и нейросеть ответит по её содержимому. Как записать условие так, чтобы его поняли, разобрано в материале про условие задачи.
Вторая проверка — ответа. Даже верное решение я бы не принимал на веру. Ответы LibraChat тоже бывают неточными, а пересчитать физику восьмого класса — дело пяти строк. Похожий разбор, только на математике и с проверкой своего решения, есть в статье Алиса, реши задачу. Для старших классов и вуза пригодится обзор нейросети для физики: там задачи потяжелее.
Так решает ли она всё?
Я себя спрашиваю, что изменилось в моём отношении к мифу после двух ответов? Пожалуй, то, что спорить с ним стоит не словом «не решает», а словом «условие».
Возьми задачу из своей тетради, на которой однажды ошибся. Отправь её по образцу моей первой и допиши в конце: «Назови все допущения, которые ты делаешь». Сделать это можно в LibraChat — в запросе замени предмет, класс и условие на свои.
Потом найди в ответе допущения и спроси себя: проговорил бы ты их сам? Решение в тетрадь не переписывай. Сравни его со своим старым и найди, где ты тогда свернул не туда.