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

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

Разрешения и вопросы агента

Карточки, где агент просит разрешения или задаёт вопрос: что на них написано, что значит каждая кнопка и как отозвать «Больше не спрашивать».

Когда агенту нужно ваше решение, он останавливается и показывает карточку над полем ввода. Карточка появляется в двух случаях: агент просит разрешения на действие или задаёт вопрос. Пока вы не ответите, работа стоит. На этой странице — как устроены карточки и где их искать, если вы в другом окне.

Где видно, что агент ждёт

Отвечаете на карточке над полем ввода. Остальные места только показывают, что агент ждёт, и ведут к ней.

  • Над полем ввода — сами карточки. Они видны и в чате, и в редакторе, и в «Изменениях сессии». В ленте на их месте остаётся строка с действием, которое ждёт решения.
  • В шапке окна — кнопка «Нужно решение · 1» или «Нужны решения · 3». Нажмите её, чтобы перейти к чату, который ждёт решения.
  • В списке чатов под названием чата — «Ждёт решения: …» или «Агент задал вопрос».
  • Под лентой — кнопка «Ждёт вашего решения · N ↑», если карточка скрылась из виду.
  • Системное уведомление о новом решении приходит, только когда окно DevMachine не в фокусе. Щёлкните по уведомлению, и откроется нужный чат. На macOS число ждущих решений видно и на значке приложения в Dock.

Примечание

Когда агент заканчивает работу, уведомление не приходит. Закончил ли он, видно по статусу чата в списке, например «К ревью».

Карточка разрешения

Из заголовка видно, о чём просит агент: «Разрешить команду?», «Разрешить правку?», «Разрешить доступ вне проекта?», «Выполнить команду вне песочницы?», «Разрешить доступ в сеть?», «Запустить субагента?», «Изменить библиотеку навыков?», «Разрешить инструмент интеграции?», «Разрешить действие?».

На карточке:

  • сама команда или действие;
  • где оно выполнится: в проекте или вне его;
  • метки риска справа:
    • «Разрушительная» — команда, например, удаляет файлы или стирает данные;
    • «Вне проекта» — действие выходит за папку проекта;
    • «Полный доступ к компьютеру» — команда выполнится вне песочницы. Песочница — средство операционной системы, которое не даёт командам агента писать вне разрешённых папок и ходить в сеть мимо списка (Ограничения агента);
    • «Секреты» — агент просит прочитать .env и ключи проекта;
  • правило, из-за которого агент спрашивает, и его ступень, например «… · Спрашивать всегда». У каждого действия одна из четырёх ступеней: «Запрещено», «Спрашивать всегда», «Спрашивать в Авто», «Без вопросов»; с какой ступени агент спрашивает, зависит от режима (Режимы агента). Под правилом — как было бы в другом режиме: «Спросит в любом режиме» или «В режиме Полный это выполнится без вопроса».

Кнопки

КнопкаКлавишаЧто произойдёт
«Разрешить»EnterАгент выполнит это действие один раз.
«Запретить»EscДействие не выполнится. В ленте у строки появится отметка «Отклонено вами».

Клавиши действуют на первую карточку, если курсор не стоит в поле ввода и не открыт другой диалог. Так случайный Enter не разрешит того, чего вы не хотели.

«Больше не спрашивать»

Отметьте «Больше не спрашивать для таких команд», и ниже появится выбор «Как долго не спрашивать»:

ВариантГде действует
«Всегда» (по умолчанию)Во всех чатах этого проекта и во всех рабочих копиях (git worktree) его репозитория, например в копиях проекта для задач. Сохраняется после перезапуска. В другом проекте агент спросит снова, в том числе в отдельном клоне репозитория в другой папке.
«В этом чате»Только в этом чате и только пока приложение открыто.

Отметка «Больше не спрашивать» не отменяет запретов организации, правил проекта и самых опасных правил.

Некоторые действия приходится разрешать каждый раз отдельно: запись в базу данных, логи пода на кластерах prod, секреты кластера, изменения на кластерах stage и prod, консольные клиенты облаков, планировщик crontab. Галочки «Больше не спрашивать» у них нет. Что агенту можно делать с каждой базой, кластером и брокером сообщений, задаёт уровень доступа на вкладке «Подключения» в «Настройки → Безопасность агента». Об уровнях доступа — страница Доступ к базам, кластерам и очередям.

Карточки «На задачу» и «Для проекта»

Таких карточек две:

  • «Агент просит адрес» — сеть агента ограничена списком, а ему нужен адрес не из списка. Под заголовком написано, зачем ему этот адрес.
  • «Агент просит файлы с секретами проекта» — агент хочет прочитать .env и ключи проекта. Ключи известных форматов модель не увидит, что бы вы ни ответили.

Кнопки у обеих одни и те же:

КнопкаЧто произойдёт
«На задачу» (Enter)Разрешено в этом чате, пока приложение открыто.
«Для проекта»Разрешено для проекта, пока вы не уберёте разрешение в «Настройки → Безопасность агента».
«Отклонить» (Esc)Не разрешено.

Данные другой программы на macOS

На карточке «Агент просит данные другой программы» написаны название программы и причина. Кнопки — «Продолжить» и «Отмена». Если нажать «Продолжить», macOS сама спросит, разрешить ли доступ: ответьте в системном окне.

Вопросы агента

Вопрос приходит на карточке «Агент спрашивает» с подписью «Работа на паузе, пока вы не ответите».

  1. Выберите вариант ответа. Если написано «можно несколько», выберите несколько.
  2. Или напишите свой ответ в поле «Свой вариант…».
  3. Нажмите «Ответить» (Enter). Если вопросов несколько, кнопка заработает, когда вы ответите на все: вверху видно, на сколько вы уже ответили, например «2 из 3».

Кнопка «Пусть решит агент» отправляет агенту ответ: «Решите сами — на ваше усмотрение, и продолжайте». Esc на карточке вопроса делает то же самое.

В ленте вопросы остаются в виде диалога: «Агент задал 2 вопроса», ваши ответы и отметка «без ответа» там, где вы не ответили.

В режиме «План» приходит своя карточка — «План готов».

Решения субагентов

Субагенты не спрашивают вас отдельно. Их карточки приходят в чат, который их запустил, с подписью «Субагент «…» ждёт вашего решения» или «… ждёт вашего ответа». В списке чатов — «Субагент ждёт решения: …». Отвечайте на них так же, как на обычные карточки.

Как отозвать «Больше не спрашивать»

  1. Откройте «Настройки → Безопасность агента», вкладку «Исключения».
  2. В блоке «Запомненные ответы» найдите ответ. У каждого видно, сколько раз он сработал и когда в последний раз.
  3. Нажмите «Отозвать» или «Отозвать все».

Отозванный ответ перестаёт действовать сразу: агент снова спросит и в этом чате, и в новых. Перезапускать ничего не нужно.

Сколько будет вопросов

Число вопросов зависит от режима чата. В «Авто» агент спрашивает перед рискованными и необратимыми действиями, в «Полном» — только перед самыми опасными (Режимы агента). Ступень каждого действия можно поменять в «Настройки → Безопасность агента → Действия» (Ограничения агента).

Ограничения

  • Если включён доступ с телефона, с телефона можно разрешить действие один раз и ответить на вопрос, но не поставить «Больше не спрашивать». Действия, которые приходится разрешать каждый раз отдельно, разрешаются только за компьютером.
  • Карточки субагентов приходят только в тот чат, который их запустил.

Что дальше

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