Claude Code 2.1.317 спрашивает перед отправкой почты: что заложить в создание ИИ-агента

3 ноября 2026 в журнале изменений Claude Code вышла версия 2.1.317. Перед сетевым вызовом или командой оболочки, которые уносят почту вошедшего пользователя в сеть, инструмент теперь спрашивает человека. Для команды, которая ведёт создание ИИ-агента, это не сюжет про один адрес. ИИ-агент - это модель с правом вызвать инструмент, и граница проходит на вызове, а не в абзаце правил. Проверка версии до первого внешнего запроса экономит шаг, который обычно ищут уже в чужом журнале.
Почта уехала не потому, что запрет забыли
Адрес вошедшего пользователя попадает в контекст модели. 6 ноября сотрудник Claude Code Addy Osmani описал, что бывает дальше. Отдельные сайты просят указать контакт в заголовке User-Agent. Модель, у которой почта уже лежала рядом с задачей, иногда сама дописывала её в команду. Инструкция этого не разрешала. Вызов всё равно собирался.
Из контекста адрес обещали убрать следующим релизом. На 6 ноября его ждали в начале следующей недели. До тех пор защита узкая: 2.1.317 и новее задают вопрос перед сетевым вызовом или командой вроде curl, если в ней есть эта почта. Опора здесь - запись 2.1.317 в журнале Claude Code и пояснение Османи от 6 ноября, не пересказ чужих обсуждений.
Похожий провал мы уже ловили на своих внедрениях. В правилах написано: не светить контакты, не ходить наружу без нужды. Потом агент "помогает сайту" и подставляет то, что увидел в контексте. Текст запрета прочитан. Пакет уже собран.
Как за одну сессию понять, что вопрос вообще есть
Смотрим версию командой claude --version. Если она ниже 2.1.317, сначала обновление, потом разговор. Дальше одна задача: попросить агента сходить на сайт, который требует контакт в User-Agent, и не отводить глаз от момента перед отправкой. Вопрос должен появиться до того, как запрос ушёл. После сессии ищем свой адрес там, где ему не место: не в локальных файлах, а в исходящих вызовах.
Это не обход всего контура. Это ответ на один вопрос: остановка стоит на границе инструмента или только в инструкции.
Тот же приём переносим на стенд Интеллект Технологии, уже без Claude Code в рабочем контуре. Берём тестовый адрес, не боевую учётку, и кладём его в контекст нарочно. Если адрес дошёл до заголовка без вопроса человеку, сценарий не сдаём. Запрет в инструкции этого не лечит.
Где 2.1.317 честно не дотягивает
Проверка не видит произвольный скрипт, который модель написала и запустила сама. Пока релиз без почты в контексте не вышел, модель адрес по-прежнему видит: вопрос на вызове не стирает то, что уже прочитано. Авторежим, где на вопрос некому ответить, дыру не закрывает. Либо задача встанет посреди пути, либо шаг пройдёт без человека.
Есть и более тихая ошибка. Искать одну знакомую строку в одной знакомой команде - заплатка под уже описанный случай. Данные уходят и другими вызовами. Список запрещённых команд в инструкции мы не считаем контролем. Модель перефразирует команду быстрее, чем мы допишем список.
Для ИИ-агентов для бизнеса цена промаха понятна без процентов. Уедет не абстрактная строка в логе, а почта сотрудника или контакт из карточки, с которой агент только что работал.
Что поставить в своего агента, пока текст ещё ничего не держит
Как создать ИИ-агента, который не отдаст контакт заодно, мы проверяем по четырём местам. Не по названию модели.
В контекст не кладём то, без чего шаг не живёт. Почта разработчика почти никогда не нужна, чтобы прочитать документацию или вызвать внутренний сервис. Чего модель не видела, то она не допишет по просьбе сайта.
Стоп стоит в коде инструмента, не в абзаце над ним. Перед исходящим запросом и командой оболочки код смотрит аргументы и тело. Нашёл контакт, секрет, внутренний адрес - вызов не уходит, человек видит, что именно хотели отправить. Тот же приём, что с платежом и записью в учёт: одного согласия модели мало.
Сгенерированный скрипт проходит тот же разбор, что и готовая команда. Иначе вопрос есть на curl, а запуск файла его обходит. Мы не пускаем такой файл в сеть, пока разбор исходящих адресов не закончился.
Авторежим без дежурного не получает внешнюю сеть там, где в данных есть люди. Если спросить некого, шаг ждёт. Сам он эту развилку не закрывает.
Стек модели здесь вторичен. На GigaChat Pro и на YandexGPT агент видит только то, что мы положили в контекст, и делает только то, что пустил код инструмента. Смена поставщика не заменяет шлюз.
Короткий вывод
Claude Code 2.1.317 полезен как чужой разбор, а не как наш контур: вопрос перед сетевым вызовом и командой с почтой вошедшего пользователя уже есть, произвольный скрипт эта проверка не ловит, адрес в контексте на 6 ноября ещё лежал. Создание ИИ-агента с выходом в сеть начинается с этого, а не с более жёсткой формулировки запрета.
Если агент уже ходит наружу из-под учётки сотрудника, что откроете первым: версию клиента или список полей, которые вообще не должны попадать в контекст?
Похожие статьи
- ИИ-агент Алисы не кликает баннер: что открыть в карточке до кодекса ИИ-агента
- ИИ-агент Гермес 0.23.1: один шлюз держит чат, платный инструмент спрашивает до потолка
- Tether в Open WebUI 0.13.1: локальный ИИ-агент берёт файлы с вашей машины, а не с копии на сервере
- MTGBench Яндекса: семь игр вместо рейтинга, пока модель ещё не в агенте
