Джеффри Хантли чинит кодинг-агентов pre-commit хуком и получает 10 из 10
Джеффри Хантли описал способ заставить кодинг-агента пользоваться внутренней библиотекой диагностики. Обновлять AGENTS.md он считает ненадёжным: между файлом и реальным поведением агента остаётся разрыв, и он будет расти. Вместо этого Хантли пишет pre-commit хук. Хук проверяет git diff на прямые вызовы модулей observability в обход его diagnostics-модуля. Если находит, коммит падает, а агенту уходит промпт с требованием использовать библиотеку. По оценке автора, соблюдение правила выросло до «десяти из десяти». Цитату опубликовал Саймон Уиллисон. • Правило проверяет код, а не память модели. • Отказ коммита сразу превращается в инструкцию для агента. • Методики измерения «10/10» автор не приводит.
AI-обработка оригинала Simon Willison; редакция Hamidun News
Джеффри Хантли описал приём, который, по его словам, довёл соблюдение агентом внутреннего правила до «десяти из десяти». Он не стал уговаривать модель очередной строчкой в инструкциях, а поставил на пути коммита pre-commit хук. Цитату из его эссе «nobody should type code by hand anymore. here's what's left» опубликовал Саймон Уиллисон. Метрика здесь субъективная: методики измерения автор не приводит. Но сама механика заслуживает разбора.
Где ломается AGENTS.md
Ситуация знакомая каждому, кто работал с кодинг-агентами. В проекте есть собственная библиотека диагностики, обёртка над наблюдаемостью. Агент вместо неё вызывает модули observability напрямую. Очевидный ход — дописать правило в AGENTS.md и надеяться, что модель его учтёт.
Хантли объясняет, почему этого мало. Можно заставить агента проанализировать собственное поведение и обновить файл, но между инструкцией и реальной практикой всё равно остаётся разрыв («delta»), и он будет дрейфовать. Текстовые правила вероятностны: контекст разрастается, формулировки конкурируют между собой, сменилась модель или версия. Файл с инструкциями остаётся пожеланием.
Как устроен хук
Хантли переносит правило из текста в код. Схема короткая:
- Триггер: попытка сделать git commit.
- Проверка: скрипт читает git diff и ищет прямые вызовы модулей observability, которые обходят diagnostics-модуль.
- Реакция: при совпадении коммит падает.
- Обратная связь: в агента инжектится промпт с требованием использовать diagnostics library.
- Результат по оценке автора: десять из десяти.
Важна последняя связка. Отказ коммита без пояснений агент мог бы обойти случайным способом. Здесь же сообщение об ошибке одновременно говорит, что именно не так, и что делать. Агент получает исправление в момент, когда оно ему нужно, а не в начале сессии среди сотен строк контекста.
Проверка при этом детерминирована. Она не зависит от того, что модель «помнит» из AGENTS.md, и работает одинаково на любой модели и в любом агентном инструменте, который делает коммиты через git.
Как применить у себя
Вывод из подхода Хантли инженерный. Правила для агентов делятся на две группы: те, что можно проверить механически, и те, что нельзя. Первые стоит переносить в хуки, линтеры и CI. Вторые, например архитектурный вкус или нюансы предметной области, остаются в AGENTS.md.
Кандидаты на перенос видны сразу: запрет прямых вызовов в обход внутренней обёртки, обязательный логгер, единый способ работы с конфигами, запрещённые зависимости. Если нарушение находится регулярным выражением или разбором diff, оно не должно жить в текстовой инструкции.
Несколько оговорок, которые стоит учесть самому (это мои соображения, в цитате их нет):
- Текст ошибки пишите как промпт: что найдено, почему нельзя, чем заменить.
- Локальный хук можно обойти флагом --no-verify, поэтому ту же проверку разумно продублировать в CI.
- Следите за ложными срабатываниями: если хук блокирует легитимные коммиты, агент начнёт «лечить» код вокруг проверки, а не по существу.
- Ведите счётчик срабатываний. Он покажет, какие правила агент нарушает чаще всего, и заодно даст ту метрику, которой не хватает оценке «10/10».
Теги записи у Уиллисона, agentic-engineering и coding-agents, точно описывают направление. Инженерия вокруг агента, то есть хуки, проверки и обратная связь, начинает значить не меньше, чем подбор модели.
- 28 окт. 2026 г.AdaPRA поднял Qwen 80B на 24,5 пункта в data science-лидербордах
- 28 окт. 2026 г.AOS-Bench показал: агенты с разницей 0,6 пункта доставляют 54% и 68% задач
- 28 окт. 2026 г.CuraLoc ищет баги в репозиториях одним планом и тратит на 90% меньше токенов
- 28 окт. 2026 г.Wired за сутки протестировал 6 ИИ-агентов: Dots лидирует, Gemini Spark провалил обед
Вопросы и ответы по материалу
Что известно по теме: где ломается AGENTS.md?
Ситуация знакомая каждому, кто работал с кодинг-агентами. В проекте есть собственная библиотека диагностики, обёртка над наблюдаемостью. Агент вместо неё вызывает модули observability напрямую. Очевидный ход — дописать правило в AGENTS.md и надеяться, что модель его учтёт. Хантли объясняет, почему этого мало. Можно заставить агента проанализировать собственное поведение и обновить файл, но между инструкцией и реальной практикой всё равно остаётся разрыв («delta»), и он будет дрейфовать. Текстовые правила вероятностны: контекст разрастается, формулировки конкурируют между со
Что известно по теме: как устроен хук?
Хантли переносит правило из текста в код. Схема короткая: Триггер: попытка сделать git commit. Проверка: скрипт читает git diff и ищет прямые вызовы модулей observability, которые обходят diagnostics-модуль. Реакция: при совпадении коммит падает. Обратная связь: в агента инжектится промпт с требованием использовать diagnostics library. Результат по оценке автора: десять из десяти. Важна последняя связка. Отказ коммита без пояснений агент мог бы обойти случайным способом. Здесь же сообщение об ошибке одновременно говорит, что именно не так, и что делать. Агент получает испра
Что известно по теме: как применить у себя?
Вывод из подхода Хантли инженерный. Правила для агентов делятся на две группы: те, что можно проверить механически, и те, что нельзя. Первые стоит переносить в хуки, линтеры и CI. Вторые, например архитектурный вкус или нюансы предметной области, остаются в AGENTS.md. Кандидаты на перенос видны сразу: запрет прямых вызовов в обход внутренней обёртки, обязательный логгер, единый способ работы с конфигами, запрещённые зависимости. Если нарушение находится регулярным выражением или разбором diff, оно не должно жить в текстовой инструкции. Несколько оговорок, которые стоит учес
Соберите рабочего ИИ-агента или сервис своими руками без ручного кода
В Академии Жемала Хамидуна (academy.hamidun.com) открыт бесплатный 72-часовой тест-драйв: интерактивные скетч-уроки по Claude Code и Cursor, живой Tech Radar и готовые шаблоны агентов.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.