Глава 05
Архетипы репозитория
Прежде чем изменить хотя бы одну строку кода, агент принимает одно решение, которое определяет всё дальнейшее: что это за репозиторий? Архетип, который он выводит, задаёт границу, в рамках которой он будет рассуждать на протяжении всей работы: как проходит онбординг, насколько далеко простирается план и где хранится состояние. Ошибитесь — и агент очертит работу на неверной поверхности, что является самой распространённой причиной дрейфа на долгосрочных задачах. Определите правильно — и агент сможет работать автономно часами, потому что планы, онбординг и состояние будут соответствовать реальной форме кода.
DWP распознаёт два архетипа. Большинство репозиториев относятся к первому; второй существует для команд, которые координируют многих.
Отдельный репозиторий
самодостаточная кодовая база
Оркестратор-хаб
координирует подрепозитории
Отдельный репозиторий
Самый распространённый случай: самодостаточная кодовая база — приложение, библиотека или сервис. Есть одна связная поверхность для рассуждений, поэтому планы работают непосредственно над кодом в репозитории, а онбординг читает собственную структуру и соглашения репозитория. Агент держит всю кодовую базу в своём контексте и работает с ней от начала до конца.
Характеристики:
- Единая целостная кодовая база.
- Планы изменяют файлы в этом репозитории.
- Рабочее пространство
.dwp/живёт в корне репозитория.
Хаб-оркестратор
Координирующий случай: репозиторий, задача которого — управлять другими репозиториями. Здесь единица работы — не файл, а дочерний репозиторий, поэтому планы могут порождать дочерние планы в суб-репозиториях, а онбординг читает реестр управляемых репозиториев хаба, а не единую кодовую базу. Агент рассуждает о границах и передаче управления — какой репозиторий владеет какой работой и как их состояние остаётся согласованным.
Характеристики:
- Координирует несколько суб-репозиториев.
- Планы могут делегировать дочерним планам.
- Ведёт реестр управляемых репозиториев.
- Рабочее пространство
.dwp/в корне хаба отслеживает межрепозиторное состояние.
Эвристика классификации
Два архетипа выглядят по-разному на диске, и агент выбирает между ними по признакам, которые может проверить — а не по ярлыку, который ему сообщают. Дерево решений ниже показывает путь; вкратце: считать репозиторий хабом-оркестратором следует только тогда, когда свидетельства это требуют, а в остальных случаях — отдельным репозиторием.
Индивидуальный репозиторий
- единая кодовая база
- планы изменяют локальные файлы
- .dwp/ в корне репозитория
Хаб-оркестратор
- координирует подрепозитории
- планы делегируют дочерним планам
- состояние .dwp/ между репозиториями
Агенту следует классифицировать репозиторий как хаб-оркестратор, когда он обнаруживает несколько вложенных git-репозиториев или субмодулей, реестр или манифест управляемых репозиториев либо конфигурацию, указывающую на внешние репозитории. В отсутствие этих признаков он считает репозиторий отдельным репозиторием — это безопасное умолчание, поскольку расширить план за пределы несуществующих границ хуже, чем работать в рамках существующих.
Чем различается онбординг
Архетип — это не косметический ярлык; он меняет то, что агент читает, что план может затрагивать и где фиксируется состояние.
| Аспект | Отдельный | Оркестратор |
|---|---|---|
| Границы | Этот репозиторий | Несколько репозиториев |
| Онбординг | Структура репозитория | Реестр хаба |
| Цель плана | Локальные файлы | Дочерние планы |
| Состояние | Локальный .dwp/ |
Межрепозиторный .dwp/ |
Практический эффект в том, что агент отдельного репозитория рассуждает об одной кодовой базе от начала до конца, тогда как агент-оркестратор рассуждает о координации — какой дочерний репозиторий владеет какой работой и как межрепозиторное состояние остаётся согласованным.
Именно это позволяет агенту работать автономно часами без присмотра: правильное определение архетипа очерчивает планы, онбординг и состояние по нужной границе, так что каждая задача — с первой до последней — выполняется на верной поверхности.