Резервирование файлов: Защита от конфликтов при работе нескольких ИИ-агентов в одном репо
Нескоординированная работа нескольких агентов приводит к потере кода. Разделение по веткам блокирует обмен контекстом. Решение — аренда путей к файлам под контролем сервера.
Запуск трех агентов в одном репозитории без правил приводит к перезаписи правок за считанные минуты. Изоляция по отдельным веткам не подходит для совместного создания новых приложений.
Недостатки работы в изолированных ветках
В отдельных ветках агенты не видят создаваемые коллегами типы данных и функции.
Конфигурационные файлы проекта получают неразрешимые конфликты слияния.
Живой предпросмотр отображает лишь часть создаваемого сервиса.
Слияние веток отнимает время разработчиков или сжигает токены.
Поэтому все агенты делят одну рабочую директорию.
Временная аренда без взаимоблокировок
Запрос на аренду содержит пути, ID агента, режим и срок действия.
Поддерживаются эксклюзивный режим (для записи) и совместный (для чтения с уведомлениями).
export interface ClaimDenial {
path: string;
holder: string;
holderTask: string;
expiresInS: number;
hint: string;
}Отказ моментально возвращает данные текущего владельца для переключения на другие задачи.
Аренда продлевается при реальных записях и освобождается при завершении процесса.
Дисциплина модели — это оптимизация; контроль сервера — гарантия безопасности.
Серверный мониторинг файловой системы
Сервер отслеживает каждую запись на диск и пресекает несанкционированные правки.
classifyWrite(rawPath: string, hintedAgentId?: string): WriteClassificationПри нарушении создается снимок состояния до применения изменений.
Агент-нарушитель останавливается, а законный владелец получает уведомление.
Точное авторство
Каждый Git-коммит автоматически привязывается к конкретному агенту, создавшему изменение.
Архитектура подробно описана в несколько ИИ-агентов в одном репозитории, а управление удаленными терминалами — в наблюдение за удаленным терминалом.
Прямые ответы
Могут ли несколько ИИ-агентов одновременно работать в одном репозитории?
Да, при наличии механизма арбитража записей. В Murmell агенты резервируют пути перед внесением правок.
Почему не выделить каждому агенту отдельный worktree?
Это мешает агентам видеть свежие наработки друг друга, порождая дублирование кода и тяжелые конфликты слияния.
Правило резервирования контролируется сервером или промптом?
Контролируется непосредственно сервером на уровне файловой системы.