К содержанию

Модуль 8 из 12 · 12 мин

Хуки и автопроверки: сторож, который проверяет работу ИИ-агента

Опубликовано 01/10/2026 · Обновлено 01/10/2026

Шаг 1 из 8 · пройдено 0

Кратко

Хук это проверка, которую инструмент запускает сам: перед правкой файла, после команды или в конце работы. Он надёжнее правила в AGENTS.md, потому что агент не может его забыть. Хуки есть не во всех инструментах, а где их нет, помогают проверки в git и CI.

На какие вопросы отвечает эта страница 5

Шаг 1 из 8

Что вы поймёте

Схема: сторож у шлагбаума проверяет помощника перед тем, как пустить его к файлам проекта
Хук: сторож, который проверяет каждую правку, не дожидаясь напоминаний

Что вы поймёте Хуки не дают агенту забыть про главное: проверка срабатывает сама, каждый раз. Здесь вы разберётесь, как это устроено и где хуков нет.

Слова, которые встретятся

Хук
действие, которое инструмент запускает сам, когда случилось нужное событие
Событие
момент в работе агента: перед правкой файла, после команды, в конце работы
Скрипт
маленькая программа из нескольких строк; хук обычно запускает именно её
Код выхода
число, которое программа возвращает, когда закончила: 0 значит «всё спокойно», 2 в ряде инструментов значит «стоп»

Шаг 2 из 8

Что такое хуки у ИИ-агента простыми словами?

Хук это автоматическое действие, которое срабатывает на событие: перед правкой файла, после команды или в конце работы. Например, запустить проверку или остановить опасную команду. Это как сторож у двери: правило выполняется само, независимо от того, вспомнил ли про него агент.

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

Схема: помощник хочет изменить файл, сторож проверяет список: тесты зелёные, секретов нет; при ошибке стоп, иначе пропуск
Схема: сторож работает сам, его не нужно просить

Вы увидите: вы ничего не нажимаете, всё происходит само. Дальше разберём, чем хук лучше обычного правила в файле.

Шаг 3 из 8

Зачем нужны хуки, если можно написать правило в AGENTS.md?

Правило в AGENTS.md агент может проигнорировать или забыть, а хук выполняется всегда, потому что его запускает сам инструмент. Поэтому для обязательных вещей, вроде запрета на опасные команды или проверки перед сохранением, надёжнее хук, а для советов и стиля достаточно текстового файла.

Разница как между запиской на холодильнике и замком на двери. Записку «не открывай» можно не заметить. Замок срабатывает всегда. Поэтому жёсткие запреты («не трогать файл с паролями», «перед сохранением прогнать проверку») отдают хуку, а пожелания («пиши коротко», «называй переменные понятно») оставляют в файле правил.

Схема: правило в файле просит помощника, который может забыть; хук запускает сам инструмент, и каждый раз одинаково
Схема: правило это просьба, хук это проверка

Шаг 4 из 8

На какие события вешают хуки?

Чаще всего нужны три момента: до действия (можно остановить), после действия (можно проверить результат) и начало или конец сессии (можно подготовить окружение или напомнить правила).

КогдаЧто можно сделатьПример
Перед действием агентаостановить егоне дать править файл .env
После действия агентапроверить результатзапустить форматирование или тесты
Начало и конец работыподготовить или подвести итогпоказать напоминание, записать журнал

Названия событий у инструментов свои. В Claude Code и Codex перед инструментом срабатывает PreToolUse, в Gemini CLI BeforeTool, в Cursor есть, например, beforeShellExecution (перед командой в терминале). Полный список всегда смотрите в документации вашего инструмента.

Схема: цепочка из трёх шагов: агент хочет править файл, хук запускает проверку, решение пропустить или остановить
Схема: событие запускает проверку, проверка выдаёт решение

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

Шаг 5 из 8

Как поставить первую автопроверку?

Выберите событие, например «перед правкой файла», и команду проверки, которая быстро отвечает «можно» или «нельзя». Настройте её в конфигурации инструмента по документации, затем проверьте на учебной папке, что опасное действие действительно блокируется. Лабораторная 6 проходит этот путь по шагам. Сначала берите самые простые события.

Так выглядит настройка в Claude Code (формат проверен по документации на 01/10/2026): файл .claude/settings.json в папке проекта.

JSONХук перед правкой файлов
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          { "type": "command", "command": "python .claude/hooks/guard.py" }
        ]
      }
    ]
  }
}

Читается просто: «перед инструментами Edit и Write (правка и создание файла) запусти скрипт guard.py». Если скрипт завершится с кодом 2 и напишет причину в сообщение об ошибке, инструмент остановит действие и покажет причину агенту. Сам скрипт вы напишете в лабораторной про хук-сторожа.

