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👍4🔥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
🔥3❤2👍1
Теперь я знаю еще больше. Я знаю, как там после 40ка. 🎂😅
🎉29😁2
vibe-tests 0.0.1
Тестовый фреймворк для MCP-серверов на Rust. AI-модели решают какие инструменты вызывать по свободному запросу в тесте.
🧠 Agentic-тестирование: LLM вызывает MCP тулы на основе естественного языка
📊 Полный tracing: каждый запрос, tool call, ответ — в структурированном логе
📋 JSON-отчёт: model_response, tool_response, duration_ms, error codes
🐳 Docker изоляция: compose up/down, temp директории, cleanup процессов
🔬 Мульти-модель: один сервер против нескольких LLM одновременно
🔧 Настраиваемый жизненный цикл событий тестирования
📦 Гибкая общая конфигурация для всех тестов MCP
🔗 https://crates.io/crates/vibe-tests
Тестовый фреймворк для MCP-серверов на Rust. AI-модели решают какие инструменты вызывать по свободному запросу в тесте.
🧠 Agentic-тестирование: LLM вызывает MCP тулы на основе естественного языка
📊 Полный tracing: каждый запрос, tool call, ответ — в структурированном логе
📋 JSON-отчёт: model_response, tool_response, duration_ms, error codes
🐳 Docker изоляция: compose up/down, temp директории, cleanup процессов
🔬 Мульти-модель: один сервер против нескольких LLM одновременно
🔧 Настраиваемый жизненный цикл событий тестирования
📦 Гибкая общая конфигурация для всех тестов MCP
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍1
🔥 Vibe Analyzer v0.0.2
Стал быстрее, лучше, удобнее. Разобрал монолит на модульную экосистему — парсинг, файловые операции и тестовый фреймворк стали отдельными крейтами:
📦 vibe-ast — AST-парсинг для 14 языков
📦 vibe-fs — инкрементальное сканирование с BLAKE3
📦 vibe-tests — E2E-тестирование MCP-серверов с реальными LLM
📊 Кодовая база:
👉 -97 файлов (-33%)
👉 -6,854 строк кода (-34%)
👉 -1.67 MB размера проекта (-69%)
🖥 CLI прокачан:
👉
👉
👉 6 форматов экспорта
🔍 Поиск точнее:
👉 Синонимы тегов на 3 языках
👉 wildcard для imports, match_phrase_prefix для variables
👉 search_documentation находит всё с первого раза
⚡ Конфиг v0.0.2:
👉 Новые секции: scan, analyze, export
Основной фокус в обновлении был направлен на оптимизацию кодовой базы для дальнейшего развития.
🔗 https://crates.io/crates/vibe-analyzer
Стал быстрее, лучше, удобнее. Разобрал монолит на модульную экосистему — парсинг, файловые операции и тестовый фреймворк стали отдельными крейтами:
📦 vibe-ast — AST-парсинг для 14 языков
📦 vibe-fs — инкрементальное сканирование с BLAKE3
📦 vibe-tests — E2E-тестирование MCP-серверов с реальными LLM
📊 Кодовая база:
👉 -97 файлов (-33%)
👉 -6,854 строк кода (-34%)
👉 -1.67 MB размера проекта (-69%)
🖥 CLI прокачан:
👉
--config для кастомного конфига👉
-p/--path для прямого сканирования👉 6 форматов экспорта
🔍 Поиск точнее:
👉 Синонимы тегов на 3 языках
👉 wildcard для imports, match_phrase_prefix для variables
👉 search_documentation находит всё с первого раза
⚡ Конфиг v0.0.2:
👉 Новые секции: scan, analyze, export
Основной фокус в обновлении был направлен на оптимизацию кодовой базы для дальнейшего развития.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
#fyi
Знаете что я тут понял? Не правильно говорить «LLM заменят разработчиков», правильно будет «LLM заменят тупых разработчиков». Кто думает что «LLM заменят разработчиков» могут смело продолжать так говорить, пока их еще не заменили.
Знаете что я тут понял? Не правильно говорить «LLM заменят разработчиков», правильно будет «LLM заменят тупых разработчиков». Кто думает что «LLM заменят разработчиков» могут смело продолжать так говорить, пока их еще не заменили.
😁6🤣1
Vibe Analyzer — не просто MCP с RAG-опцией. Это база для будущей экосистемы проектов. Сейчас уже есть три крейта, которые можно использовать для MCP-разработки на Rust. Аналогов подобных крейтов нет. Но дальше — больше.
Что сейчас умеет проект: создавать отчёты в 6 форматах по проектам или базе знаний в Markdown. Отчёт может быть просто выборкой важных деталей или с обогащением — обработкой моделями в кластере этих данных.
Почему важна кластеризация обогащения? Это открывает возможность масштабироваться горизонтально — вам не нужна одна мощная видеокарта. Любой ПК потенциально часть кластера, который ускоряет процесс обогащения.
Что даёт обогащение? Сейчас это дополнительные поисковые теги или описание файла для более релевантного поиска через MCP. Но возможности намного шире.
Обогащения могут быть разными, а это открывает широкие возможности для отчётов по проектам или базам знаний. Получение данных для отчётов — одна из задач, которой я планирую заняться.
Пайплайн может быть следующим: тул, который получает необходимые данные → Vibe Analyzer — центр обработки данных → тул, который строит отчёт в нужном формате.
Идеальный способ создания резюме. Для этого даже не нужен будет соискатель — HR сможет сам понять, стоит ли хантить разработчика =)
Что сейчас умеет проект: создавать отчёты в 6 форматах по проектам или базе знаний в Markdown. Отчёт может быть просто выборкой важных деталей или с обогащением — обработкой моделями в кластере этих данных.
Почему важна кластеризация обогащения? Это открывает возможность масштабироваться горизонтально — вам не нужна одна мощная видеокарта. Любой ПК потенциально часть кластера, который ускоряет процесс обогащения.
Что даёт обогащение? Сейчас это дополнительные поисковые теги или описание файла для более релевантного поиска через MCP. Но возможности намного шире.
Обогащения могут быть разными, а это открывает широкие возможности для отчётов по проектам или базам знаний. Получение данных для отчётов — одна из задач, которой я планирую заняться.
Пайплайн может быть следующим: тул, который получает необходимые данные → Vibe Analyzer — центр обработки данных → тул, который строит отчёт в нужном формате.
Идеальный способ создания резюме. Для этого даже не нужен будет соискатель — HR сможет сам понять, стоит ли хантить разработчика =)
🔥3👍2
#article
Agentic RAG на Rust
Как построить Agentic RAG на Rust. Контекст, MCP, OpenSearch, LLM — и что со всем этим делать. Архитектура, тестирование на реальных моделях, защита от галлюцинаций и три крейта в открытом доступе.
🔗 Publication
Agentic RAG на Rust
Как построить Agentic RAG на Rust. Контекст, MCP, OpenSearch, LLM — и что со всем этим делать. Архитектура, тестирование на реальных моделях, защита от галлюцинаций и три крейта в открытом доступе.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥7
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
vibe-ast v0.0.8
🆕 Body extraction — парсер теперь извлекает тело функций, классов, структур, енумов, интерфейсов и Markdown-секций. Поддержаны все 13 языков + Markdown: ArkTS, Bash, Batch, C#, Dart, Go, Java, JavaScript, Kotlin, Python, Rust, Swift, TypeScript.
🏷️ Tags overhaul — переработана генерация поисковых тегов для всех языков. Добавлены недостающие синонимы EN, RU, ZH (иероглифы), унифицирован порядок.
🔗 https://crates.io/crates/vibe-ast
🆕 Body extraction — парсер теперь извлекает тело функций, классов, структур, енумов, интерфейсов и Markdown-секций. Поддержаны все 13 языков + Markdown: ArkTS, Bash, Batch, C#, Dart, Go, Java, JavaScript, Kotlin, Python, Rust, Swift, TypeScript.
🏷️ Tags overhaul — переработана генерация поисковых тегов для всех языков. Добавлены недостающие синонимы EN, RU, ZH (иероглифы), унифицирован порядок.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤1👍1
Forwarded from Банкста
This media is not supported in your browser
VIEW IN TELEGRAM
В Китае выпустили первого пилотируемого меха-трансформера за $650 тыс. Полноценный гражданский робот весит около 500 кг, может трансформироваться и управляться пилотом. Компания-разработчик просит покупателей использовать меха в «дружелюбных» целях. @banksta
🔥8👍2😴1