Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!

Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

четверг, 22 января 2026 г.

RAGtor

Вайбкодирую новый проектик. Вот ссылка на репозиторий

Слушай, вот что хочу сделать. 
Мне надо раг систему, которая будет сканировать определенное количество материалов на сторонних системах (джира, конфлюенс например). 
Причем когда будет делать чанки и сохранять их в векторную базу данных. 
Так же будет хранить ссылку на первоисточник и положение в тексте откуда чанк вырезан. 
Когда данные обновятся на порталах, я смогу запустить процесс обновления документов. 
И если по линку окажется что контент изменился (можно будет как-то определять это для каждого чанка), то старый чанк с этим линком удалится а новый создастся. 
Если ссылку удалили, то удалить и чанки. 
Я хотел бы веб интерфейс чтобы было видно какие ссылка обработаны. 
А так же чтобы в этот список добавилось все ссылки на дочерние странички с которых ссылаемся. 
Чтобы обрабатывались все атачменты. 
Все картинки. 
Чтобы они помечались как кандидаты на скачивание. 
То есть должна быть круд страничка, куда я буду добавлять линки. 
И в процессе их обработки эти линки чтобы были видны в нем и их статус. 
Ну и другой скрин - это чат, в котором можно задать любой вопрос против этой RAG системы. 
Я хочу решение на ноде, потому что мне важен langchain. 
Фронт я хочу на реакте. 
Бекенд соответственно на ноде. 
Задай мне вопросы перед тем как мы пойдем дальше. 
Когда вопросов не будет - создай markdown файл с требованиями и архитектурой.
Разные архитектурные моменты перенес из других уже реализованных проектов с таким промптом (находясь в другом проекте)
Посмотри как тут на проекте устроено все вокруг базы и этой орм системы, мне надо markdown файл с дизайном, чтобы я мог унести єто решение на другой проект 

И дальше перенос markdown и других рабочих кусочков в новый проект с последующими сообщениями:

Вот пример того, как я использую на другом проекте респонсив дизайн. Пождалуйста учти это в UI
Вот пример того как я подключаюсь к azure openai используй это в ядре. Обнови так же файл
Теперь вот ифна про ORM. Ее тоже включи в документ. Но заметь что у нас не будет AWS потому все что сказано про AWS исключаем. У нас приложение будет в докер компоузе на локали ранаться
Теперь я вижу, что у нас Pinecone используектся, но я просил milvus.
Теперь посмотри на всю спеку и задай доп вопросы, что не ясно.

Ну что погнали в реализацию? Давай не останавливайся и не спрашивай меня ни о чем. Сделай все что надо, чтобы запустить приложение и попробовать увидеть первые наработки. И да я добавил chrome-devtools MCP пользуйся им, чтобы тестить то что ты сделал.


Часа через 3 будет прототип. Еще через 10 MVP. Погнали!

Один битый час я провозился с дизайном. Не хотел Claude Sonnet 4.5 понимать что не так с его дизайном. Но Claude Opus 4.5 сделал это на раз два. И так как стратегия выбора модели у меня такая - переключаемся на новую, пока не найдем ту что справляться будет лучше и на ней сидим пока работает. То у меня новый фаворит Claude Opus 4.5. Ранее я так нашел Claude Sonnet 4. Вот как это было (оставлю с его Thinking фидбеком - мило он пытается понять что я от него хочу):

Слушай, все ок, но дизайн какой-то корявый. Точно ты учел все пожелания с ? Какой-то он вообще не риспонсив. Исправь пожалуйста. 
Вижу что дизайн не обновился. Давай потестим, чтобы было точно понятно что hot reload работает в нашей dev сборке. НА страничке есть строчка "Добавить источник" давай вставим туда какой-то символ, чтобы я мог увидеть что все обновилось.
Только вот дизайн ugly все равно. Сделай его нормальнім риспонсив. Вот посмотри сам. Почему-то не сработала твоя правка.
Ужасно віглядит дизайн. Это не дизайн, а просто вертикально идущие подряд контролы. Кажется что стилей вообще нет. Выглядит ужасно. Причем кажется что на дексптопе оно уже выглядт как мобильное приложение. Хотя такой дизайн нужен только когда мобильником открываешь. Потому давай пожалуйста сделай хороший дизайн десктопный, и при сужении экрана чтобы он превращался в мобильный.
Та все так же хреново, прости за французский.
Давай так, вот другое приложение тут C:\Java\CopipotTraining\calendar\prototype3\web посмотри как там скрины сделаны, и сделай так же
Вот скопировал тебе сюда "work"

