AI: Цикл работы над задачей

graph LR
Req{Сбор требований} --> Decomp[Декомпозиция]
Decomp -.-> DecompDisc[Обсуждение]
DecompDisc -.-> Decomp
Decomp --> Exp1(Изучение)
Decomp --> Exp2(Изучение)
subgraph Scope 1
Exp1 --> Rsr(Поиск решений)
Rsr --> Spec[Спецификация]
Spec -.-> SpecDisc[Обсуждение]
SpecDisc -.-> Spec
Spec --> Plan[Планирование]
Plan -.-> PlanDisc[Обсуждение]
PlanDisc -.-> Plan

Plan --> Act1(Выполнение)
Plan --> Act2(Выполнение)

subgraph Task 1
Act1 --> Test1(Тест)
Test1 -- Не ок --> Act1
Test1 -- ОК --> Review1(Ревью)
Review1 -- Не ок --> Act1
end
subgraph Task 2
Act2 --> Test2(Тест)
Test2 -- Не ок --> Act2
Test2 -- ОК --> Review2(Ревью)
Review2 -- Не ок --> Act2
end
end

subgraph Scope 2
Exp2 --> Other2[...]
end

Review1 -- ОК --> Doc{Обновление документации}
Review2 -- ОК --> Doc
Other2 -- OK --> Doc
{ } - начало/завершение цикла, [ ] - участие человека, ( ) - автономная работа агента
Каждый этап стоит выполнять в отдельном чате/сессии/суб-агенте для изоляции и экономии контекста.


Этап 1: Сбор требований

Назначение: формализация входящих требований, снижение уровня шума и насыщение деталями.
Участники: человек + reasoning-модель.
Артефакт: requirements.md
Источником требований может быть ГДД, которое необходимо превратить в полноценное ТЗ.
Этот этап можно проводить отдельно от проекта, в т.ч. веб-чате.


Этап 2: Декомпозиция

Назначение: разделение комплексных задач на более мелкие, логически завершённые области работы.
Участники: человек + reasoning-модель.
Артефакт: requirements_1.md, requirements_2.md, ...
Декомпозицию стоит проводить до тех пор, пока Scope работ не станет посильным для успешного выполнения конкретным агентом в соответствии с  📬критериями .


Этап 3: Исследование области работы

Назначение: для отдельного Scope работ запросить у AI-агента полный анализ предметной области для составления "карты местности" и поиск возможных путей решения.
Участники: reasoning-модель.
Артефакт: rnd.md
Что включить в запрос:
  • Файл требований.
  • Ограничения.
  • Релевантные файлы и директории, которые потребуются для решения.
  • Описание приложенного контекста.
  • Ссылки на связанные документы.


Этап 4: Составление спецификации

Назначение: обсудить с LLM найденные варианты решений, получить полную картину по каждому, выбрать итоговый, обсудить все детали и нюансы, закрыть все возможные вопросы, сформировать дизайном системы по C4, сформулировать необходимые ADR, зафиксировать документ-спецификацию с полным описанием контекста для работы.
Участники: человек + reasoning-модель.
Артефакт: spec.md (+ ADRs)


Этап 5: Планирование

Назначение: разделить спецификацию на отдельные изолированные завершаемые задачи, распределить агентов-исполнителей, обозначить связи и задать порядок выполнения.
Участники: человек + reasoning-модель.
Артефакт: task-tracker.md, task-1.md , task-2.md, ...


Этап 6: Выполнение

Назначение: автономная работа над задачами с настроенным  ♻️Feedback Loop .
Участники: coding-model.
Артефакт: внесённые правки в кодовую базу.
Важно: обеспечение полной автономности при работе над задачей.
  • Агент должен знать, куда обращаться за получением информации.
  • Агент должен реализовывать тесты на генерируемую логику.
  • Агент должен уметь запускать тесты и получать результаты прогонов.
  • Агент должен уметь взаимодействовать с окружением для работы приложения.
  • Агент должен проводить изолированное код-ревью, итерации исправлений и рефакторинга после выполнения.
  • Агенту стоит документировать реализованное API.
  • Лучше использовать группу субагентов с заданными ролями: разработчик, тестировщик, ревьюер, тех. писатель.


Этап 7: Обновление документации

Назначение: фиксация прогресса по работе над задачами и обновление информации о проекте.
Участники: reasoning-model + coding-model.
Артефакт: внесённые правки в документацию.
Что обновляется:
  • Отчёт в файле задачи.
  • Отчёт в таск-трекер.
  • Генерация новой тех-документации.
  • Обновление существующей тех. документации.
  • Обновление правил для агента.