Паспорт генерации изображения
Промт генерации изображения
Dark neon 'underside of progress' scene, cyberpunk workshop at night, wide cinematic shot. In the center of a scarred wooden workbench stands a heavy brass interlock gate bolted flat to the surface: a thick pivoting arm has swung down and stopped a steel push-rod halfway along its track. On the near side of the gate a cluster of glass vacuum valves glows cold teal-cyan, thin cables running from them into the rod; on the far side, past the blocked gate, a row of hand tools sits untouched under a dim warm amber lamp. One thin cable slips under the gate uninterrupted and reaches the far side. Every object rests physically on the bench, bolted down and weighted - nothing floats or hovers. Around them a cluttered bench: coiled cables, a cooling fan, dim indicator lamps, dust and fine metal shavings. Deep shadow, volumetric haze, warm amber and cyan color palette, shallow depth of field, cinematic film still on 35mm, intricately detailed. Every surface is completely blank - no writing of any kind.
Агент в терминале - это замкнутый цикл «просит инструмент, получает результат», а не просто переписка с умным ботом.
Claude Code - это программа, которая запускается в терминале и работает с вашим проектом от вашего имени: вы описываете задачу словами, а она сама читает файлы, запускает команды и правит код. От чата с нейросетью её отличает не модель внутри - модель может быть та же самая, - а то, кто носит данные между моделью и компьютером: в чате это делает человек копипастом, здесь программа.
На практике это сбивает с толку в первые же минуты. Ставишь инструмент, запускаешь в консоли и ждёшь привычного «чата в терминале». Но вместо ответов на вопросы штука начинает сама открывать файлы проекта, выполнять команды и переписывать код. И возникает законный вопрос: где вообще проходит граница между «он предложил сделать» и «он уже сделал»?
Ответ на неё лежит не в интеллекте модели, а в устройстве программы вокруг. Даже поверхность команд (проверено в сентябре 2026 года, версия 2.1.268) намекает, что перед нами не обёртка над API: в списке есть auto-mode для настройки классификатора безопасности и mcp для управления внешними серверами инструментов. Эти команды существуют отдельно, потому что окончательные решения в системе принимает не модель.
Почему он переспрашивает сам себя
Первая и самая очевидная версия: это чат-бот, которому дали доступ к диску. Вроде бы логично - модель видит файлы, пишет код, отправляет его в shell. Но если смотреть на это как на чат, начинаешь спотыкаться о «интуитивные» странности. Почему он иногда переспрашивает разрешение на команду, которую только что сам же и предложил? Почему он не помнит содержимое файла, который «вроде как должен быть в проекте», но который он ещё не открывал?
Ошибка здесь в том, что мы приписываем действия модели. На самом деле модель ничего не делает. Она формирует запрос.
Модель в такой системе не выполняет действий - она запрашивает их. Выполнить запрос или отказать решает харнесс: программа-посредник, которая крутится на вашей машине.
Граница, которую можно потрогать
Понимание того, как всё устроено, пришло через сбой. Дважды за одну сессию я поймал момент, когда модель запросила выполнение команды, но вместо результата получила отказ:
claude-sonnet-5 is temporarily unavailable, so auto mode cannot determine
the safety of Bash right now. Wait briefly and then try this action again.
Note: reading files, searching code, and other read-only operations do not
require the classifier and can still be used.
Это был идеальный момент истины. Классификатор безопасности - отдельная служба, и она отвалилась. Харнесс отказал в выполнении Bash-команды, хотя модель свой запрос сформировала и отправила. При этом чтение файлов продолжало работать: операции «только для чтения» проверки классификатором не требуют.
Здесь и проходит граница ответственности. Модель - мозг, который генерирует намерения. Харнесс - руки и фильтр, которые решают, что из этих намерений воплотить в реальность.
Границу видно в момент отказа: упал классификатор безопасности - и команда в системе не выполнилась, хотя модель её запросила. Чтение файлов при этом работало: оно проверки не требует.
Анатомия замкнутого цикла
Вся механика агента в терминале сводится к циклу из четырёх шагов:
- Модель запрашивает инструмент - например, «прочитай файл X» или «выполни команду Y».
- Харнесс решает, можно ли это делать: сверяется с классификатором или со списком разрешений.
- Харнесс выполняет действие в системе.
- Результат выполнения возвращается модели следующим сообщением.
Правила доступа живут в файле настроек проекта. В реальном фрагменте это выглядит так:
{
"permissions": {
"allow": [ "…список разрешённых команд…" ],
"defaultMode": "auto"
}
}
Режим auto означает, что по каждому вызову решение принимает классификатор. Список allow - это исключения, которые пролетают без проверки. Модель не может по своей воле отредактировать этот JSON и выдать себе больше прав: файл читается и применяется харнессом, а не ею.
Цикл агента состоит из четырёх шагов: модель просит инструмент, харнесс проверяет право, харнесс выполняет, результат возвращается модели. Права при этом лежат в файле настроек, до которого модель по своей воле не дотягивается.
Подтверждения, слепота и растущий счёт
Из этой схемы на четыре стрелки выводится всё остальное поведение - включая то, что выглядит как капризы или глупость.
- Запросы на подтверждение. Раз выполняет харнесс, он же и спрашивает пользователя. Модель физически не может «просто сделать» то, что не разрешено.
- Слепота к непрочитанному. В контексте модели есть только то, что вернули инструменты. Если файл не был открыт командой чтения, для модели его не существует, даже если он лежит в корне проекта.
- Стоимость сессии. История диалога и результаты всех вызовов отправляются заново на каждом шаге. Чем длиннее сессия, тем больше входных данных и тем дороже каждый следующий запрос.
- Модульность. Набор инструментов не зашит намертво, поэтому через MCP подключаются внешние серверы, и агент получает доступ к тому, о чём его авторы не знали.
Подтверждения, слепота к непрочитанному, растущая цена длинной сессии и возможность подключить чужие инструменты - это не четыре независимые особенности, а четыре следствия одной схемы.
Кто носит данные
Разница между «умным чатом» и агентом не в интеллекте модели - внутри может работать одна и та же. Разница в замкнутости цикла.
В обычном чате цикл разомкнут, и курьером работает человек: копирует код из браузера в терминал, видит ошибку, копирует её обратно в чат. В агенте роль курьера берёт на себя программа. Признаки, по которым это отличают в любом инструменте, а не только в этом, разобраны отдельно: ИИ-агент: что это на самом деле и чем отличается от чат-бота.
Всё, что кажется странным или ограниченным в поведении такого инструмента, - прямое следствие этой архитектуры, а не «глупость» нейросети. Модель не управляет компьютером. Она очень убедительно просит программу-посредника сделать это за неё, и вся ваша безопасность держится на том, что посредник умеет говорить «нет».
Чат и агент отличаются не умом модели, а тем, кто носит данные: в чате курьер - человек, в агенте - программа. Всё остальное поведение выводится отсюда.