Нет, мне надо просто чтобы вертска основных страничек выглядела как обычно выглядят приложения. А то сейчас при ширине 2000 пикселей все пространство белое, вообще некрасиво.

Короче ты меня в упор не понимаешь :)

Вот как я вижу станичку

Слушай, диазйн стал еще хуже єто не выглядит как профессиональное приложение, все поплыло. Кнопки ужасные. То что должно быть в один рядок почему-то растянуто по вертикали. Полосы прокрутки

Дальше я просто переключилдся на Claude Opus 4.5 и все завелось. Не даром он 3х чарджится. Очень толковая модель!

 

Дальше пошли чисто фкунциональные правки. Мне не нравился внешний вид карточек

Давай теперь сделаем вот что. Карточки источники я хочу в виде таблички красивой. Карточки занимают  много места
Потом мне хотелось сделать более компактной табличку в мобильной версии. Про нее ненадо забывать поскольку Агент всегда работает над тем что сказано, не учитывая то что подразумевалось ранее. Чтобы учитывал надо отдельно инструкции писать и через .github/copilot-instructions.md к каждому промпту инджектить. 
табличка в мобильной версии пусть будет в два ряда:
первый линк
второй тип статус обновлено действия
 

Вот как это біло исправлено через минутку

 

Так как функиональные требования не были реализованы до конца, и я отвлекся на дизайн. То решил продолжить, скопировав часть рефлексии модели о оставшихся TODO в одном из прошлых запросов.

Все ок. Дальше пойдем реализовывать функциональность 

TODO (для следующих итераций):

Исправить Drizzle relations
Настроить Milvus (проблема с командой запуска)
Реализовать scraping workers (Jira/Confluence)
Реализовать chunking с LangChain
Интегрировать Azure OpenAI для RAG
Добавить фоновые задачи с Bull

Дальше надо было прописать креды к Jira.

Я обновил Zaure 
А вот что есть по джире
JIRA_AUTH=********************
JIRA_URL=https://jira.qwe.com
как єто применить на ATLASSIAN_API_TOKEN ?
хорошо, будем тестить?

Ничего у него не получилось и я пришел к пониманию, что Azure OpenAI работает только под VPN потому пришлось подключиться. Кстати копилот дошел до этого решения параллельно со мной.

Подключился к VPN должно заработатьь

Дальше пошли декорации

Давай теперь создадим скрин, который будет показывать чанки для конкретной линки. В блоке действия пусть появится еще одна кнопка - список чанков. И она пусть относит на отдельный скрин - табличку, где будет список чанков. Можно так?

Не без багов

Почему-то ошибка відалась 
Ошибка: API request failed посмотр исам
Кнопка удаления почему-то не работает
наверное не делается рефреш после удаления и табличка остается как есть
Когда я нажимаю рефрещ на уже отпаршеной страничке, то вижу что она в очереди, и на єтом статус больше не меняется
Чат, должен сортироваться сообщения в обратном порядке. Сейчас самое старое снизу, а я хочу чтобі сверху біло
Смотри, я задал какой-то абстрактній вопрос
а мне вытянулись все линки. Точно RAG работает? 
Можем мы сделать в разделе Источники: табличку, где будет ссылка и рядом кнопка посмотреть чанк. Когда на нее нажимаешь, то откроется текст в оверлее, который отработал
Давай сделаем линк пошире, там есть место
Теперь давай сделаем так, чтобы чат сессии сохарнялись. Сперва я хочу видеть список всех сессий, а при клике на конкретную уже видеть сам чат. Сейчас не сохранятеся
Щас при клике на чат, просиходит скролинг в самый низ чата, и теряется список из вида. Давай не будем скролить
не, не сработало, попробуй еще раз

На этом я пошел спать. А сегодня поделился наработками с коллегами. И мне поделились фидбеком, что за 2 часа можно было на существующем saas решении сделать RAG.

