Relace Repos — это система контроля версий, созданная с расчетом на то, что её основными пользователями будут ИИ-агенты. Она полностью совместима с git, поддерживает высокочастотные операции чтения/записи и глубоко интегрирована с моделями Relace.
Поскольку всё большая часть кода пишется автономными агентами, для их поддержки необходимо создавать новую категорию инструментов разработки. Мы начали с системы контроля версий.
GitHub для агентов
ИИ-агенты пишут код принципиально иначе, чем люди. Им требуется на порядки более высокая пропускная способность для операций с файловой системой, и они вообще не взаимодействуют с визуальными интерфейсами.
Для безопасного выполнения вызовов инструментов агенты также работают в кратковременных «песочницах», защищенных от атак путем внедрения кода. Правильная сегментация пользователей требует оснащения каждой «песочницы» набором детальных прав доступа к репозиториям, которые она может редактировать.
Традиционные системы контроля версий, такие как GitHub, не создавались с учетом таких моделей использования. GitHub разработан для поддержки развитого пользовательского интерфейса, устанавливает корпоративный лимит в 100 тысяч репозиториев на организацию и ограничивает количество запросов на операции clone/push/pull до 15 тысяч в час.
Мы создали Repos, чтобы сделать его удобным для агентских рабочих процессов:
- Нативные git-операции. Поддерживаются стандартные команды, такие как git clone, git commit и git push. Запустите «песочницу», клонируйте репозиторий и используйте команды git, чтобы синхронизировать исходный код по мере внесения изменений агентом.
Нативные git-операции. Поддерживаются стандартные команды, такие как git clone, git commit и git push. Запустите «песочницу», клонируйте репозиторий и используйте команды git, чтобы синхронизировать исходный код по мере внесения изменений агентом.
- Гибкие лимиты запросов. Поддержка высокочастотных git-операций при десятках одновременных запусков агентов. Мы сосредоточились на поддержании низкой задержки для критических операций, таких как clone, push и pull.
Гибкие лимиты запросов. Поддержка высокочастотных git-операций при десятках одновременных запусков агентов. Мы сосредоточились на поддержании низкой задержки для критических операций, таких как clone, push и pull.
- Безопасность, оптимизированная для «песочниц». Детальные права доступа к репозиториям с ограниченными API-ключами, разработанными для эфемерных контейнеров. Каждая «песочница» получает ровно тот уровень доступа, который ей необходим.
Безопасность, оптимизированная для «песочниц». Детальные права доступа к репозиториям с ограниченными API-ключами, разработанными для эфемерных контейнеров. Каждая «песочница» получает ровно тот уровень доступа, который ей необходим.
Поиск по кодовой базе
Контекстная инженерия всё чаще становится ключом к повышению производительности агентов. Люди разработали такие методы, как списки задач, выборочное сжатие контекста и рекурсивные языковые модели, и это лишь некоторые из них.
Однако, по сути, каждый агент по написанию кода всё равно должен просматривать базовую кодовую базу, чтобы найти файлы, наиболее релевантные запросу пользователя. В наших экспериментах только этот этап составлял более 50% использования токенов в агентских трассах.
Вы можете оснастить своего агента инструментом семантического поиска в качестве первого шага, чтобы направить последующий агентский поиск по наиболее релевантным узлам в дереве файлов. Сочетание этого с обычными инструментами просмотра файлов и grep значительно сокращает количество посторонних файлов, просматриваемых агентом.
Быстрый и точный семантический поиск, который остается синхронизированным по мере редактирования кода агентом, требует серьезной инфраструктуры. Repos абстрагирует эту сложность благодаря встроенному двухэтапному поиску.
Автоматическая индексация с помощью моделей Relace
Предварительное вычисление эмбеддингов кодовой базы и выполнение векторного поиска по запросу пользователя — это быстро, но не очень точно. С другой стороны, модели переранжирования (rerankers) обеспечивают лучшую точность, но требуют больших вычислительных затрат, поскольку стоимость поиска масштабируется вместе с размером кодовой базы.
Запуск модели переранжирования для всей кодовой базы означает, что вам нужно агрессивно ограничивать количество параметров модели, что влияет на производительность.
Лучший подход — это гибридная система, где векторный поиск используется для предоставления сокращенного набора файлов-кандидатов для модели переранжирования.
Создание такой системы сопряжено с рядом проблем:
- Модели эмбеддингов и переранжирования имеют жесткое ограничение на размер входных файлов, что означает, что большие файлы должны быть разбиты на части.
Модели эмбеддингов и переранжирования имеют жесткое ограничение на размер входных файлов, что означает, что большие файлы должны быть разбиты на части.
- Эмбеддинги должны храниться в векторной базе данных и поддерживаться в актуальном состоянии в соответствии с вашим исходным кодом.
Эмбеддинги должны храниться в векторной базе данных и поддерживаться в актуальном состоянии в соответствии с вашим исходным кодом.
- Вычисление эмбеддингов — медленный процесс; это означает, что он должен выполняться асинхронно, что создает потенциальные условия гонки.
Вычисление эмбеддингов — медленный процесс; это означает, что он должен выполняться асинхронно, что создает потенциальные условия гонки.
Relace Repos берет на себя всю эту сложность и позволяет нам использовать в 10 раз более крупные модели эмбеддингов и переранжирования при тех же затратах и задержках.
Что дальше?
Repos закладывает основу для нашей способности совместно оптимизировать наш набор небольших специализированных моделей для написания кода с инфраструктурой с низкими накладными расходами. До сих пор наши модели были сосредоточены на основных, неагентских возможностях.
В ближайшие несколько месяцев мы выпустим наш набор агентов Relace, обученных для выполнения комплексных задач, таких как быстрое перемещение по кодовым базам, автоматическое слияние конфликтов и интеллектуальный рефакторинг кода.
С помощью Repos эти субагенты будет так же легко интегрировать в агентские потоки с помощью команд, таких как repo.search(), repo.merge() и repo.refactor(). Мы считаем, что модели должны быть оптимизированы вместе с лучшей инфраструктурой, чтобы вывести «vibe coding» на новый уровень.
Если вы хотите начать работу с Repos, прочитайте подробнее в нашей документации или напишите на support@relace.ai.








