Тимлид аналитиков Business Security в Авито Владислав Козлов опубликовал на Habr материал о том, как использовал большую языковую модель для быстрого прототипирования собственной идеи. По его словам, задача возникла при чтении кода аналитика из его команды: нужно было выделить кластеры пользователей с характерным поведением, чтобы затем сформировать список мошеннических схем. Набор данных был объёмным, с большим количеством разнотипных признаков, и ручной анализ занял бы много времени.

Козлов предложил подход, основанный на случайных разбиениях признаков, напоминающий Isolation Forest. В этом алгоритме аномалии находятся по тому, как быстро объект отделяется от остальных при случайных разбиениях. Автор адаптировал идею для кластеризации: вместо оценки аномальности он предложил разбивать наблюдения на подмножества, случайным образом разделяя фичи, и считать, как часто два объекта попадают в одно подмножество. Это позволяет строить матрицу расстояний, которую затем можно использовать в любом алгоритме кластеризации.

За советом Козлов обратился к LLM. Модель развила его идею, предложив вычислять идентификатор ячейки как сумму произведений номера бина на количество бинов для каждой фичи. Это гарантирует уникальность идентификаторов. Расстояние между объектами предлагалось считать как долю итераций, в которых объекты попали в разные ячейки (Hamming Distance). Чем чаще объекты оказываются в одной ячейке, тем меньше расстояние. После пяти минут обсуждений автор получил библиотеку, пригодную как MVP, и, по его утверждению, не написал ни строчки кода.

Библиотека была протестирована на датасете Titanic, который содержит признаки разных типов: числовые (возраст, количество родственников), категориальные (пол, класс билета) и текстовые (имя). Это позволило проверить устойчивость подхода к разнородным данным. Козлов отмечает, что пришлось исправить пару багов и пройти несколько итераций обсуждений с моделью, но в итоге алгоритм заработал.

Автор подчёркивает, что его опыт — не про «вайбкодинг» или глубокое понимание ИИ, а про дешёвое и быстрое прототипирование. Он призывает читателей не откладывать идеи в долгий ящик, а реализовывать их с помощью LLM и делиться результатами. В статье он также делится ссылкой на библиотеку, чтобы другие могли воспользоваться алгоритмом.

Подход Козлова может быть полезен специалистам по анализу данных, которые сталкиваются с задачей кластеризации на данных с выбросами и категориальными признаками. Традиционные методы, такие как K-means, чувствительны к выбросам и требуют предварительной обработки категориальных переменных. Предложенный метод потенциально упрощает этот процесс, хотя автор не приводит формального сравнения с существующими алгоритмами на реальных данных. Остаётся неясным, насколько хорошо метод масштабируется на большие наборы данных и какова его вычислительная сложность, но как пример быстрого прототипирования он показателен.