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

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

Как работает агент

Что происходит после вашего сообщения, как читать ленту чата, как остановить агента и что он делает сам, а о чём спрашивает.

Агент — главная часть DevMachine. Вы пишете задачу в чат, агент читает проект, меняет файлы, запускает команды и рассказывает, что сделал. Правки сразу попадают на диск, а экран «Изменения сессии» показывает все правки текущего чата. Открывает его кнопка с тем же названием в верхней панели окна, а если её там нет, она в меню «Другие инструменты». На этом экране любой файл можно откатить, подробнее — на странице Изменения сессии и откат.

Как открыть чат

Чат стоит в центре окна. Открытый файл занимает место чата, а в правой колонке вместо «Задач» появляется вкладка «Агент» с тем же разговором. Когда вы закроете последнюю вкладку редактора, чат вернётся в центр. Место чата можно поменять в «Настройки → Расположение панелей», подробнее — на странице Окно приложения.

  • Новый чат — кнопка «Новая сессия» над списком чатов, команда /new или ⌘ N. На Windows и Linux в раскладке по умолчанию — Alt Insert, в раскладке VS Code — Ctrl N. Чат и сессия — одно и то же: каждый чат — отдельная сессия агента со своей историей (Чаты).
  • В пустом чате написано «Опишите задачу агенту», а ниже — готовые задачи. Если щёлкнуть по задаче, её текст появится в поле ввода, но не отправится: его можно поправить.
  • Без проекта. На стартовом экране есть кнопка «Начать без проекта», а при самом первом запуске приложение сразу открывает такой чат. Файлы агент складывает в ~/DevMachine/Default. Если на компьютере есть git, приложение делает эту папку git-репозиторием. Тогда, если отменить запрос, файлы тоже вернутся к прежнему виду. Как отменить запрос — на странице Изменения сессии и откат, о чате без проекта — в разделе Проекты.

Как пользоваться

  1. Опишите задачу в поле ввода и нажмите Enter. Лучше сразу написать, что сделать, где и как проверить результат.
  2. Следите за лентой: агент пишет, что делает, и каждое действие идёт отдельной строкой.
  3. Если агенту нужно ваше решение, над полем ввода появится карточка. Ответьте, и агент продолжит.
  4. Когда агент закончит, проверьте правки в «Изменениях сессии» и сделайте commit кнопкой «Commit…» на том же экране.

Ход агента

Одно ваше сообщение запускает ход. За ход агент делает много шагов: читает файлы, ищет, правит, запускает команды, проверяет результат. Ход кончается, когда задача сделана, когда агенту нужно ваше решение или когда вы его остановили. Пока сообщение уходит, в ленте видно, на каком оно этапе: «Открываю сессию…», «Передаю агенту…».

Под последним сообщением стоит строка с состоянием хода:

СтрокаЧто это значит
«Агент работает»Ход идёт. Рядом — сколько времени прошло.
«Ждёт вашего решения»Агент просит разрешения. Карточка — над полем ввода.
«Ждёт ваших ответов»Агент задал вопросы.
«Ждёт повтора»Запрос к модели не прошёл, агент повторит его сам. Причина — в списке чатов, под названием чата. Если повторы не помогут, ход завершится с ошибкой.
«Ход завершился с ошибкой»Есть кнопки «Повторить ход» и «Подробности».
«Ход остановлен вами»Вы остановили агента.

Пока проверка после правок падает, агент не пишет «готово». Он разбирается, что упало, и либо чинит, либо прямо говорит, что проверка не прошла.

