Перейти к содержимому
RAGRAF

Перспективы: что будет дальше и какую пользу это принесёт

Roadmap продукта по направлениям: taint-анализ, параллельная индексация, кэш запросов, мультикорпусность, LSP-мост, live A/B-доказательства — с оценкой пользы каждого пункта.

Как читать эту статью #

Пункты сгруппированы по направлениям и помечены устойчивыми идентификаторами roadmap (R-*). Для каждого: что → какую пользу даст → какой ценой. Приоритеты честные: сначала закрываются разрывы «документация обещает — код не делает», затем масштабирование, затем новые возможности.

Направление 1 — доказательность и безопасность (R-SEC, R-EVID) #

ПунктЧто дастЦена
R-SEC-1 Токен панели только из консоли/env (закрыть GET /api/token)Локальные процессы не смогут молча менять настройки корпусамалая: удалить эндпоинт, токен — startup-print
R-SEC-4 Отказ от shell=True в запуске JoernУбрать последний shell-вектор (сейчас — ручное квотирование)средняя: subprocess-аргументы + регрессия Windows-путей
R-EVID-1 CI-гейт метрик M5/M6 на каждом PR«100% проверяемость фактов о коде» перестаёт быть ручным прогоном — становится свойством веткисредняя: GitHub Actions + фиксированный мини-корпус
R-EVID-2 Публикация bench-артефактов каждого релизаВнешняя воспроизводимость замеров (сейчас — два опубликованных прогона)малая

Направление 2 — производительность (R-PERF) #

ПунктЧто дастЦена
R-PERF-1 Параллельный AST-обход (документированные «8 ядер/16 потоков» стать фактом)Индексация больших корпусов в разы быстрее; закрытие главного расхождения «документация↔код»высокая: воркеры, детерминизм идентификаторов (P: хеши содержимого уже детерминированы — порядок обхода не влияет)
R-PERF-3 Кэш эмбеддингов запросовsearch с ~1 с до десятков мс на повторных запросах; агенты задают похожие запросы постоянномалая: LRU по sha1(normalized_query)+model
R-PERF-4 Инкрементальная CPG-делимостьПересборка Joern только для изменённых файловочень высокая: Joern не поддерживает инкрементальность — придётся вести собственные дельта-графики
R-PKG-1 pip install ragraf[gpu] extrasGPU-путь становится устанавливаемым одной командой вместо ручной сборки torchмалая

Направление 3 — аналитика (R-CPG) #

ПунктЧто дастЦена
R-CPG-2 Продуктовые taint-операции поверх cfg_edge/dfg_edge («источник→сток»)RAGRAF из навигатора становится инструментом аудита: маршрут пользовательского ввода до SQL/echo без запуска кода. Прямой ответ на VulnGym-проблематикувысокая: операции, пределы точности (LCIP-ориентир: F1 ~55% — публиковать честно), калибровка derived-рёбер
R-CPG-3 CPG для Python/JS (не только php2cpg)Межпроцедурный слой за пределами PHPсредняя: Joern поддерживает; контракт нужно перепроверить на каждом языке
R-CORE-5 data_flow между слоями (код↔схема↔маршруты в одном срезе)Ответ «что случится с этой таблицей, если изменить этот маршрут» одним вызовомвысокая

Направление 4 — продукт и масштаб (R-CORE, R-PKG) #

ПунктЧто дастЦена
R-CORE-7 Мультикорпусность (несколько проектов в одной панели/одном MCP-сервере)Один агент работает с монорепозиторием из N сервисов; панель становится диспетчерскойсредняя
R-CORE-8 Файловый вотчер (live-guard между запросами)Журнал расхождений пополняется без запроса-триггера; stale_warnings свежеесредняя: watchdog + дебаунс; батарея — цена простоя
R-I18N-2 Английская документация как первичная (RU — перевод)Порог входа для внешних контрибьюторовмалая: перевод уже существует (docs/en)
R-PKG-2 PyPI-публикацияpip install ragraf вместо клона; версионирование релизовсредняя: сборка, тесты на 3.13, политика имён

Направление 5 — доказательная база агентов (R-T) #

ПунктЧто дастЦена
R-T-1 Live A/B-протокол: одна задача, два агента (с индексом/без), автоматический подсчёт вызовов, чтений, токенов«14 против 28/43» превращается из одного пилота в повторяемый стенд на любом корпусе заказчика — главный аргумент внедрениясредняя: обвязка протокола уже частично есть в bench/
R-T-2 Профили «здоровья агента» по телеметрии (доля symbol/search против grep, stale-игнорирование)Панель начинает оценивать не только индекс, но и дисциплину агента; регламент улучшается даннымималая на готовой usage_call
R-VIS-1 Визуализация графа (read-only веб-представление ревизии)Отладка impact/slice глазами; демонстрация продуктасредняя: экспорт DOT уже тривиален; интерактив — d3/cytoscape

Что это даст в сумме (если всё) #

Сценарий «RAGRAF v0.4»: агент в монорепозитории из нескольких сервисов задаёт вопрос «что сломается, если изменить эту колонку» и получает единый срез код→схема→маршруты с taint-путями пользовательского ввода, на графе в 50k вершин за <1 с (GPU-CSR), по ревизии, которая свежее минуты (файловый вотчер), — и всё это воспроизводимо на A/B-стенде заказчика с публикацией артефактов в CI. Это уже не «поиск по коду», а проверяемая система знаний о системе.

Чего в roadmap нет намеренно #

  • Языка запросов к графу (P4 — измерено, не обсуждается).
  • Облачной версии — продукт локальный по философским основаниям (секреты не покидают машину; телеметрия локальна).
  • Автономного патчинга — RAGRAF отвечает, правит агент; смешение ролей ломает атрибуцию ответственности.
  • Собственных эмбеддинговых моделей — мультиязычная MiniLM закрывает задачу за 240 МБ; обучение своей модели не окупится на обозримых корпусах.

Источник приоритизации: ROADMAP.md репозитория (40+ пунктов, последовательность v0.1→v0.4) и реестр дефектов (43 находки: 4 CRIT / 11 HIGH / 19 MED / 9 LOW).