AI-агент получил пустой проект: как VECTA решает проблему незакоммиченного кода
AI-агент получил пустой проект: как VECTA решает проблему незакоммиченного кода Автор разрабатывает VECTA — рабочее пространство для проектов и задач, где AI-агент выполняет работу на подключённом компьютере, а человек управляет задачей через desktop или браузер, в том числе с телефона. Продукт находится в закрытом тестировании. Поводом для разбора стал реальный сбой: во время проверки агент получил практически пустой проект, хотя файлы в исходной папке были и пользователь ожидал, что агент начнёт с ними работать. Причина оказалась не в модели: в репозитории был пустой начальный коммит, а файлы ещё не попали в Git. Рабочая копия задачи создавалась из HEAD — последнего коммита, поэтому с точки зрения Git всё было правильно, но с точки зрения пользователя инструмент «потерял» проект. Автор показывает, что проблема воспроизводится обычными командами Git без VECTA: worktree из коммита не содержит незакоммиченные файлы. Решение в VECTA: для новой задачи готовится снимок текущих допустимых файлов — tracked-файлы с рабочим содержимым и неигнорируемые untracked-файлы, при этом исходные файлы, staging area и ветка пользователя сохраняются. Этот снимок становится baseline задачи: если человек до запуска агента сам что-то поменял, его изменения не попадут в diff работы агента. При возобновлении задачи снимок заново не создаётся — иначе свежая исходная папка могла бы затереть уже сделанную агентом работу. VECTA использует обычные механизмы Git, но добавляет в репозиторий свои объекты и ссылки. Копирование ограничено: в исходной папке могут быть.env, ключи и символьные ссылки, поэтому есть исключения для чувствительных путей, проверки типов файлов и лимиты размера. Пользовательские Git-фильтры не поддерживаются, потому что они способны выполнять команды. Это не универсальный поиск секретов — токен в обычном config.ts по имени файла не распознать. Есть и цена совместимости: исключённые зависимости не появляются в новой папке автоматически, а репозиторию нужен начальный коммит. Система построена из трёх слоёв: общий интерфейс desktop и web, API с проверкой доступа и серверным состоянием, и runner на выбранном компьютере, который готовит рабочую копию и запускает агента. Слабый ноутбук или телефон могут управлять работой, но выполнение остаётся на выбранной машине — она должна быть включена, runner работать, а сеть быть доступной. При переподключении клиент передаёт курсор последних событий, и сервер выдаёт сохранённые события после него, снова проверяя права: переданный клиентом идентификатор не считается подтверждением доступа. Автор отдельно оговаривает границы. Worktree — не песочница: он разделяет файлы задач, но не изолирует операционную систему, а диалог «разрешить» не превращается в sandbox. Денежные и токенные лимиты задач работают только для поддерживающих их агентов (например, Claude Code) и не гарантируют счёт до цента — провайдер может сообщить расход с задержкой. Режим VECTA Cloud пока ограничен диалогами и созданием текстовых файлов, а локальное выполнение не означает, что данные не покидают машину. Приёмка результата остаётся за человеком: diff, результаты проверок и просмотр сценария в браузере собраны рядом с задачей, но сообщение модели «тесты прошли» не заменяет фактический запуск. Подготовка рабочей копии покрыта регрессионными тестами на реальных временных Git-репозиториях, однако автор не измерял ускорение относительно Orca, Cursor или связки SSH с tmux и не проводил нагрузочных тестов совместной работы. Сравнительных замеров производительности у него пока нет. Источник: https://habr.com/ru/articles/1083542/