Защищаем код от ИИ-бед: почему Jujutsu — ваша подушка безопасности

Защищаем код от ИИ-бед: почему Jujutsu — ваша подушка безопасности

Май 15, 2026 version-control git jujutsu ai-development developer-tools workflow safety version-management

Когда ИИ сходит с рельсов: кошмар разработчика

Бывает у всех. Сидишь в потоке кодинга с ИИ-агентом — Claude, Gemini или ещё какой-то инструмент на базе LLM. И вдруг бац: агент не так понял задачу, запускает git clean на непотраченных файлах. Часы экспериментов улетают в никуда. Или контекст обрезается, терминал чистится, и ИИ теряет нить посреди дела. Просишь откатить — в ответ извинения: "Файлы не в Git, не восстановлю".

Сценарий знакомый многим. Разработчики всё чаще берут ИИ-помощников. Но вот в чём засада: классические Git-воркфлоу не заточены под хаос и быстрые итерации с ИИ.

Боль традиционного Git

Git — крутая штука. Но он ждёт осознанных коммитов. Ты сам решаешь, когда сохранять работу на чекпоинте. А ИИ носится с изменениями на скорости света. Забыл закоммитить в разгар сессии — и привет, риск. Агент наворотил правок, нарвался на баг, откатил — а ты даже не успел ничего спасти.

Худший случай: ИИ ломает репозиторий, а восстановить нечего. Никаких коммитов — нет и спасения.

Jujutsu: страховка для эры ИИ

Jujutsu — или просто jj — это система контроля версий с другой философией. Она не ждёт твоего коммита, а фиксирует снапшот рабочей директории после каждой команды. Любое изменение, эксперимент или случайное удаление — всё в логе операций.

Представь Git с фотографической памятью. Git видит только явные коммиты. Jujutsu ловит всё, что происходит в репозитории.

Быстрый старт без гемора

Главный плюс: jj дружит с Git. Не нужно выбирать.

В существующем Git-репозитории хватит одной команды:

jj git init --colocate

Готово. Jujutsu работает параллельно с Git. Коллеги не заметят — для них всё как раньше. Пуш в remote идёт через Git.

Как думать в терминах Jujutsu

Термины чуть другие, но интуитивные:

  • @ (рабочий набор): как working directory в Git, но с автоснапшотами
  • Идентификаторы коммитов: буквы [g-z], не путаются с Git-хешами
  • Operation log: полный лог всех изменений

Пример вывода:

$ jj
@  lrklqzxy panozzaj@gmail.com 2025-11-22 16:06:25 b76e8471
│  (no description set)
○  qppwxvzp panozzaj@gmail.com 2025-11-06 10:57:53 master
   Add site perf audit document

@ — твоя текущая незакоммиченная работа. Каждый шаг имеет уникальный ID. Легко отличить от Git-хешей.

Волшебство: возвращаем потерянное

Вот где jj блестит. ИИ накосячил? Смотри историю операций:

jj obslog --revision @ --patch --limit 5

Покажет последние 5 шагов с диффами. Видишь, что сломалось, когда и как. Восстанавливаешь одним чеком — даже если ИИ стёр файлы или откатил всё к чертям.

Почему это критично для работы с ИИ

ИИ-агенты не как люди. Они:

  • Делают правки вихрем, без твоего надзора
  • Плохо понимают инструкции и косячат
  • Теряют контекст в длинных сессиях
  • Могут запустить разрушительную команду случайно

Git предполагает, что человек рулит коммитами. ИИ это рушит. Jujutsu спасает, считая каждое изменение на диске ценным и восстанавливаемым.

Практика: вписываем в воркфлоу

Интеграция с ИИ-сессиями простая, без перестройки процессов:

  1. Перед стартом: помни, jj ловит всё
  2. В процессе: дай ИИ свободу — jj запишет изменения
  3. Если краш: jj obslog покажет точку до беды
  4. Финал: коммить в Git как обычно

Jj живёт под Git. Пуш в GitHub или GitLab — без изменений. А под капотом — полная защита.

Минимальные затраты

Jj не грузит:

  • Установка лёгкая
  • Git-воркфлоу не меняется
  • Команда не видит разницы
  • Colocation с Git — без дублирования места
  • Цветные ID коммитов для удобства

Минусов нет, если юзаешь ИИ в проектах.

Взгляд вперёд

ИИ всё глубже в dev-процессах. Инструменты вроде Jujutsu станут must-have. Вопрос не "потеряешь ли работу из-за ИИ", а "сможешь ли откатить".

Если часто сидишь с Claude Code, Gemini CLI или подобным — ставь jj. Это страховка от столкновения ИИ с реальностью.

Твой будущий "я" скажет спасибо, когда вернёшь часы работы одной командой, а не будешь смотреть, как она тает в Git-пустоте.

Read in other languages:

BG EL CS UZ TR SV FI RO PT PL NB NL HU IT FR ES DE DA ZH-HANS EN