Hugging Face представила relore: инструмент для контекстной памяти ИИ-агентов в разработке

Hugging Face Blog · оригинал

Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Команда Hugging Face разработала open-source инструмент relore, который позволяет ИИ-агентам анализировать историю решений и обсуждений в GitHub-репозиториях. Это предотвращает дублирование работы и помогает агентам понимать контекст изменений кода, опираясь на авторитетные мнения мейнтейнеров.

Инструмент решает проблему «потери памяти» у LLM-агентов, позволяя им видеть не только текущий код, но и историю принятия решений, что критически важно для сложных задач в крупных open-source проектах.

В разработке программного обеспечения с использованием ИИ-агентов часто возникает проблема разрыва между текущим состоянием кода и историей его изменений. Hugging Face представила relore (REpository LORE) — инструмент, который индексирует историю репозитория, отслеживает, кто и что утверждал в обсуждениях, и связывает эти дискуссии с актуальным кодом. Цель решения — дать агентам доступ к контексту решений, который обычно хранится в головах мейнтейнеров или разбросан по сотням issues и pull requests.

Разработка инструмента была спровоцирована конкретным инцидентом в библиотеке Transformers. ИИ-агент Serge готовился написать патч для исправления ошибки в модели GPTNeoXJapanese, не зная, что два других разработчика уже открыли соответствующие pull request'ы. Вся необходимая информация присутствовала на GitHub, но была разбросана по разным веткам обсуждений и не была видна из исходного issue. relore решает эту проблему, предоставляя агенту возможность видеть «висящие» в воздухе задачи и уже начатую работу.

Ключевым отличием relore от простого поиска является дифференциация источников информации. Инструмент учитывает статус автора: решение мейнтейнера весит больше, чем предположение контрибьютора или автоматический комментарий бота. По умолчанию машинно-сгенерированный контент исключается из набора доказательств, что повышает точность анализа. Это позволяет агенту отличать официальное одобрение изменения от случайного упоминания проблемы.

Архитектура relore включает два основных компонента: индекс истории репозитория и рабочую копию кода. Оба доступны через единый HTTP API. Инструмент работает локально, обращаясь к GitHub только для обновления индекса. Это обеспечивает приватность и скорость обработки запросов. В отличие от предложений записывать контекст решений прямо в git-историю, relore использует существующие данные, не требуя изменения рабочих процессов разработчиков.

В ходе тестирования на Transformers агент использовал команду inflight для проверки статуса задачи, а затем search для поиска авторитетных решений. Это позволило Serge найти первоначальный рефакторинг, который привел к регрессии, и провести аудит кодовой базы на наличие аналогичных ошибок. Для анализа структуры кода были добавлены команды defs и copies на базе tree-sitter, что позволяет агенту работать с программной структурой напрямую, а не через текстовый поиск.

Команда Hugging Face подчеркивает, что relore не привязан к конкретному проекту. Инструмент работает с любым GitHub-репозиторием и распространяется под лицензией Apache-2.0. Сейчас он используется внутренне в нескольких проектах компании, включая Transformers, для помощи агентам при ревью патчей и расследовании багов. Код и документация доступны на GitHub.