AITM хранит довольно много состояния локально, чтобы работать надёжно и помнить то, что он узнал о проектах. Ниже простым языком описано, что хранится и почему это важно.
Какие данные хранит AITM
Карта данных
| Что это | Где находится | Почему это важно |
|---|---|---|
| База данных проекта | Отдельный файл базы данных для каждого управляемого проекта | Содержит контракты и историю Task этого проекта — хранится отдельно для каждого проекта, поэтому данные одного проекта никогда не смешиваются с данными другого |
| Глобальная база данных | Одна общая база данных самого AITM | Содержит настройки всего приложения, подсказки, реестр переменных и другую конфигурацию, общую для проектов |
| Журналы выполнения Task | Папки журналов по проектам | Подробная построчная запись происходившего во время выполнения Task — полезна для отладки Task, которая вела себя неожиданно |
| Папки данных Task | Папки Task по проектам, по одной вложенной папке на номер Task | Содержат файлы результатов Task, метаданные и все снимки экрана, сделанные для неё — на этом основано представление Результаты и Archive |
| Worktrees | Временные checkout-копии Git, по одной на каждую выполняющуюся Task | Изолированная рабочая копия, которую фактически редактируют ИИ-агенты Task; создаётся при запуске Task и автоматически удаляется после слияния — см. Pipeline |
| Документы графа знаний | Автоматически создаваемые файлы документации | Читаемые человеком выгрузки контрактов и знаний о зависимостях, описанных в разделе Обмен знаниями; автоматически пересоздаются после каждого слияния |
Почему важно локальное сохраняемое состояние
Всё это — не случайный побочный учёт, а механизм, лежащий в основе всего, что рассматривается в других разделах этого руководства:
- База данных проекта позволяет контрактам, истории Task и поиску прецедентов сохраняться между сеансами и между Task, а не сбрасываться при каждом закрытии приложения.
- Папки данных Task делают Archive по-настоящему полезным журналом аудита, а не списком названий — каждый результат, снимок экрана и поле метаданных, которые там видны, считываются непосредственно из этих папок.
- Worktrees — это механическая основа гарантии изоляции, описанной в разделе Pipeline: поскольку каждая Task получает действительно отдельную файловую копию, незавершённая работа никогда не может случайно попасть в основную ветку.
- Документы графа знаний превращают "ИИ случайно что-то запомнил" в "у проекта есть долговременная, доступная для изучения запись его собственного поведения" — см. Обмен знаниями.
Как резервные копии баз данных защищены от неограниченного роста и тихой потери данных
Резервным копиям баз данных нужна собственная защита — иначе они могут либо заполнить диск, либо незаметно исчезнуть именно тогда, когда нужны больше всего. AITM хранит их по многоуровневой политике хранения и следит за их размером на предмет аномалий:
- Многоуровневое хранение — вместо одного жёсткого порога, который разом удаляет все резервные копии баз данных старше N дней (что могло бы уничтожить все копии за один раз, если пропущен один ежедневный запуск), AITM прореживает копии постепенно: оставляет несколько самых свежих ежедневных копий, несколько более старых копий с интервалом в несколько дней и одну ещё более старую еженедельную копию. В результате остаётся небольшой, но распределённый по времени набор точек восстановления, а объём хранилища резервных копий не растёт без ограничений.
- Оповещения об аномалиях размера — перед любой очисткой AITM сравнивает размер сегодняшней резервной копии базы данных со вчерашним. Значительное уменьшение (возможная потеря данных) или значительный неожиданный рост вызывает оповещение по электронной почте с указанием предыдущего размера, текущего размера и процентного изменения, так что об аномалии становится известно до того, как старая, здоровая копия была бы перезаписана или удалена.
- Проверяемая очистка инкрементальных (дельта) копий — инкрементальные резервные копии для восстановления старше 3 дней удаляются на постоянной основе, но только после того, как самая новая из сохраняемых копий в этой цепочке проверена на целостность. Если проверка не пройдена, очистка для этой базы данных прекращается, и ничего более старого не удаляется — так что одна повреждённая новейшая копия никогда не приведёт к каскадному удалению более старых, ещё исправных копий под ней.
Советы
- Код проекта никогда не изменяется вне Worktree — обычная рабочая копия остаётся нетронутой, пока выполняется Task.
- С компьютера ничего не отправляется наружу, кроме вызовов настроенного ИИ-провайдера.
- Эти локальные сохраняемые знания позволяют AITM со временем лучше работать с проектом, а не начинать с нуля в каждой Task.