Документация

Документация/Агент

Flow

Flow — способ работы агента DevMachine: уточнить задачу, спланировать, написать тест раньше кода и проверить результат, прежде чем сказать «готово». Что он меняет и как его выключить.

Flow — способ работы, который DevMachine задаёт агенту по умолчанию: уточнить задачу, спроектировать решение, составить план, написать тест раньше кода и проверить результат, прежде чем сказать «готово». Flow устроен как модуль — набор инструментов, инструкций и навыков агента для одной области. У Flow из такого набора есть инструкции и навыки; навык объясняет агенту, как делать конкретную работу. В папках с кодом Flow включён сам, в остальных его можно включить вручную.

Что меняет Flow

С Flow агент ведёт задачу как аккуратный разработчик:

  1. Уточняет. Перед новой функцией или переделкой агент задаёт вопросы — по одному, обычно на карточке с готовыми вариантами ответа. Потом предлагает решение по частям и ждёт, пока вы согласитесь.
  2. Планирует. Пишет план по шагам. Шаги видны в плашке плана над лентой.
  3. Делает по плану. Крупный план агент может раздать субагентам: каждый шаг делает помощник, потом шаг проходит проверку. Пока один шаг на проверке, следующий уже в работе, если не зависит от предыдущего.
  4. Сначала тест. Для новой функции или исправления агент сначала пишет падающий тест, а потом код, с которым этот тест проходит.
  5. Ищет причину. Если что-то сломано, агент выясняет, почему, и не обходит ошибку заглушкой.
  6. Проверяет перед «готово». Прежде чем сказать, что работа сделана, агент запускает проверки и пишет, какую команду выполнил и что она вывела. Сервер или приложение вдобавок к тестам запускает и пробует в деле.
  7. Просит ревью. Готовую работу агент отдаёт на проверку субагенту и разбирает его замечания.
  8. Коммитит по этапам. В конце каждого этапа агент делает коммит: закончил задачу, прошёл ревью, перешёл к другой части проекта.
  9. Спрашивает перед действиями вне проекта: sudo, глобальной установкой, сменой прав в системных папках.

Без Flow агент умеет всё то же самое, но сам такого порядка не держится. Делает то, о чём вы попросили, и так, как сочтёт нужным.

Примечание

Flow не входит в переключатель режимов и работает вместе с выбранным режимом. Режим решает, о чём агент спрашивает разрешения (Режимы агента), а Flow — в каком порядке агент работает. В режиме «План» с Flow агент сначала задаёт вопросы и предлагает решение, а потом пишет план.

Когда Flow включён

  • В папке с кодом — включён. Папка с кодом — это git-репозиторий, конфигурация 1С или папка, где есть хотя бы один файл сборки (например, package.json, go.mod, pom.xml) или файл с исходным кодом. Такие файлы приложение ищет в самой папке и во вложенных папках первого уровня.
  • В остальных папках — выключен. Например, в пустой папке или в папке с документами и таблицами. Для такой папки в «Модулях» написано: «В этой папке нет кода, поэтому Flow по умолчанию выключен. Включите, если пишете здесь код.»

Если приложение определило папку неверно, переключите Flow вручную по шагам ниже. Ручной выбор приложение запоминает для текущего проекта и больше не проверяет, что в папке появилось или пропало. Включили Flow — останется включённым, выключили — выключенным.

Как включить или выключить

  1. Откройте настройки: нажмите шестерёнку в верхней панели окна или ⌘ ,. На Windows и Linux — Ctrl Alt S в раскладке по умолчанию или Ctrl , в раскладке VS Code.
  2. В группе «Что умеет агент» выберите «Модули».
  3. Найдите строку Flow с описанием «Способ работы агента: уточнить, спроектировать, спланировать, сначала тест, проверка. Базовое поведение DevMachine.»
  4. Переключите Flow. Если приложение попросит подтвердить, подтвердите.

Изменение подействует в новых чатах. Чтобы применить его к открытому чату, нажмите «Применить к открытой сессии» в сводке вверху раздела — подробнее на странице Модули.

Сколько это стоит

Инструкции Flow уходят модели с каждым запросом, поэтому каждый запрос получается немного больше. Сколько токенов добавляет Flow и какая это доля лимита, видно в «Модулях»: нажмите «Подробно: токены и расход за 7 дней» под строкой модуля. Обо всех модулях — на странице Модули.

Ограничения

  • Организация может запретить модуль. Тогда в строке модуля написано «Запрещён организацией», и включить его нельзя (Организации).
  • Модули выбираются на весь чат при первом запросе. Чтобы изменение подействовало, начните новый чат или примените его к открытой сессии.
  • Работу целиком — проектирование, план, раздачу задач и ревью — ведёт основной агент чата: навыки для этого только у него. Субагент выполняет одно поручение. Так приложение работает само, настраивать ничего не нужно.

Что дальше

Обновлено · Нашли неточность? Напишите на support@devmachine.ai или в Telegram.