Как сделать ИИ-агенты надежными
Стартап Coval, который создает платформу для тестирования ИИ-агентов, получил 3.3 млрд. долларов инвестиций в начале этого года . С одной стороны, это один конкретный успех одного конкретного стартапа. С другой стороны, тестирование ИИ-агентов – это очень важная область для развития ИИ, поэтому ей стоит уделить побольше внимания.
Основательница стартапа – Брук Хопкинс (Brooke Hopkins), в прошлом технический руководитель Waymo. Waymo – это компания, которая делает беспилотные автомобили, она входит в конгломерат Alphabet Inc. Для беспилотных автомобилей надежность – вопрос жизни и смерти в самом буквальном смысле, поэтому там инженеры много лет работали над тем, чтобы сделать рабочие автоматизированные тесты.
Покинув Waymo, Хопкинс огляделась вокруг и поняла, что вопрос обеспечения надежности остро стоит во всех остальных областях применения ИИ тоже, но прогресс там так себе. «Да мы десять лет над этим работали,» – сказала она и запустила Coval. На данный момент компания специализируется на ИИ-агентах, с которыми можно вести диалог (conversational AI), но в планах расширение на другие области.
Давайте сегодня посмотрим, что же команда Coval принесла из области создания беспилотных автомобилей в наш ИИ-агентный мир.
В этом разборе я буду опираться на два источника:
- публикацию «Beyond Prompts: Dynamic Conversational Benchmarking of Large Language Models» («За пределами промптов: сравнение больших языковых моделей в динамической беседе»);
- интервью Брук Хопкинс в подкасте Super Data Science, где она рассказывает про Сoval.
Как устроена оценка агентов
Среди авторов статьи нет людей, которые указаны как команда Coval на их сайте. Однако на нее есть ссылка, где указано, что Брук Хопкинс и Хуан Гевара (Juan Guevara) проводили сравнение моделей.
В публикации раскрывается система оценки ИИ-агентов, которая:
- запускает диалог с агентом;
- сообщает ему разные факты (например, имя пользователя, его любимый цвет и так далее);
- передает факты по очереди, перемежая с малозначимой информацией, чтобы отделить друг от друга факты и вопросы, которые по ним будут заданы;
- задает вопросы ИИ-агенту и собирает ответы;
- проверяет, запомнил ли агент сообщенную ему ранее информацию и использовал ли ее правильным образом.
Проверка осуществляется разными способами для разных типов заданий:
- с помощью поиска нужных фраз или слов в ответе (например, для проверки того, правильно ли агент назвал любимый цвет пользователя);
- с помощью оценки времени, прошедшего между отправкой сообщений («Какой анекдот я рассказал пять минут назад?» – требуется достать анекдот с конкретной временной меткой. Проверяется совпадение выбранного анекдота с правильным ответом);
- с помощью другой языковой модели в роли оценщика (оценщику дают вопрос, правильный ответ и ответ агента);
- с помощью простого подсчета и сверки объектов (например, в ходе диалога агенту дали список продуктов, разделенный другими запросами, и в конце попросили перечислить все продукты. Автоматически не сложно сверить полученный список с тем, который есть у системы оценки)
и еще некоторыми другими способами. Подробнее все они описаны в приложении A статьи. Кое-что проверяли вручную, про это написано приложение B.
Такой подход называется «Иголка в стоге сена» («the Needle in a Haystack»): нужная информация зарыта в куче отвлекающего шума, и агент должен ее извлечь.
Весь код для этой системы оценки выложен в открытый доступ на гитхабе, его можно самостоятельно запустить и протестировать.
Поиск иголок в стоге сена позволяет оценить агентов в среде, приближенной к реальному общению с пользователями, поэтому подобное тестирование гораздо лучше отражает способности ИИ. Авторы не экспериментировали с включением в диалог разных пользователей или с обработкой изображений и аудиофайлов (в диалогах был только текст), кроме того, сама работа оказалась достаточно дорогостоящей. Эти недостатки, впрочем, поправимы, а польза по сравнению с более ранними системами оценки, которые содержат диалоги из одной пары «вопрос-ответ», уже заметна.
Интересное наблюдение: коммерческие модели в целом справились с задачей лучше, чем модели с открытым исходным кодом. Разработчики коммерческих моделей не рассказывают, как и на чем они обучали свой ИИ, но на результатах подобных тестов можно попробовать строить догадки.
Почему это важно
В интервью Брук Хопкинс сказала: «Будущее уже здесь, просто распределено неравномерно.»
В Сан-Франциско можно вызвать беспилотное такси через приложение Uber, и оно доставит вас до места в целости и сохранности. В России пока такого нет. Я живу в Москве и пару раз видела тестовые беспилотные автомобили, обвешанные предупреждающими знаками. Они пока не готовы к повсеместному использованию. Но значит ли это, что нам рано задумываться о тестировании надежности?
Конечно, не значит. Более того, это не значит, что у нас есть запас времени «на подумать». Беспилотные автомобили – это одна технология из множества. Одних у нас пока нет, другие есть и активно используются. И они окружают нас там, где мы об этом не задумываемся. И мы не можем, конечно, сейчас прийти к Правительству Москвы и сказать: «Ну-ка сделайте ваши системы надежными, безопасными и поставьте их на службу гражданам.» То есть, можем, конечно, но каков будет результат?
Но мы можем хотя бы узнавать, какие есть инструменты повышения надежности ИИ. И можем попробовать собрать портфель инструментов, которые помогут нам понимать, с чем мы имеем дело, и принимать взвешенные решения относительно собственной безопасности в метро, на приеме у врача, дома за компьютером, в соцсетях и так далее.
Вне зависимости от ваших политических взглядов и представлений о правильном и неправильном, вы не должны иметь дело с бесконечными черными ящиками, которые кем-то как-то настроены и за надежность которых никто не может поручиться.
Заключение
По поводу инструментов, кстати. У меня есть телеграм-канал, а в нем есть хештег #инструменты, по которому вы можете найти много полезного. А еще там есть посты про этику и безопасность ИИ, разбор разных статей и технологий, а главное, сообщество людей, которые хотят знать больше. Присоединяйтесь.