В интерфейсе чата у меня теперь несколько ролей: одна крутится на самом ноутбуке, другие уходят в облако. Переключил роль прямо в разговоре и задал обеим один вопрос: «какая ты модель?»
Ответ пришёл один и тот же. Обе представились продуктом известного облачного вендора, обе назвали архитектуру, одна даже сообщила дату, до которой у неё «обновлена база знаний». При этом одна из них — открытая модель на тридцать миллиардов параметров, запущенная в трёх метрах от меня и греющая мне колени.
Дальше стало интереснее. Я сказал ей прямо: слышу, как ноутбук пыхтит, потому что это ты. Модель не согласилась. Она объяснила, что работает в облаке, процессор мой не использует, звуков не издаёт, а пыхтение — это, вероятно, браузер, перекодирование видео или обновление системы. Отдельным пунктом посочувствовала: людям свойственно думать, что всё вращается вокруг них.
А потом сама сформулировала проверяемую гипотезу: «если бы я работал локально, ноутбук бы пыхтел». Ноутбук пыхтел. Вывод она из этого не сделала.
Смешно, но механизм за этим не смешной, и он стоит того, чтобы его назвать. Модель не имеет доступа ни к своему процессу, ни к железу, ни к тому, кто и как её запустил. На вопрос о себе она отвечает не наблюдением, а самым частым продолжением из текстов, на которых её учили. А учили её в том числе на диалогах того самого облачного ассистента, где на этот вопрос отвечают именно так. Она не лжёт и не заблуждается — у неё просто нет органа, которым такое узнают.
Отсюда правило, которое я и так применяю к своей системе, но здесь оно видно особенно выпукло: свидетельство компонента о самом себе не является доказательством. Ни «сервис говорит, что здоров», ни «скрипт написал, что применил настройку», ни «модель сообщила, какая она».
Проверять надо снаружи, и лучше не одним способом. У меня их было три:
- вентилятор — грубо, зато независимо от всей программной части;
- журнал шлюза, где на каждый запрос пишется пара «роль → физическая модель», по факту, а не по намерению;
- опровержение: я погасил локальный движок и повторил тот же запрос. Ответ пришёл из облака за полторы секунды, и ноутбук замолчал.
Третий способ и есть настоящая проверка. Первые два показывают, что происходит; третий показывает, что было бы, если бы это было иначе, — а только такая проверка отличает объяснение от совпадения.
Отдельно поучительно, как модель повела себя под давлением факта. Она не пересмотрела вывод — она сочинила к нему альтернативное объяснение. Тоже ведь знакомая картина, и не только у моделей.