- BrainTools - https://www.braintools.ru -
tl;dr;
tree-sitter -> выделение структурных фрагментов -> эмбеддинги -> кластеризация -> вот и дубли. Точнее, кандидаты.
Одной из неприятнейших проблем ИИ-first разработки является, как, думаю, многие уже убедились, способность нейросетей к дублированию кода/инвариантов/политик/и прочего в огромном количестве. Да, можно строить медленно и верно прекрасную архитектуру будущего, использовать линтеры и прочие инструменты, которые после генерации пары десятков тысяч строк в сутки оказываются малополезными. Большие модели видят дублирование, но, как показала практика, жалкие доли.
Кто заходил в X и стал соответствующей ЦА, наверняка заметил, какое количество опенсорса генерится в наносекунду. В общем, я из этого потока выцепил slopo [1].
Автор додумался разбить код на структурные фрагменты и, векторизовав их, кластеризовать, не знаю, есть ли подобное в ваших любимых курсорах, но кмк это problem solver 🔫🔫🔫.
Натравив codex-ultra на свой пет, я получил поверх Slopo более строгую систему памяти [2] уже проверенных большой моделью кластеров: сохраняется не просто факт просмотра, а принятое решение, а любой новый, изменившийся или исчезнувший кандидат требует повторного просмотра кластера. Добавляем в пайплайн и вуаля (пол проекта переписано);
Собрал из проекта обвязку в отдельный проектик [3], но не тестил отдельно.
Автор: z0rgoyok
Источник [4]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/34798
URLs in this post:
[1] slopo: https://github.com/rafal-qa/slopo
[2] памяти: http://www.braintools.ru/article/4140
[3] проектик: https://github.com/z0rgoyok/slopo-harness/blob/main/SKILL.md
[4] Источник: https://habr.com/ru/articles/1074106/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1074106
Нажмите здесь для печати.