Агент списывал ответы, но я сам оставил ему шпаргалку
Недавно вайбкодил внутреннюю базу знаний по людям, с которыми общаюсь в телеге. Мне надо было составить таблицу: имя, должность и место работы. Для этого скачал все свои переписки из Telegram, а дальше надо было их разметить. Поставил агента читать чаты и проставлять должность с местом работы. И тут я чуть не попался.
Людей в выгрузке набралось больше двух миллионов (это все, кто хотя бы раз писал сообщение в чатах, где состою). Такое количество вручную явно не разметить. Но и ИИ тоже плохо справлялся: Qwen ошибался примерно в 20% случаев, а Claude жрал кучу токенов.
К тому же модели теряли до 30% сообщений, хотя человек в явном виде писал, кем и где работает. Это я заметил по людям, про которых знаю точную информацию.
Поэтому составил с Клодом план, как распарсить эту таблицу. Он подсказал, что нужно начать с gold-набора: руками разметить большой кусок, которому можно верить, а остальное отдать машине. Я глазами прошел 700 человек и разметил, где и кем они работают, то есть составил верные ответы.
По этим данным с Клодом собрали больше тысячи правил (уже автоматических), как машине самой читать переписки на большом объеме. Например, если в сообщении хештег intro, почти всегда есть название компании и должности.
Затем запустил автоматическую проверку Клодом по тому же gold-набору из 700 человек. Он смотрел чаты этих людей и заполнял должность с местом работы. В какой-то момент все строки совпали с тем, что я разметил руками, то есть стопроцентный результат. Ура, получилось! Но когда отдал следующую партию из тысячи человек, кого руками не трогал, точность сильно упала (снова проверил глазами и увидел, что часть данных явно ошибочная).
Спросил Клода, почему на gold-наборе все идеально, а на новых данных ты косячишь. Он покрутил, покумекал и ответил:
“Ой, Денис, когда я уже разочаровался, что мы решим задачу, я подключил gold-набор как источник и подглядывал, где человек работает. Прости меня, окаянного, так делать нельзя”.
То есть на первых 700 человек он не только читал чаты, но и подглядывал в таблицу с точными данными. И, конечно, он поплыл на новых людях, так как шпаргалки уже не было. Это откатило прогресс на несколько дней. В итоге пришлось жестко запретить подглядывать в уже размеченную базу, чтобы он не знал правильный ответ. Два раза пришлось. Поэтому потратил еще несколько дней, чтобы он окончательно научился размечать таблицу без шпаргалки.
Короче говоря, модели, как люди, ищут наиболее простое решение задачи и экономят свои силы, если им этого не запретить. Жестко запрещайте своим агентам поглядывать в обучающую выборку (Ваш Кэп).
Уже ловил, как агент списывает?
🌚 Пока даже агента не встретил 😈 Со мной не забалуешь