Как читать ленту

  • Ваши сообщения идут без подписи и аватара. Время отправки появится, если навести на сообщение курсор.
  • Ответ агента — обычный текст с форматированием. У блока кода есть кнопка «Скопировать блок кода», а у команды оболочки — ещё «Выполнить в терминале»: команда запустится во встроенном терминале, в папке чата.
  • «Рассуждения» — размышления модели. Они свёрнуты, полностью их открывает кнопка «Показать рассуждение целиком».
  • Строки действий — по одной на каждое действие агента. Несколько действий подряд сворачиваются в сводку: «прочитал 5 файлов», «изменил 3 файла», «4 команды», «1 с ошибкой». Раскройте строку, чтобы увидеть вывод команды или дифф правки.
  • Карточки — решения, которых ждёт агент: разрешения, вопросы, готовый план. Они стоят над полем ввода и видны, даже если вы ушли в редактор или в ревью.
  • «Ходы сессии» — полоска слева вверху ленты, по чёрточке на каждое ваше сообщение. Наведите на неё курсор — появится список. Щёлкните, чтобы перейти к нужному месту.
  • «К концу чата» — кнопка со стрелкой вниз. Она возвращает к последнему сообщению.

Самые частые строки действий:

СтрокаЧто сделал агент
«Прочитан 1 файл», «Прочитано 4 файла»Прочитал файлы проекта.
«Изменён», «Создан»Поправил файл или создал новый.
«Поиск»Искал по проекту.
«Выполняется», «Выполнено»Запустил команду. Упавшая команда отмечена красным значком.
«Поиск в сети», «Открыто»Искал в интернете или открыл веб-страницу.
«Определение», «Ссылки», «Вызовы»Переходил по коду: где объявлено, где используется.
«Субагент»Поручил часть работы помощнику.
«Навык»Воспользовался навыком.
«План обновлён»Обновил список шагов.
«Сгенерировал изображение»Нарисовал картинку по описанию.
«Отклонено вами», «Запрещено», «Запрещено политикой безопасности агента»Действие не выполнено.

Под полем ввода

Справа под полем ввода стоят три переключателя:

  • модель и уровень рассуждений — какая модель отвечает и насколько глубоко думает (Модели);
  • режим агента — как часто агент спрашивает разрешения (Режимы агента);
  • кружок контекста — сколько занято в памяти модели и сколько потрачено (Контекст и расход).

Как остановить агента

  • Нажмите круглую кнопку «Остановить» в поле ввода. Она видна, пока агент работает.
  • Или введите команду /stop.
  • Или нажмите ⌘ F2 (Windows и Linux: Ctrl F2). В раскладке VS Code — ⇧ F5 (Windows и Linux: Shift F5).

В ленте появится «Ход остановлен вами». Всё, что агент успел записать, остаётся на диске. Чтобы продолжить, напишите новое сообщение. Чтобы убрать сделанное, отмените запрос — как это сделать, читайте на странице Изменения сессии и откат.

Примечание

Так работает обычная остановка: она прерывает один ход. Аварийная остановка выключает агента целиком вместе со всем, что он запустил. О ней — на странице Аварийная остановка.

Писать агенту можно и во время работы: сообщение дополнит текущую задачу, агент учтёт его на следующем шаге. Подробнее — в разделе Сообщения и вложения.

Что агент делает сам, а о чём спрашивает

Это зависит от режима чата. По умолчанию стоит режим «Авто»: в нём агент без вопросов правит и собирает проект, запускает тесты и работает с git на вашем компьютере. Перед рискованными и необратимыми действиями он спрашивает: например, прежде чем сделать push в защищённую ветку, запустить sudo, удалить файлы вне проекта, прочитать файлы .env, записать в базу данных, опубликовать пакет или установить навык. Кое-что закрыто для агента в любом режиме: например, ключи и пароли в домашней папке и менеджеры паролей.

Всё это — настройки по умолчанию. Их можно поменять в «Настройки → Безопасность агента → Действия». Как устроены режимы, читайте на странице Режимы агента. Как отвечать на карточки — в разделе Разрешения и вопросы, где агент может работать — на странице Ограничения агента.

Ограничения

  • Каждый запрос к модели идёт через сервер DevMachine. Если сервер не отвечает, внизу левой колонки появится карточка «Сервер не отвечает»: чаты, файлы и git работают как обычно, а агент ответит, когда связь вернётся. Что делать, если связь не возвращается, — на странице Если что-то не работает.
  • Каждый ход тратит лимит тарифа. Сколько потратила сессия, видно в кружке контекста (Тарифы).
  • В проекте на сервере агент работает на сервере, а не на вашем компьютере (Проект на сервере).

Что дальше

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