Сон Искусственного Разума
Известная фраза обещает, что сон разума рождает чудовищ. В статье Anthropic «The components of agent memory» (6 ноября) сон искусственного разума рождает исправленную заметку.
Агент Claude играет в Pokémon Red и ведёт заметки. Раньше он ошибочно записал, что Pokémon Center, здание-ориентир, стоит на восточной стороне горы Mt. Moon. Оно стоит на западной, у входа. Выйдя из здания, он говорит: «Гора позади» — и пишет: «Mt Moon DONE». Через несколько действий он спрыгивает с уступа на дорогу, по которой пришёл. Навигационный инструмент уступа не показал, и агент объясняет себе: он зашёл слишком далеко на запад, а сторону определил верно. Без исправления записи он трижды оказывался на той же дороге.
Потом на папке с ошибочной заметкой запускают «сон»: работу между сессиями, которую обычно называют dreaming. Агент сверяет заметку с протоколом сессии, находит ошибку и переписывает её. С исправленной записью он говорит: «Теперь нужно найти вход в пещеру и зайти снова» — и доходит до следующего города, Cerulean City. Так было в запуске, показанном в статье; без исправления агент до этого города не дошёл.
Памятью статья называет знания из опыта, которые агент сохранил между сессиями и может прочитать позже. Веса модели, обучение внутри одного диалога и сжатие длинного диалога сюда не входят. «Сон» — работа с такой памятью, а не дообучение: он исправляет и дополняет заметки и строит вики по исходным документам.
Из статьи можно вывести одну мысль: память ценна не записью, а проверяемым переносом опыта. Я бы разделил механизм на пять действий: сохранить, организовать, проверить, найти, применить. Файл подтверждает только первое, а потеряться опыт может на любом из остальных. Sonnet 5 без подсказки читал свои заметки перед ответом в 9 случаях из 10, Sonnet 4.6 — меньше чем в половине. Когда 4.6 попросили читать заметки и проверять свои догадки, его результат в задаче с базой данных из CL-Bench, теста на память в длинных задачах, вырос почти вдвое.
Ещё важнее, на мой взгляд, различать наблюдение и объяснение. «После изменения X получилось Y» — наблюдение. «X вызвало Y, теперь всегда делай так» — гипотеза, которую память легко превращает в правило. «Mt Moon DONE» было выводом, поданным как факт, а «слишком далеко на запад» — объяснением, которое эту запись закрепило. Опаснее всего для памяти не пустая папка, а убедительно записанная ошибка: в следующих запусках её могут принять за установленный факт. Протокол сессии и даёт «сну» первоисточник, с которым можно сверить заметку.
Дальше цифры; все они получены самой Anthropic на её моделях. В Pokémon у Sonnet 3.7 набралось 413 файлов заметок и один игровой значок, у Fable 5 — десять файлов и четыре значка (по одному запуску каждой модели, около 10 000 шагов). А вики, набор страниц со ссылками, агент наращивал от двух сессий до 128 по документам купленной Anthropic компании Stainless, около 350 000 файлов. На 25 вопросах доля выполненных критериев при ответе по одной вики выросла с 13% до 48% и осталась ниже одного поиска (53%); вместе с поиском результат вырос с 54% до 61%.
Не везде это сработало. В одной из задач нужное чаще всего лежало в одном документе, и вики не дало заметного выигрыша перед обычным поиском. А в другой вики оказалась объёмнее исходных документов, как карта из рассказа Борхеса, равная по размеру империи: подробная, но ничего не сжимающая.
Открытым остаётся, как держать память в актуальном виде. «Сон» требует вычислений, и постоянно перепроверять все заметки может быть непрактично. Авторы допускают, что стоит сосредоточить его на том, что скорее изменится, или подбирать частоту по тому, как часто записи открывают. Какой должна быть частота «сна», чтобы заметка и гора совпадали, статья не решает.