Ваш ИИ-помощник ищет по коду как в блокноте. И это чинится за пару минут 🧠
Собрался я сделать нормальное руководство для пользователей своего сервиса. Чтобы человек заходил и находил ответ, а не писал в поддержку.
И упёрся сразу же. Чтобы описать, как что работает для пользователя, надо самому точно знать, как оно устроено внутри. А внутрянка за годы разрослась так, что в голове её не удержишь.
Первым делом сгенерил вики по коду - есть сервисы, которые это умеют,
DeepWiki например. Получил триста двадцать страниц с архитектурой и схемами. Хорошая штука.
Но мало. Потому что это
описательный текст. Он говорит «как оно задумано», а мне нужна была фактура: где конкретно лежит вот эта функция, кто её дёргает, что сломается, если тронуть. Причём с обеих сторон - и на бэке, и на фронте. Глазами по всему проекту не пройтись, там тысячи файлов.
Пошёл искать, чем закрыть эту дыру.
В чём была проблема. ИИ ищет по коду
текстом. Буквально Ctrl+F: находит все места, где слово просто встретилось - в комментариях, в подписях, в описании самой этой штуки. Понять по такому списку, где оно
реально работает, нельзя. И он регулярно пишет заново то, что уже есть, потому что не видит, что оно есть.
Что решило. LSP - движок, который в любой нормальной среде разработки делает «найти все использования». Он разбирает код по-настоящему и отвечает на правильный вопрос: не «где встретилось слово», а
где эта штука на самом деле используется.
Живой пример. Текстовый поиск на мой запрос выдал бы
сорок совпадений, и я бы отсеивал мусор вручную. LSP ответил:
три места, вот они - и во всех трёх рядом подключается ещё один кусок, значит они всегда работают в паре. Секунда вместо десяти минут.
Как подключить. Serena - опенсорс, ставится за пару минут, работает локально. Дальше агент сам ей пользуется вместо тупого поиска.
А теперь неожиданное. Прежде чем ставить, полез читать, что про это пишут. Все же носятся с векторными базами и RAG - я думал, ответ там. Мужик
провёл эксперимент на базе в два миллиона строк: умный семантический индекс проиграл обычному текстовому поиску
вшестеро по стоимости. А Anthropic принципиально не индексирует код и
советует вкладываться именно в LSP.
То есть выигрывает не модный вектор, а скучный протокол из двадцатых, который двадцать лет лежит в каждой IDE.
В итоге база по внутрянке собралась из двух половин: вики отвечает «как оно устроено», LSP - «где лежит и кто использует». Теперь можно садиться за руководство для людей.
И вот что меня добило. Агент месяцами долбил мой проект текстовым поиском - и ни разу не сказал, что есть способ лучше. Пришлось самому лезть и выяснять.
Если ковыряете большие проекты, в которых надо разбираться, - потратьте эти пару минут.
А у вас ИИ по коду как ищет - нормально или наугад? Расскажите в комментариях.
Всех обнял, увидимся на стриме всегда ваш - Nerual Dreming ❤️