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

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

Изменения сессии, откат и ветвление чата

Как проверить правки агента и откатить файл, как отменить запрос вместе с его правками и отправить исправленным и как разветвить чат.

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

«Изменения сессии»

Экран собирает по файлам все правки агента в этом чате. Наверху написано: «Правки агента уже на диске. Проверьте их, при необходимости откатите файл и сделайте commit.»

Как открыть

  • Кнопка «Изменения сессии» в верхней панели окна. Если её там нет, она в меню «Другие инструменты».
  • Команда /diff.
  • ⌘ 0 (Windows и Linux: Alt 0). В наборе VS Code сочетания для этого экрана нет.

Отдельную правку можно посмотреть и прямо в ленте: стрелка у строки «Изменён» или «Создан» раскрывает дифф под ней.

Как читать дифф

Переключатель «Код» / «Поведение» меняет вид диффа. «Код» показывает изменения построчно. «Поведение» собирает их в группы по смыслу и оценивает риск: «Высокий риск», «Средний риск», «Низкий риск». Эту сводку приложение считает на вашем компьютере, без модели. Подробнее — на странице Дифф «Код / Поведение».

Что можно сделать

КнопкаЧто делает
«Откатить» у файлаВозвращает файл таким, каким он был до агента. Появится сообщение «… возвращён к виду до агента».
«Отметить проверенным»Помечает правки как проверенные. Вместо этой кнопки, «Запросить правки» и «Commit…» появятся «Проверено», время пометки и кнопка «Отменить». В списке чатов статус сменится с «К ревью» на «Проверено».
«Запросить правки»Возвращает в чат, где в поле ввода уже есть заготовка. Допишите, что исправить, и отправьте.
«Commit…»Открывает окно коммита со всеми рабочими изменениями проекта, включая правки других чатов (Git).

«Откатить» стоит в заголовке каждого файла и возвращает только этот файл. Чтобы вернуть разом все правки запроса, отмените запрос. Прежний вид файла приложение берёт из диффа сессии, а дифф агент собирает из снимков, которые хранит только в проекте под git. Без git экран пуст: откатывать нечего.

«Отменить» снимает пометку и возвращает статус «К ревью». Агента пометка не останавливает и остаётся даже после его новых правок.

Когда файл не откатывается

Приложение откажется откатывать файл и назовёт причину, если:

  • файл изменился после правки агента: при откате эти изменения пропали бы;
  • файла больше нет на диске;
  • файл, который удалил агент, снова есть на диске;
  • файл лежит вне проекта.

Отменить запрос, поправить и отправить снова

Если агент понял задачу не так, отмените запрос целиком, поправьте его и отправьте снова.

  1. Наведите курсор на своё сообщение и нажмите значок «Отменить запрос и вернуть его в поле ввода». Для последнего сообщения то же делает команда /undo.
  2. Если агент ещё работает, он остановится.
  3. Чат откатится до этого сообщения: этот ход и все следующие исчезнут, а файлы, которые агент в них изменил, вернутся к прежнему виду.
  4. Текст сообщения и его цитаты вернутся в поле ввода. Исправьте текст и отправьте.

Появится сообщение «Запрос отменён — его текст снова в поле ввода» с кнопкой «Вернуть». Кнопка возвращает отменённые ходы вместе с правками в файлах, команда /redo делает то же самое. Вернуть отменённое можно, пока вы не отправили в этот чат новое сообщение, даже исправленный запрос. После отправки отменённые ходы пропадут насовсем.

Важно

Файлы откатываются, только если проект под git. Иначе откатится одна переписка, а приложение покажет: «Файлы не откатаны: проект не под git, и агент не хранит снимков.» Файлы чатов «Без проекта» лежат в домашней папке, в DevMachine/Default. Эту папку приложение создаёт само для задач без кода и, если на компьютере есть git, делает её git-репозиторием. Тогда файлы в ней откатываются (Проекты).

Ветвление чата

Ветвление создаёт новый чат с частью переписки. Исходный чат не меняется.

ГдеЗначокЧто получится
У вашего сообщения«Новый чат с перепиской до этого запроса — его текст вернётся в поле ввода»Новый чат без этого запроса. Текст запроса ждёт в поле ввода: поправьте его и отправьте.
У ответа агента«Новый чат с перепиской до этого ответа включительно»Новый чат, который продолжается с этого места.
Команда /fork—Копия всего чата.

После ветвления откроется новый чат и появится сообщение «Открыта копия чата».

Ветвится только переписка. Файлы проекта не копируются: оба чата работают в одной папке. Чтобы агенты в разных чатах не мешали друг другу, включите отдельную копию проекта на задачу.

Если ход завершился с ошибкой

Под ходом с ошибкой есть кнопки «Повторить ход» и «Подробности». Что значат частые ошибки, читайте на странице Контекст, сжатие и повторы.

Ограничения

  • /redo и «Вернуть» работают только до следующего сообщения.
  • После отмены запроса в поле ввода возвращается только текст, без вложений. Прикрепите файлы снова.
  • «Commit…» на экране изменений берёт все рабочие изменения проекта, в том числе правки других чатов. В окне коммита отмечены все файлы: снимите флажки с лишних (Git).
  • Если включена отдельная копия проекта на задачу, правки агента лежат в этой копии. В самом проекте их нет (Задача в отдельной копии).

Что дальше

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