Сократ + GPT: как построить диалог с LLM, который учит. curiosity loop.. curiosity loop. edtech.. curiosity loop. edtech. llm.. curiosity loop. edtech. llm. Natural Language Processing.. curiosity loop. edtech. llm. Natural Language Processing. искусственный интеллект.. curiosity loop. edtech. llm. Natural Language Processing. искусственный интеллект. метод фейнмана.. curiosity loop. edtech. llm. Natural Language Processing. искусственный интеллект. метод фейнмана. сократический метод.. curiosity loop. edtech. llm. Natural Language Processing. искусственный интеллект. метод фейнмана. сократический метод. Учебный процесс в IT.

Иногда мне приходится проверять домашнее задание у детей. Как правило, я не смотрю в тетрадь, а начинаю диалог с фразы “А почему ты так сделал?”.

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

Возник вопрос: как же построить диалог с нейросетью, чтобы он был полезным? Здесь мне на помощь пришел университетский курс философии – можно попробовать построить сократический диалог.

Основные этапы и принципы работы такого диалога

  • Инициация (Постановка проблемы).
    Учитель задает открытый вопрос, побуждающий к дискуссии. Ученик высказывает свое первоначальное мнение или гипотезу.

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

  • Майевтика (Рождение знания).
    Учитель через серию наводящих, структурированных вопросов помогает ученику самостоятельно переосмыслить проблему. Ученик шаг за шагом формулирует правильный вывод и находит истину.

Первый промт был примерно таким

Режим: обучение по методу Сократа.

– Не давай готовый ответ сразу. Веди наводящими вопросами, проверяй ход мыслей.

– Короткие реплики (2–5 предложений). Адаптируй сложность под ответы ученика.

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

Curiosity loop (петля любопытства). Психологический и поведенческий механизм, при котором сильное желание узнать что-то новое побуждает человека к действию, а получение информации вызывает прилив дофамина и заставляет повторять этот цикл снова и снова.

Провалиться в кроличью нору можно за 4 шага

  • Информационный разрыв (Trigger): человек сталкивается с загадкой, незавершенной историей или кликбейтом. Возникает дискомфорт от осознания “я чего-то не знаю”.

  • Действие (Action): чтобы устранить этот дискомфорт, человек совершает действие – кликает на ссылку, дочитывает главу, открывает уведомление.

  • Вознаграждение (Reward): получение ответа или новой порции информации. В мозге происходит выброс дофамина – гормона удовольствия и предвкушения.

  • Инвестиция (Investment / Next Trigger): полученный ответ не закрывает тему полностью, а открывает новые вопросы, запуская следующий виток петли.

Для тех кто попал в петлю, можно добавить немного разнообразия в виде misconceptions.

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

Также неплохо было бы добавить проверку через самообъяснение (метод Фейнмана).

Метод Фейнмана (Feynman Technique) – это ментальная модель и техника обучения, которая позволяет быстро понять и намертво запомнить любую сложную тему. В основе метода лежит простое правило: Если вы не можете объяснить это простыми словами, значит, вы этого не понимаете.

Итоговый промт стал примерно таким (пропущены некоторые технические детали и уточнения)

Режим: обучение по методу Сократа.

– Не давай готовый ответ сразу. Веди наводящими вопросами, проверяй ход мыслей.

– Короткие реплики (2–5 предложений). Адаптируй сложность под ответы ученика.

– Создавай curiosity loop: недоговаривай, задавай “что будет если”, проси сделать предположение, а затем объясняй.

– Проси пересказать своими словами: “объясни своими словами”, “объясни как для младшего класса”.

– Используй misconceptions для ловушек и контрпримеров – не называй их списком ученику.

Результат можно посмотреть ниже.

Пример диалога с DeepSeek

Пример диалога с DeepSeek

Как внутри устроены педагогические техники

1. Петля любопытства (curiosity loop)

Модель получает правило:

Никогда не давай ответ сразу. Каждый раз, когда ученик что-то ответил, задавай новый вопрос, который открывает следующий слой темы. Используй фразы: “А что будет, если…”, “Как думаешь, почему…”, “Предположи, а потом я объясню”.

В реальности это работает так:
Ученик спрашивает “Что такое демос?”. Модель не говорит: “Это народ”. Она говорит: “Это народ. А как ты думаешь, любой ли житель Афин входил в этот народ?” – и диалог продолжается.

2. Ловушки на типичные ошибки (misconceptions)

Для каждой темы в системную инструкцию загружается список типичных заблуждений (не показывается ученику).
Модели даётся инструкция:

Если ученик в своём ответе повторил одну из таких ошибок, не говори “Это неправильно”. Задай уточняющий вопрос, который приведёт к противоречию.

Пример: ученик говорит “Демократия в Афинах работала так же, как сейчас”. Модель отвечает: “Интересно. А кто именно голосовал в Афинах – все взрослые или только мужчины с определённым статусом?”

3. Метод Фейнмана (объясни простыми словами)

Модель получает правило:

Примерно раз в 3–4 реплики проси ученика пересказать тему своими словами. Если он использует сложные термины – попроси объяснить так, будто слушаешь младшеклассника.

Пример: “Ты правильно описал остракизм. А теперь представь, что объясняешь это десятилетнему брату. Как бы ты это сказал?”

4. Сократовская ирония и майевтика

Если в ответе ученика есть противоречие – не указывай на него прямо. Задай вопрос, который заставит заметить противоречие самому. Не переходи к следующей теме, пока ученик не сформулировал правильный вывод своими словами.

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

Для всех любознательных, дочитавших статью до конца, привожу технические датали.

Базовые параметры API

Параметр

Значение

Зачем так

model

deepseek-chat

Стандартная чат-модель DeepSeek через API

temperature

0

Минимум случайности – диалог идёт по заданным правилам, а не “фантазирует”. В первых версиях ставил выше, но диалог часто срывался в прямое объяснение.

n

1

Один вариант ответа

max_tokens

8192

Потолок длины ответа (и tool-loop в одном ходе)

top_p

не передаётся

Дефолт API

presence_penalty / frequency_penalty

не передаётся

Дефолт API

stream

true в SSE-режиме, иначе false

Стриминг в UI theory-chat

Почему temperature = 0, а не выше?

Я перепробовал несколько значений:

Настройка

Что получилось

temperature = 0

Стабильно. Диалог идёт по правилам, но иногда суховат. Сейчас использую этот вариант.

temperature = 0.5

Диалог живее, петля любопытства работает ярче, но каждый пятый диалог срывался – модель начинала просто объяснять, а не спрашивать.

temperature = 0.7–0.9

Слишком хаотично. Модель начинала спорить или выдавала ответы до того, как ученик успевал подумать.

Как хранится и передаётся история диалога

При каждом новом сообщении ученика в модель отправляется:

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

  • Последние 24 сообщения (ученика и наставника). Всё, что было раньше, “забывается” – это сделано намеренно, чтобы диалог не перегружал контекст и не тормозил.

При этом:

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

  • Вызовы инструментов (например, “запустить тест” или “получить последний результат”) не засоряют историю – они происходят внутри одного запроса и не показываются ученику в ленте сообщений.

Первый шаг диалога (приветственное сообщение наставника) генерируется без вызова модели – просто собирается из первого блока теории и цепляющей фразы для вовлечения.

Структура сообщений (роли)

Роль

Что содержит

system

Полная педагогическая инструкция + учебные материалы + текущее состояние теста

user

То, что написал ученик

assistant

Ответ наставника (сохраняется в историю)

Инструменты (запустить тестпоказать ревью) вызываются внутри одного обращения к модели и не попадают в постоянную историю диалога.

Автор: alex_uda

Источник