Vibe Analyzer: что нового
AST-сканер отполирован:
🍔 13 языков — от Rust до ArkTS, включая Bash/Batch
🛟 Тесты на реальных данных, контроль качества
⚠️ Экспорт в JSON/JSON5/TOON/XML — можно и в LLM-контекст, и в API
Добавил LLM-обогащение:
🥳 Стабильно даже на qwen2.5-coder:3b
👍 Каждый файл получает описание и 3-5 тегов
🤩 Батчинг с умным ограничением по символам
Кластерный режим:
⚡️ Разные машины с разными настройками
⚡️ Конкуренция — мощный сервер возьмёт больше задач
⚡️ M4 Pro + 4070 Ti = 100 файлов ~30 секунд
Что есть сейчас:
✅ Полный дамп проекта AST
✅ Полный дамп проекта AST+LLM
✅ Дальше — OpenSearch и MCP
Представьте, что любой AI-ассистент сразу понимает структуру вашего проекта. Не потому, что вы ему что-то объяснили, а потому что он получил знания о проекте. Сейчас Vibe Analyzer умеет проходить по проекту и создавать аннотированный слепок: AST, метаданные, сгенерированные локальной моделью описания и теги. Это не просто список файлов, а готовая семантическая карта проекта — компактная, быстрая, заточенная под Agentic RAG. Следующий шаг — интеграция с OpenSearch и MCP. Тогда агент не будет тратить контекст на слепое чтение файлов, а сможет точечно запрашивать через индекс именно то, что ему нужно. Спросит: «что у нас есть по этой теме?» — и получит точный, компактный ответ, в котором будет всё необходимое для его работы.
AST-сканер отполирован:
Добавил LLM-обогащение:
Кластерный режим:
Что есть сейчас:
Представьте, что любой AI-ассистент сразу понимает структуру вашего проекта. Не потому, что вы ему что-то объяснили, а потому что он получил знания о проекте. Сейчас Vibe Analyzer умеет проходить по проекту и создавать аннотированный слепок: AST, метаданные, сгенерированные локальной моделью описания и теги. Это не просто список файлов, а готовая семантическая карта проекта — компактная, быстрая, заточенная под Agentic RAG. Следующий шаг — интеграция с OpenSearch и MCP. Тогда агент не будет тратить контекст на слепое чтение файлов, а сможет точечно запрашивать через индекс именно то, что ему нужно. Спросит: «что у нас есть по этой теме?» — и получит точный, компактный ответ, в котором будет всё необходимое для его работы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍2
Vibe Analyzer: что нового
OpenSearch:
🚀 Три индекса на проект: meta, files, analysis
⚡ Bulk-операции и Scroll API — загрузка 643 файлов за секунды
🎯 Nested-маппинги для AST — поиск по функциям, классам, импортам
🔒 BLAKE3-хеши для каждого файла — основа инкремента
Инкрементальная индексация:
⏱️ 15-100x ускорение — индексируются только изменившиеся файлы
💾 Проверка по хешам через OpenSearch
🔧
📄 Экспорт AST или AST+LLM — готовый контекст для бесплатных чатов
CLI поиск:
🎯 Path (5.0) > Tags (5.0) > Functions (3.0) > Comments (2.0)
⚡ 0.1 секунда на поиск по 2+ проектам
Стабильность на 3B:
✅ 600 файла за ~3 минуты на
🧠 Умные промпты с шаблонами — модель следует указаниям
🔄 Ретраи и восстановление кривых JSON
🚫 Побеждены дедлоки —
Следующие шаги:
👉 Расширение CLI поиска (meta, file, get, stats)
👉 MCP сервер для AI-ассистентов
👉 Docker (образ и docker-compose)
👉 Документация по конфигурации и API
🔗 https://gitcode.com/keygenqt_vz/vibe-analyzer
OpenSearch:
🚀 Три индекса на проект: meta, files, analysis
⚡ Bulk-операции и Scroll API — загрузка 643 файлов за секунды
🎯 Nested-маппинги для AST — поиск по функциям, классам, импортам
🔒 BLAKE3-хеши для каждого файла — основа инкремента
Инкрементальная индексация:
⏱️ 15-100x ускорение — индексируются только изменившиеся файлы
💾 Проверка по хешам через OpenSearch
🔧
--force для полной переиндексации когда нужно📄 Экспорт AST или AST+LLM — готовый контекст для бесплатных чатов
CLI поиск:
search ast UserService — поиск по коду с умными бустами🎯 Path (5.0) > Tags (5.0) > Functions (3.0) > Comments (2.0)
⚡ 0.1 секунда на поиск по 2+ проектам
Стабильность на 3B:
✅ 600 файла за ~3 минуты на
qwen2.5-coder:3b🧠 Умные промпты с шаблонами — модель следует указаниям
🔄 Ретраи и восстановление кривых JSON
🚫 Побеждены дедлоки —
FuturesUnordered + атомарные флагиСледующие шаги:
👉 Расширение CLI поиска (meta, file, get, stats)
👉 MCP сервер для AI-ассистентов
👉 Docker (образ и docker-compose)
👉 Документация по конфигурации и API
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Пришлось написать небольшой фреймворк для тестирования MCP-инструментов.
Я не смог найти что-то вменяемое и готовое — одни не соблюдают спецификацию, другие просто падают. Альтернатив, которые работают как надо, по сути и нет. Пришлось писать свой на Rust.
Главная задача — контролировать качество ответов моделей при работе с MCP. Сервер и клиент общаются через rmcp (streamable HTTP), тесты вызывают LLM через Ollama и полностью контролируют весь стек запросов.
Теперь каждый запрос можно детально проанализировать и добиться идеального tools, который сможет минимизировать поглощение контекста моделями.
RAG не должен зависеть от размера оперативной памяти.
Я не смог найти что-то вменяемое и готовое — одни не соблюдают спецификацию, другие просто падают. Альтернатив, которые работают как надо, по сути и нет. Пришлось писать свой на Rust.
Главная задача — контролировать качество ответов моделей при работе с MCP. Сервер и клиент общаются через rmcp (streamable HTTP), тесты вызывают LLM через Ollama и полностью контролируют весь стек запросов.
Теперь каждый запрос можно детально проанализировать и добиться идеального tools, который сможет минимизировать поглощение контекста моделями.
RAG не должен зависеть от размера оперативной памяти.
🔥5👍3
Vitaliy Zarubin | @keygenqt
Photo
Думаете это было просто?
- Бесконечные циклы: модель вызывала тулсы пока не упрётся в лимит
- Галлюцинации имён: update_index, list_tree, show_structure
- Зависания: модель не понимала когда остановиться
- Путаница с target: null, пустые строки, кривые вызовы
- Утечка контекста: работал только первый запрос
Теперь я понимаю, почему многие MCP проекты работают как работают.
Моё мнение остаётся при мне: модели не способны самостоятельно создавать достойные продукты. Три месяца с ними. Да, они помогают, но финальный эксперт - это человек. Моделям плевать на результат, а человеку - нет.
- Бесконечные циклы: модель вызывала тулсы пока не упрётся в лимит
- Галлюцинации имён: update_index, list_tree, show_structure
- Зависания: модель не понимала когда остановиться
- Путаница с target: null, пустые строки, кривые вызовы
- Утечка контекста: работал только первый запрос
Теперь я понимаю, почему многие MCP проекты работают как работают.
Моё мнение остаётся при мне: модели не способны самостоятельно создавать достойные продукты. Три месяца с ними. Да, они помогают, но финальный эксперт - это человек. Моделям плевать на результат, а человеку - нет.
🔥7
Vitaliy Zarubin | @keygenqt
Думаете это было просто? - Бесконечные циклы: модель вызывала тулсы пока не упрётся в лимит - Галлюцинации имён: update_index, list_tree, show_structure - Зависания: модель не понимала когда остановиться - Путаница с target: null, пустые строки, кривые…
Но если постараться...
🔥7
#fyi А вы знали, что ваша нелюбовь к дебаггерам и мокам — это не каприз, а философия? 🎯
Это называют Классической школой или менталитетом UNIX.
Суть проста:
🔸 Доверяй реальному взаимодействию, а не симуляции.
🔸 Сложность отладки должна заставлять думать, а не жать кнопки.
🔸 Лучше честный лог, чем красивый брейкпойнт.
🔸 Лучше интеграция, чем изоляция.
Такой подход разделяют Линус Торвальдс, Кент Доддс, DHH (создатель Rails), авторы UNIX и многие системные программисты.
А вы в этом лагере или предпочитаете современный комфорт IDE и моков? Классицист или Мокист? =)
Это называют Классической школой или менталитетом UNIX.
Суть проста:
🔸 Доверяй реальному взаимодействию, а не симуляции.
🔸 Сложность отладки должна заставлять думать, а не жать кнопки.
🔸 Лучше честный лог, чем красивый брейкпойнт.
🔸 Лучше интеграция, чем изоляция.
Такой подход разделяют Линус Торвальдс, Кент Доддс, DHH (создатель Rails), авторы UNIX и многие системные программисты.
А вы в этом лагере или предпочитаете современный комфорт IDE и моков? Классицист или Мокист? =)
🔥3👍1💩1
Нашёл подход к моделям. Стабилизация вызова тулов - непростая задача. Чтобы 3B тебя понимала, 7B не выдумывала лишнего, а 14B не упиралась в лимиты по памяти - нужна тонкая настройка MCP-методов, их описания и особая обработка входящих параметров.
Для отладки MCP потребовался собственный тестировочный фреймворк. Он показал себя отлично: все уровни запросов чётко отслеживаются, сценарии выполняются стабильно.
Для отладки MCP потребовался собственный тестировочный фреймворк. Он показал себя отлично: все уровни запросов чётко отслеживаются, сценарии выполняются стабильно.
5🔥7👍3
Vibe Analyzer — MVP готов 🎉
Agentic RAG для кодовых баз и баз знаний. AST-парсинг, LLM-обогащение, индексация в OpenSearch. 11 MCP инструментов дают AI-моделям свободу поиска — они сами решают что искать и как.
Почему Agentic RAG
Классический RAG добавляет найденные документы в промпт — чем больше контекст, тем больше VRAM. Vibe Analyzer возвращает структурированные результаты через инструменты, сохраняя контекст максимально чистым:
- 📉 Минимальный контекст — модель получает только то, что вернул инструмент
- 🧠 Без эмбеддингов — поиск по ключевым словам и AST через OpenSearch
- 🔗 Один вызов = полный ответ, без набивания промпта документами
- ♾️ Контекст остаётся маленьким независимо от размера проекта
Возможности
- 🌳 AST-парсинг для 13 языков
- 💡 Обогащение AST через LLM (описания, теги)
- 📄 Экспорт AST и AST+LLM в JSON, JSON5, TOON, XML
- 📝 Семантический и морфологический поиск по коду и базе знаний
- ⚡ Инкрементальная индексация
- 📦 Самодостаточные инструменты (один вызов — полный ответ)
- 🗂️ Поддержка трёх языков (EN, RU, CN)
- 🦀 Написан на Rust — быстро и экономично по памяти
Все тесты (180 запросов, 3 модели) пройдены успешно. Ещё предстоит поработать над простой доставкой приложения людям, но при желании уже можно попробовать — проект открыт:
🔗 https://gitcode.com/keygenqt_vz/vibe-analyzer
Agentic RAG для кодовых баз и баз знаний. AST-парсинг, LLM-обогащение, индексация в OpenSearch. 11 MCP инструментов дают AI-моделям свободу поиска — они сами решают что искать и как.
Почему Agentic RAG
Классический RAG добавляет найденные документы в промпт — чем больше контекст, тем больше VRAM. Vibe Analyzer возвращает структурированные результаты через инструменты, сохраняя контекст максимально чистым:
- 📉 Минимальный контекст — модель получает только то, что вернул инструмент
- 🧠 Без эмбеддингов — поиск по ключевым словам и AST через OpenSearch
- 🔗 Один вызов = полный ответ, без набивания промпта документами
- ♾️ Контекст остаётся маленьким независимо от размера проекта
Возможности
- 🌳 AST-парсинг для 13 языков
- 💡 Обогащение AST через LLM (описания, теги)
- 📄 Экспорт AST и AST+LLM в JSON, JSON5, TOON, XML
- 📝 Семантический и морфологический поиск по коду и базе знаний
- ⚡ Инкрементальная индексация
- 📦 Самодостаточные инструменты (один вызов — полный ответ)
- 🗂️ Поддержка трёх языков (EN, RU, CN)
- 🦀 Написан на Rust — быстро и экономично по памяти
Все тесты (180 запросов, 3 модели) пройдены успешно. Ещё предстоит поработать над простой доставкой приложения людям, но при желании уже можно попробовать — проект открыт:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3
От быстрого старта до внутренностей AST-парсинга и MCP-инструментов.
Enjoy.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
vibe-ast 0.0.1
Вынес парсеры AST из vibe-analyzer в отдельный крейт. Теперь это доступная всем библиотека:
🦀 14 парсеров языков, скриптов и Markdown
📦 Единая структура, простое подключение
🏷️ Мультиязычные теги — EN, RU, CN
⚡ Без сети, без БД, без конфигов
🔧 Решена проблема совместимости tree-sitter-грамматик
🔗 https://crates.io/crates/vibe-ast
Вынес парсеры AST из vibe-analyzer в отдельный крейт. Теперь это доступная всем библиотека:
🦀 14 парсеров языков, скриптов и Markdown
📦 Единая структура, простое подключение
🏷️ Мультиязычные теги — EN, RU, CN
⚡ Без сети, без БД, без конфигов
🔧 Решена проблема совместимости tree-sitter-грамматик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
#fyi
Собеседования никогда не работали и не думаю, что будут. Всегда говорю — пишите пэты, они отражают ваши реальные скиллы. А что теперь? Легко можно собрать тулс на базе Vibe Analyzer, который объективно оценит ваш уровень по пэтам. И все эти «напишите сортировку пузырьком» или «кем вы себя видите через 10 лет» — можно отправить в мусорку. Think about it.
Собеседования никогда не работали и не думаю, что будут. Всегда говорю — пишите пэты, они отражают ваши реальные скиллы. А что теперь? Легко можно собрать тулс на базе Vibe Analyzer, который объективно оценит ваш уровень по пэтам. И все эти «напишите сортировку пузырьком» или «кем вы себя видите через 10 лет» — можно отправить в мусорку. Think about it.
1👍3🔥2
vibe-fs 0.0.1
Вынес файловые утилиты из vibe-analyzer в отдельный крейт. Маленький, но важный:
🔍 Рекурсивное сканирование с поддержкой
🔄 Инкрементальное сканирование
🧩 Фильтрация сабмодулей Git
🚫 Дефолтные игноры:
💾 Снапшот в MessagePack:
⚡ BLAKE3 хеширование
🔗 https://crates.io/crates/vibe-fs
Вынес файловые утилиты из vibe-analyzer в отдельный крейт. Маленький, но важный:
🔍 Рекурсивное сканирование с поддержкой
.gitignore🔄 Инкрементальное сканирование
🧩 Фильтрация сабмодулей Git
🚫 Дефолтные игноры:
target, node_modules, .git, *.log💾 Снапшот в MessagePack:
~/.vibe-fs-snapshot⚡ BLAKE3 хеширование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥2👍1
Теперь я знаю еще больше. Я знаю, как там после 40ка. 🎂😅
🎉28😁1