
На Hacker News опубликован проект Benzi — AI-агент для написания и рефакторинга кода, основанный на принципиально ином подходе к работе с кодом. Вместо того чтобы сбрасывать содержимое файлов в контекстную модель, Benzi сначала компилирует весь проект в точную, запрашиваемую карту, используя парсеры tree-sitter.
Как работает Benzi
Перед тем как ответить на любой вопрос, Benzi запускает реальный компилятор на основе tree-sitter, который парсит каждый файл проекта и строит карту: каждый символ, каждая точка вызова, каждая ссылка, каждая цепочка наследования классов. Это делается за один проход. После этого модель общается с кодом не через чтение файлов, а через инструменты — например, запрос «какие функции передают данные в эту?» выполняется за O(1), без повторного сканирования.
Такой подход решает несколько проблем классических AI-агентов:
— резкое снижение количества токенов: Benzi Sonnet читает 9 125 строк кода против 20 704 у Claude Code и 43 598 у DeepSeek;
— устранение контекстного дрейфа при многофайловом рефакторинге;
— предсказуемость: модель получает не сырой текст, а структурированную информацию о зависимостях и зонах поражения изменений.
Три уровня достоверности
Автор проекта признаёт риск: «А что если компилятор ошибается? Не введёт ли это модель в заблуждение?» Для этого в Benzi реализована система трёх уровней истинности:
— RESOLVED — есть точное доказательство из статического анализа;
— CANDIDATE — то, что не удалось разрешить статически;
— OBSERVED — что произошло на самом деле при выполнении.
Модель и детерминистический слой координации работают так, чтобы минимизировать чтение исходного кода без потери корректности результатов.
Бенчмарки и поддержка языков
На SWE-bench Verified Benzi показывает 78.2% при однократном запуске 500 задач из 12 Python-репозиториев. Оценка проводилась официальным раннером swebench.harness.run_evaluation в изолированных Docker-контейнерах без доступа к сети.
Поддерживаемые языки: Python, JavaScript, TypeScript, Java, C#, C++, C, Go, Rust, Ruby, а также HTML, CSS и JS — с отдельным индексом для разметки. Проект находится в активной разработке, доступен бесплатно на GitHub и в VS Code Marketplace.
Практические ограничения
Важно понимать: Benzi — это работа в процессе. Проект не является зрелым коммерческим продуктом. Заявленные результаты на SWE-bench — это одноразовые прогоны без многократного усреднения. Поддержка 10 языков реализована через tree-sitter, но глубина и качество индексации могут различаться. Также, хотя Benzi и снижает потребление токенов, он всё равно требует первоначальной компиляции проекта, которая для больших репозиториев (например, VS Code на 923 тыс. строк) занимает около двух минут.
Источники
— Оригинальная публикация на Hacker News: news.ycombinator.com/item?id=49599867
— Репозиторий проекта на GitHub: github.com/oooscoos/Benzi
— Документация и бенчмарки: benzi.fly.dev/about
— Официальный бенчмарк SWE-bench: swebench.com