Перейти к основному содержанию
Редактор файлов Kazzle имеет два слоя: обычный текстовый редактор для ваших изменений и наложение diff для изменений AI.

Как появляются редактирования AI

Когда AI редактирует файл, изменения отображаются зелёными (добавленные) и красными (удалённые) строками в редакторе. Каждый изменённый регион — это одно редактирование, на которое вы можете воздействовать. Пока AI выполняет потоковую передачу, вы видите редактирование в реальном времени с подсветкой синтаксиса. После завершения представление переключается на полный diff.

Принятие и отклонение редактирований

Каждое редактирование имеет плавающую панель с кнопками Keep и Undo.
  • Keep принимает изменение. Оформление исчезает, содержимое остаётся.
  • Undo отменяет изменение. Текст AI заменяется на исходный.
Редактирования независимы. Вы можете принять одни изменения и отменить другие в одном файле. Когда все редактирования в файле разрешены, редактирование файла автоматически разрешается. Ожидающие регионы diff доступны только для чтения до тех пор, пока вы не нажмёте Keep или Undo. Это предотвращает редактирование внутри региона, который только что изменил AI, что могло бы нарушить Undo.

Массовое принятие и отклонение

Панель File edits потока позволяет принять или отклонить все ожидающие редактирования для этого потока одновременно.

Отмена по сообщению

Каждый ответ AI имеет кнопку Revert. Нажатие на неё восстанавливает все файлы в их состояние до этого ответа и удаляет последующие сообщения. Если другие потоки имеют ожидающие изменения в одних и тех же файлах, вы увидите предупреждение перед продолжением.

Снимки состояния

Перед каждым ходом AI Kazzle сохраняет предыдущее содержимое файла в облачное хранилище. Эти снимки состояния обеспечивают отмену по сообщению: нажатие Revert читает старое содержимое из снимка и записывает его обратно. Снимки состояния экономны по хранилищу. Они охватывают только файлы облачной машины, а не изменения базы данных, развёрнутые приложения или внешние вызовы API.

Перекрытие между потоками

Когда новое редактирование AI перекрывается с существующими ожидающими редактированиями из другого потока, перекрывающиеся редактирования автоматически принимаются. Это предотвращает устаревшие редактирования, которые нельзя осмысленно отменить, так как текст уже перезаписан. Неперекрывающиеся редактирования из других потоков остаются ожидающими.

Обработка конфликтов

Несколько потоков используют одну облачную машину. Когда два потока редактируют один файл:
  1. Поток A редактирует регион. Файл изменяется на диске.
  2. Поток B пытается редактировать тот же регион. Его редактирование не удаётся, потому что старый текст не совпадает.
  3. Поток B перечитывает файл и адаптируется.
AI обрабатывает это автоматически. Вам не нужно управлять конфликтами вручную.