Вы увидите: в /hooks (команда внутри Claude Code) появится ваш хук в списке. У других инструментов своё место проверки, смотрите документацию.

Скриншот: Окно /hooks в Claude Code со списком настроенных хуков
Окно /hooks в Claude Code со списком настроенных хуков

Шаг 6 из 8

Во всех ли инструментах есть хуки?

Нет. Хуки есть не везде, а там, где есть, формат и список событий отличаются. В модуле есть честная таблица с серым значком «нет» для инструментов без этой функции. Если хуков нет, часть задач решают проверки в системе контроля версий или в CI.

Хуки в разных инструментах (по документации на 01/10/2026)

  • Claude Code
    hooks в .claude/settings.json
    события вроде PreToolUse и PostToolUse; остановка кодом выхода 2
  • Codex CLI
    hooks.json или config.toml
    в ~/.codex и в .codex проекта; остановка кодом 2 или ответом в JSON; статус проверьте в документации
  • Gemini CLI
    hooks в .gemini/settings.json
    события вроде BeforeTool и AfterTool; остановка кодом 2
  • Cursor
    .cursor/hooks.json
    события вроде beforeShellExecution и afterFileEdit; код 2 блокирует
  • OpenCode
    проверьте в документации
    не проверено, смотрите документацию
  • Antigravity
    проверьте в документации
    не проверено, смотрите документацию
  • Aider
    --lint-cmd, --test-cmd
    не хуки, а автозапуск проверки и тестов после правок

Если хуков нет, есть обходные пути. Git умеет запускать скрипт перед коммитом (папка .git/hooks, файл pre-commit), но это срабатывает позже: когда вы сохраняете историю, а не когда агент правит файл. Ещё один путь: те же проверки в CI, о которых будет модуль про режим без интерфейса.

Шаг 7 из 8

Могут ли хуки навредить?

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

Три привычки, которые снимают почти все риски. Первая: читать каждую строку чужого скрипта, а если не понимаете, попросить агента объяснить построчно и не запускать до ответа. Вторая: сначала включать хук в учебной папке, а не в рабочем проекте. Третья: держать список запретов узким. Хук, который ловит «всё, что похоже на опасное», рано или поздно остановит нужную работу.

Ещё одна оговорка из документации Claude Code: если хук завершился с кодом 0, это не значит «разрешаю». Для проверки перед инструментом обычная система разрешений всё равно работает дальше. Хук добавляет стоп-сигнал, а не отменяет режимы из модуля про безопасность.

Шаг 8 из 8

Проверь себя

1Чем хук отличается от правила в AGENTS.md?

2Что сделать для строгого запрета «не трогать файл .env»?

3Что делать, если в вашем инструменте хуков нет?

4Можно ли ставить чужой хук без чтения?

Частые вопросы

Что такое хуки у ИИ-агента простыми словами?

Хук это автоматическое действие, которое срабатывает на событие: перед правкой файла, после команды или в конце работы. Например, запустить проверку или остановить опасную команду. Это как сторож у двери: правило выполняется само, независимо от того, вспомнил ли про него агент.

Зачем нужны хуки, если можно написать правило в AGENTS.md?

Правило в AGENTS.md агент может проигнорировать или забыть, а хук выполняется всегда, потому что его запускает сам инструмент. Поэтому для обязательных вещей, вроде запрета на опасные команды или проверки перед сохранением, надёжнее хук, а для советов и стиля достаточно текстового файла.

Во всех ли инструментах есть хуки?

Нет. Хуки есть не везде, а там, где есть, формат и список событий отличаются. В модуле есть честная таблица с серым значком «нет» для инструментов без этой функции. Если хуков нет, часть задач решают проверки в системе контроля версий или в CI.

Как поставить первую автопроверку?

Выберите событие, например «перед правкой файла», и команду проверки, которая быстро отвечает «можно» или «нельзя». Настройте её в конфигурации инструмента по документации, затем проверьте на учебной папке, что опасное действие действительно блокируется. Лабораторная 6 проходит этот путь по шагам. Сначала берите самые простые события.

Могут ли хуки навредить?

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

Если нужно глубже

Разобрать, где ИИ-помощник сэкономит время именно вам: бесплатный аудит, 30 минут.

Записаться →

платный курс с главой про автоматизацию, 990 ₽, статус «в производстве»

Claude Code глубже: хуки, субагенты и cron →

Дальше

Связаться по делу

Заявка прилетит мне и в Telegram, и на почту. Отвечу в течение рабочего дня.

Куда удобнее ответить?
или сразу написать в Telegram →

Нажимая кнопку, даёте согласие на обработку персональных данных (оператор № 23-25-044738).