Все так, предвидел этот вопрос. Основной вайбкодинг - это просто наблюдение за тем что копилот что-то делал. Копилот очень подрос за 2 месяца, я вчера обновил VSCode и заметил много нововедений. Главное что все стало стабильнее работать - мне меньше пришлось тыкать его носом в лужу. На UI ушло где-то 1 час, пока не переключился на Опуса (Соннет не справлялся). Почему не существующие saas решения - потому что сейчас за 15-20 минут можно добавить любую фичу, скажем коллега захочет посмотреть граф связей статей. Или добавить функциональность, которая будет в фоне определять неконсистентность между разными публикациями. Или добавить любой другой скрин. Один простой запрос и фича готова. В существующих nocode решениях этой свободы нет. И порог вхождения тут важен. Чтобы иметь возможность настроить существующее nocode решение - надо быть опытным в нем. А тут я просто дам эту кодбазу BA специалисту и скажу как просить в копилоте новые фичи. И посмотрим к чему BA придет за пару итераций. Вопрос в скорости. Ну и плюс я экспериментирую, мне важно не как уже было, а как еще можно.

Недавно коллега в одном из чатов поделился мыслью. И я соглашусь. Мы не компания по созданию продуктов, а компания по эффективному применению существующих решений у клиента. Я честно пошел гуглить какое-то существующее решение на рынке в надежде найти что-то легковестное. Но через 30 минут поиска я уже понимал, что за это время у меня на локали может появиться такой прототип. И я попробвал.

Мне думается, что мы идем к тому будущему, когда написать инструмент будет быстрее, чем найти и адаптировать существующий. Начнут появляться RAG каталоги дизайнов, архитектур, секьюрити статегий, методов тестирования. А мы будем направлять копилота выбрать те или иные статегрии. Все остальное сделает Агент. Причем в стратегии saas тоже может появиться GenAI солюшены, когда ты получишь свой vibe-tool уже задеплоеный и развернутый в облаке без гемора с разворачиванием. Причем в фоне все будет собираться, даже не в IDE на локали. Просто запущу тикет в работу и потом получу тул. И этот тул будет как надо мне. И это будет быстрее. Оно уже быстрее.

И в доказательство этого. Только что в процессе демки этого прототипа коллегам BA предложил. А давайте какую-то фичу добавим. Вы хотите? Сказали "давай фильтр". Изи-пизи.

Для каждой колонки скрина я хочу сделать умный фильтр по маске, по возможным value например если там статусы, то выбирать чекбоксами, если дата - то больше меньше, если тип - тоже чекбоксами, а линки по маске с *

Бам, через минуту мы уже видели этот фильтр

Потом спросил, что еще хотите? А давайте, говорят, добавим категории источников.

Тепенрь смотри что я хочу. У меня 1 стрин с источниками для всех чатов. А я хочу сделать разніе группы источников. например 1 группа для онбординга джунов. Вторая для арихитктурынх вопросов. И в кажой группе будут свои ссылки. Вот как ты делал мне список чат сессий, так же сделай мне источники. В том же дизайне.

Через 3 минуты фича готова.

Первая задача - пол дня работы дивелопера (фронт только). Вторая неделя - так как там бекенд и базу пришлось поменять.

А потом пошли идеи от BA - "А ведь это же еще можно и вот это сделать и вот это..." Не мне им рассказывать как продукты создаются от простого к сложному. Все можно. Цена вопроса пару минут. В особо сложных случаях - десятки.

Сейчас по сути основной порог вхождения это архитектура. То есть если сразу выбрать не ту архитектуру, можно потом застрять (просто прототип дальше будет сложнее одним вайбкодингом перевести на новые рейки). Если архитектура есть - дальше накидывать фичи достаточно просто.

Следующий Босс - как не поломать то, что уже реализовано. Если фичей много, они друг с другом запутываются. И тут по мере усложнения системы велик риск вайбкодингом поломать то, что уже работало в другом месте. Думаю тут должны будут появиться новые виды тестирования. Я пока осваиваю snapshot testing для LLM он хорошо подходит. Но должны будут появиться новые вначале как навыки среди старателей, а потом и как части Агентных систем, встроенные под капот.

Идем дальше

рядом с ликной, есть кнопка открыть в отдельном окне, я хочу еще кнопочку скопировать в буффер обмена
Посмотри на категорию Онбординг
я там пытаюсьт добавит https://jira.qwe.com/browse/EPMXYZ-194 но после нажатия добавить ничего не происходит. Видимо где-то бага. Все дело в том, что я могу добавить только новые линки, но валидация полцучается работает неверно. Одна линка может быть в разных группах

Вот как-то так вайбкодинг и происходит. Будущее уже наступило!

Комментариев нет:

Отправить комментарий