RU
Hilum Tools

Hilum Tools

Структурная правда о коде для ИИ-агентов — девять доменов инструментов на одном MCP-сервере

ИИ-агент тратит большую часть бюджета на повторное открытие репозитория, который уже читал. Hilum заменяет это переоткрытие одним индексом, к которому агент подключается: разрешённая структура вместо grep-и-угадай.

Проблема

Каждая сессия начинается с нуля. Агент грепает символ, открывает файлы целиком, чтобы понять, что в них лежит, руками ходит по импортам и заново восстанавливает конвенции, о которых ему рассказывали вчера. Потом сессия заканчивается, и всё это испаряется. Следующая задача оплачивает то же расследование заново.

Это не проблема слабой модели. Это проблема отсутствующей подложки: у агента есть языковая модель и файловая система, а между ними нет ничего, что знало бы, чем код является. Поэтому он угадывает — и вы платите за угадывание токенами, задержкой и регрессиями, которые следуют за уверенно неправильным ответом.

Решение

Hilum Tools — MCP-платформа, которая даёт агентам структурный доступ к кодовой базе вместо сырого текста. Один сервер отдаёт девять доменов инструментов по Model Context Protocol; любой MCP-хост — Claude Code, Cursor, Cline, Continue или ваш собственный SDK-потребитель — подключается к одному и тому же индексу.

Написано на Rust: около 358 000 строк в ~4 700 исходных файлах, на официальном Rust MCP SDK, с транспортами stdio и streamable HTTP и пофильтровкой набора инструментов на уровне сессии. Спроектировал и построил всё сам; работает ежедневно против мультирепозиторного воркспейса — включая тот, в котором живёт этот сайт.

Девять доменов, один сервер

ДоменЧто у него спрашивает агент
CodeСтруктура проекта, go-to-definition, ссылки, иерархия вызовов — гибрид LSP + tree-sitter, не регулярки
FindВыборка под бюджет: «верни ровно столько материала, чтобы ответить на X в N токенов»
DocsАктуальная документация с привязкой к версии для библиотек, которые реально лежат в локфайле, — включая приватные API
MemoryОдин вызов брифинга возвращает конвенции, последние решения, last-green состояние и известные грабли
GraphГраф решений: почему компонент устроен так и что ставит под вопрос правка
LineageПроисхождение символа — боль, которая его породила, спеки, которым он удовлетворяет, как он менялся
SetupОнбординг репозитория: навигационные индексы, валидация маркеров, генерируемые карты
AuditПостоянные проверки по репозиторию, отдаваемые как находки, а не как стена вывода
AgentКоординация: очередь работ, арбитраж claim'ов, долговечный mailbox, диспетчеризация воркеров

Что это меняет

  • Меньше токенов на задачу. Выборка отвечает в бюджет, а не возвращает топ-10 совпадений, оставляя модели платить за то, сколько они весят.
  • Контекст, переживающий сессию. Решения, грабли и конвенции читаются автоматически и пишутся осознанно; устаревшая запись архивируется, а не удаляется молча.
  • Ответы, заявляющие собственную надёжность. Пустой результат отличает «ничего не совпало» от «ничего не искали» — агент, действующий без присмотра, иначе эти два случая не различит.
  • Параллельные агенты, которые не сталкиваются. Владение арбитрируется там, где работа раздаётся, каждый воркер получает изолированное дерево, а вывод переживает породивший его процесс.

Построено по собственной дисциплине

Архитектура здесь не документируется постфактум — она вход, а не выход. 191 запись решений образует валидируемый граф, где висячая ссылка роняет сборку, а не печатает предупреждение, и где правка автоматически ставит под вопрос всё, что от неё зависит.

Под этим лежит нормативная модель из пятнадцати областей — о том, как должен вести себя сервис, потребитель которого автономный агент, а не человек: ответ есть утверждение о собственной надёжности, и сервис отвечает за это утверждение не меньше, чем за содержимое. Модель не называет ни языка, ни движка хранения, ни продукта, а её переносимость держит сборочный гард.

Где проходит платная граница

Всё, что работает против вашего выкаченного дерева, бесплатно и живёт офлайн — кодовая интеллектуальность, локальная индексация, память, происхождение, граф решений, оркестрация в пределах одной машины. Платный тир начинается там, где данные уходят на другую машину или к другому участнику команды: хостируемая синхронизация, общая командная память, координация флота.

Граница архитектурная, а не пейвол поверх фич. Исходники вообще не попадают в путь синхронизации; туда уходят только записи памяти, а индекс пересобирается из дерева.

Статус

Ранний доступ. Сайт продукта и документация подняты, дистрибуционный репозиторий публичен — установщики и ключ подписи релизов уже на месте, следующим шагом ложатся первые подписанные бинарники. Исходники остаются приватными под BSL 1.1 с переходом в Apache-2.0 1 августа 2030 года.

Хотите такое же под вашу кодовую базу или что-то похожее под ваш стек? Для этого есть направления AI-разработка и AI-оптимизация.

Связаться

Прямая связь с инженером — Telegram, Email, Calendly или структурированный бриф.

Бесплатный 30-минутный звонок — без обязательств, без агентской воронки.