Чудо уговаривания LLM
Наткнулся в Facebook на характерную запись.

С одной стороны, меня очень радуют подобные вещи — они показывают, что количество людей, которым понадобятся мои объяснения, как именно надо использовать AI, уменьшаться в обозримой перспективе не будет. Кроме того, это подтверждает мое мнение о людях, которые считают программирование достаточным признаком инженера — у автора тоже написано в профиле software engineer, хотя второе слово явно не имеет к нему отношения.
С другой стороны, слегка утомителен тот факт, что до подобных откровений приходится буквально докапываться через бронебойную уверенность, что “AI это просто генератор случайных токенов”, “AI вам ничего не напишет”, “Вы еще придете просить, чтобы мы разобрались с вашим вайб-проектом”.
Проблема, описанная в записи, решается за минуту конфигом Claude Code — в settings.json надо указать явно:
{
"permissions": {
"ask": [
"Bash(git commit *)",
"Bash(git * main)",
],
"deny": [
"Bash(git push *)"
]
}
}
После этого агент будет обязательно спрашивать всякий раз перед коммитом, даже если ему разрешены все правки, и не сможет сделать push, который часто запускает деплой. Если вы используете что-то свое для деплоя — укажите именно этот скрипт.
Более того, в Claude Code есть хуки, которые позволяют еще раз запретить запуск опасных команд.
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -qiE '(deploy.sh|git.*push)'; then echo 'BLOCK: Deployment commands require explicit user approval' >&2; exit 2; fi"
},
}
]
Есть очень простой принцип, который стоит запомнить при управлении агентами — всё, что вы пишете в промпте, это просьба к LLM, максимум приказ, а всё, что вы настраиваете в settings агента, — это физический запрет или разрешение совершать действия. “Инженер” на скриншоте занимается тем, что уговаривает недетерминированную модель, вместо того, чтобы использовать гарантированные методы управления.
Перефразируя фразу про магию и физику — никогда не читайте документацию по настройке агентов и жизнь ваша наполнится чудом уговаривания LLM. Ах, да, ему же приключений хочется — ну, так они ему будут.