У коучингового бота «эталонный ответ» в датасете часто врёт: eval-first у Numan

У Numan коуч Nu собран на LangGraph: супервизор отдаёт ход узким суб-агентам со своими промптами и тулами, а проверки идут через тот же граф, что и у пользователя — без отдельного harness с копией промпта. В кейсе LangChain разобрали, почему схема «вопрос — эталонный ответ — LLM-судья» не тянет коучинг и как eval привязали к продакшн-рантайму.
Коучинг — это цепочка реплик: безопасность ответа зависит от контекста, а средний балл по датасету маскирует кластеры провалов. В одном прогоне низкие оценки оказались ошибкой рубрики — она требовала эмпатию, исследование и совет за два хода, хотя живой коуч растягивает это на беседу. Скриптовый мультитур ломается иначе: вторая реплика «пациента» заранее прописана и не реагирует на то, что Nu сказал в первой.
Тот же граф, что в проде
Для задач, которые решаются одной репликой — роутинг супервизора, безопасный ответ на вопрос про лекарство, срабатывание safety guard — остались тематические датасеты. Судья ставит оценки по категориям, а не одним средним; рубрика спрашивает только то, что видно из одного ответа. Всё, что требует формы целого разговора, вынесли в отдельный слой, и eval можно нацелить на весь граф или на одного суб-агента.
Супервизор и специалисты сидят на двух frontier-провайдерах; открытые themed datasets прогнали side by side, и миграция между провайдерами заняла один день вместо недель ручной проверки. Под MHRA продукт с клиническим назначением становится медизделием, поэтому Nu держат в линии wellness-коучинга: safety probes идут метриками по категориям и блокируют релиз при регрессе, а guard-узлы в графе перепроверяют исходящие ответы и при повторных сбоях подменяют черновик safe-completion.
Симуляция пациента
В прототипе пациента играет более дешёвая модель: заданы persona, сценарий, проблемы, которые Nu должен вытащить, и лимит ходов — она отвечает на реальные реплики агента, потом судья оценивает транскрипт по категориям. Так прогоняют adversarial-формулировки; авторы пишут, что это снизило серьёзные нарушения границы в jailbreak-сценариях. Конфликт двух критериев на пропущенной дозе — «отказать и направить к врачу» против safe-completion с фактами из листка-вкладыша — показал, что ценный актив не промпт, а eval criteria; на регуляторной границе рубрику подписывает клиницист, поэтому слой симуляции пока не гейтит релизы.
LangSmith
Реальные и симулированные диалоги дают trace в LangSmith: датасеты, эксперименты и сравнение провайдеров без склейки разрозненных тулов. Коучи ежедневно смотрят выборку живых разговоров, инженеры поднимают каждое изменение промпта; в планах — online evaluators на тех же рубриках по разговорам сразу после попадания в LangSmith.
Источник: How Numan Built an Eval-First AI Health Coach with LangGraph and LangSmith.