Дайджест Agent Experience. 14–27 сентября 2026
На прошлой неделе выпуска не было, поэтому этот собрал сразу за две недели. В №16 я писал, что списки мест, куда ходили агенты OpenAI, составляли независимые исследователи. За две недели в этих списках появился австралийский государственный институт здравоохранения, а OpenAI сама признала визиты своих агентов на сайты правительств США и Австралии и приостановила обучение и работу с инструментами у самых мощных своих моделей. Еще: законопроект о реестре агентов получил номер, Cloudflare сообщила, что автоматический трафик обогнал человеческий на год с лишним раньше прогноза, две работы о том, как сделать страницу и инструмент понятными агенту, две работы о том, как окно подтверждения показывает человеку одно действие, а выполняется другое, и два замера с Хабра. Разобрал десять материалов.
Главное: агенты OpenAI добрались до портала статистики Medicare, а сама OpenAI приостановила обучение самых мощных моделей после того, как агент вышел наружу через DNS
23 сентября некоммерческая лаборатория Transluce (Джейкоб Стейнхардт и соавторы) опубликовала разбор отчётов urlquery.net. Это бесплатный сервис, который открывает ссылку в изолированном удалённом браузере и хранит публичную запись о результате. Агенты пользовались им как чужим браузером. Transluce насчитала 6467 отчётов со значимыми признаками агентной активности и 31 182 с косвенными, от ноября 2025 года до 16 сентября 2026-го. Связь с OpenAI авторы строят через подпись «OpenAIResearcher», знакомую по немецкой вики. Трижды агенты пытались взломать сайты: цифровую библиотеку Университета Нью-Мексико (25–26 мая), API Data USA (28 мая) и Австралийский институт здравоохранения и социального обеспечения (20–21 июня). Авторы подчёркивают: задачи у агентов были не про кибербезопасность, к взлому они переходили посреди обычного сбора данных.
24 сентября премьер Австралии Энтони Албаниз на пресс-конференции в Нью-Йорке рассказал, что 18 июня агент OpenAI, собиравший данные о государственных расходах на лекарства, открыл публичные и закрытые файлы портала статистики Medicare и записывал файлы на внутренний сервер. Наткнувшись на блокировку, модель, по его словам, «пыталась получить информацию другими путями». OpenAI сообщила об этом 10 сентября письмом на общий почтовый ящик Services Australia, 15 сентября ведомство передало уведомление в Австралийский центр кибербезопасности. Правительство собирает рабочую группу, передаёт дело в парламентский комитет по ИИ и запросило заключение, есть ли здесь состав преступления, с которым стоит идти в федеральную полицию. Альтман, по словам Албаниза, признал, что компания «сработала недостаточно хорошо».
25–26 сентября AP сообщило, что OpenAI признала «неожиданное» взаимодействие своих моделей с двумя сайтами Комиссии по ценным бумагам и биржам (SEC), сайтами Бюро переписи и Министерства образования; в том же материале упомянуты Минюст, Минторг и сайты пяти штатов. По SEC компания пишет, что не нашла использования учётных данных, доступа к непубличной информации или изменений в системах.
Параллельно OpenAI выкладывает отчёты сама: шесть 16 сентября и ещё три 25-го. Среди них агенты, которые регистрировали одноразовые почтовые ящики и искали на GitHub утёкшие ключи API, чтобы ими пользоваться; агенты, выгружавшие файлы на временные хостинги, чтобы на них сослаться; модель, выложившая токен исследователя в публичный репозиторий openai/codex; и промпт-инъекции, которые размножаются сами, как сетевой червь. Последний отчёт посвящён инциденту 20 сентября. Агент не справился с поиском обычным путём, перебрал варианты сетевого доступа и через DNS-запросы вышел на внешний чат-бот, которому переслал ещё 18 вопросов. Хронология: 9:50 первый выход наружу, 10:02 сработал монитор, 10:05 человек подтвердил сигнал, 12:34 прогон остановлен. Автоматическая остановка, по словам самой OpenAI, не сработала, и какое-то время было непонятно, надо ли останавливать прогон вручную. Решение: приостановить всё остальное обучение, оценку и работу с инструментами у самых мощных моделей до проверки и дополнительных тестов силами красной команды. Дату возобновления компания не называет.
Зачем вам: агенту с задачей «собери статистику по расходам на лекарства» нужен ровно ваш портал статистики. Когда обычный путь закрыт, он ищет другой, и в списке Transluce это публичная библиотека, API открытых данных и государственный институт здравоохранения. OpenAI написала Services Australia на общий ящик почти через три месяца после инцидента. Проверьте, куда придёт такое письмо вам: есть ли на сайте security.txt, читает ли кто-то адрес из него и найдёте ли вы в логах июньские запросы, если письмо придёт в сентябре.
Право: Stop Rogue AI Act внесён как H.R. 10362, в Сенате назначены слушания, а Еврокомиссия подтвердила, что об инциденте с RubyGems формального отчёта не было
Законопроект Готтхаймера и Лоулера, о котором я писал в №16 по пресс-релизу от 9 сентября, официально внесён 14 сентября под номером H.R. 10362 и передан в комитеты Палаты представителей по науке и по надзору. Требования: непрерывный и читаемый реестр агентов в системах организации, проверяемая идентичность того, кто агента создал и кто им управляет, мониторинг в реальном времени и возможность отозвать доступ агента в любой момент. Касается федеральных ведомств и подрядчиков.
На 30 сентября подкомитет Джоша Хоули назначил слушания «Rogue AI: Securing the Homeland Against AI Agent Attacks». Свидетели: президент METR Крис Пейнтер, глава Apollo Research Мариус Хоббхан, профессор права Джорджтауна Пол Ом, вице-президент Dragos Курт Годетт и Даниэль Кокотайло из AI Futures Project. Представителя OpenAI в списке нет. Срок ответа на письмо Блюменталя истёк 24 сентября; был ли ответ, публично не сообщалось.
В Европе, по данным Euractiv, представитель Еврокомиссии подтвердил, что Офис по ИИ знал об эпизоде с RubyGems и был на связи с компанией, но формального отчёта об инциденте OpenAI не подавала. По немецкой вики отчёт, по словам Еврокомиссии, был.
Зачем вам: законопроект требует учитывать агентов, которых организация пустила в свои системы сама. Агента OpenAI на портал Medicare никто не пускал, и в такой реестр он бы не попал. У владельца сайта остаётся журнал доступа и адрес, на который вендор, может быть, когда-нибудь напишет.
AX: по данным Cloudflare, автоматический трафик обогнал человеческий в мае 2026 года, а прогноз был на вторую половину 2027-го
27 сентября Мэтью Принс и Мишель Затлин в ежегодном письме основателей написали, что компания ждала обгона во второй половине 2027 года, а агенты и ИИ-краулеры сдвинули его на май 2026-го. Там же: больше половины того, что забирают «хорошие» боты, не изменилось с их прошлого визита. И пример: агент, выбирая, где пообедать, может прочитать меню тысячи ресторанов ради одной рекомендации, а нагрузку получает вся тысяча.
Cloudflare делит ботов на три класса: поиск, обучение и агенты. Поисковых ботов блокирует меньше 1% сайтов, обучение так или иначе закрывают 17%. С 15 сентября сайты с рекламой получают по умолчанию запрет на обучение при открытом поиске и ограничения для агентов на страницах с плотной рекламой, потому что агент забирает страницу, «когда смотреть рекламу некому».
Зачем вам: «пускать ли ИИ» больше не один переключатель. Поиск, обучение и агент по заданию пользователя приносят сайту разное, и решать про них стоит отдельно. А раз больше половины того, что забирают хорошие боты, не изменилось с прошлого визита, ETag, Last-Modified и честный ответ 304 теперь прямо экономят деньги.
AX: семантический HTML дал агенту 91%, компонентные библиотеки от 68,3% до 86,7%, а добавленные ARIA-атрибуты не помогли
Цзинь Гао 16 сентября выложил работу про Affora, дизайн-систему для интерфейсов, которыми пользуются агенты. Одни и те же задачи собраны на чистом семантическом HTML и на восьми популярных компонентных библиотеках. На модели среднего уровня HTML дал 91% успешных прохождений, библиотеки от 68,3% до 86,7%. В последовательных правках исправление семантики подняло успех с 43% до 67%, а явный показ агенту доступных вариантов и текущего состояния довёл его до 90%. Визуальная тема почти ничего не меняет, пока семантика цела.
В таблице вмешательств на основном наборе из 60 задач базовая версия прошла 46, версия с добавленными ARIA-атрибутами и структурированными данными 45 (автор пишет, что устойчивого улучшения это не даёт), файл с инструкциями для агента 60 из 60, Affora тоже 60 из 60. Инструменты в стиле WebMCP прошли 55 из 55 задач на наборе, который они покрывают. Оговорки автора: только модели среднего уровня, короткие задачи в основном из админок и магазинов, проверки на людях не было, автоматические проверки показывают только нижнюю планку соответствия и ничего не гарантируют.
Зачем вам: выбор компонентной библиотеки оказался решением об агентском опыте: разброс между библиотеками больше восемнадцати процентных пунктов, а от чистого HTML худшая отстаёт почти на двадцать три. ARIA, навешенная поверх готового интерфейса, агенту не помогает. Помогает то, что помогает и человеку: нативные элементы, видимое состояние и явный перечень доступных действий.
AX: из 98 291 инструмента в реестре MCP destructiveHint стоит у 65,8%, а реально разрушительную операцию заявляют 3,1%
Артём Трофимов и Борис Новиков 14 сентября опросили реестр MCP по снимку на 27 июля: из 9234 удалённых адресов ответили 4838 серверов, у них 98 291 инструмент, медиана 11 на сервер. Аннотации на вид есть у трёх инструментов из четырёх: хотя бы одно поле заполнено у 74% инструментов, все четыре у 61,7%, самый частый набор значений у 39,9% инструментов, совсем без аннотаций 26%. Но destructiveHint выставлен у 65,8% инструментов, а осмысленным он бывает только там, где инструмент не помечен как «только чтение». Применимая пометка есть у 12,9% инструментов, реально разрушительную операцию заявляют 3,1%. Авторы предупреждают, что многие значения, вероятно, приходят из умолчаний SDK и шаблонов, а не из решения автора сервера.
Вторая половина работы про то, чего в аннотациях нет. Авторы описывают восемь аномалий на границе агента и инструмента: эффект, продублированный при повторе, зафиксированная операция без внешнего результата, компенсация, отправленная при неизвестном исходе, остаток после отмены и так далее. Вывод: метаданные MCP различают грубые режимы работы, но не умеют выразить то, что нужно для повторов, компенсаций и параллельных вызовов.
Зачем вам: работа Афсара показала, что аннотаций часто нет. Эта показывает, что там, где они есть, это часто шаблон. Если ваш инструмент делает что-то необратимое, агенту и клиенту нужен не флажок, а ключ идемпотентности, статус операции, который можно запросить, и описание того, что происходит при повторе.
UX/DX рядом: человек подтверждает действие A, выполняется действие B, и это воспроизводится в трёх фреймворках
Окно подтверждения обычно считают последней границей между агентом и последствиями. Две независимые работы за эти две недели показывают, что граница держится, только если человеку показывают ровно то, что потом выполнится.
Адитьян Арун Кумар 17 сентября описал «Loopjacking». Первый вариант: операция B уже заложена в вызов, но в окне подтверждения её не видно или она показана иначе. Второй: человек видит правильное действие A, а изменяемое состояние процесса уже после одобрения подменяет его на B. Сценарий «одобрил A, выполнилось B» воспроизведён в Agno AgentOS (семь версий до 3.0.9), в связке с LangGraph Agent Server (двенадцать версий до 0.14.0) и в OpenClaw 2026.2.23; в 2026.2.24 исправлено. OpenAI Agents SDK 0.22 служит контрольным примером: там решение человека привязано к конкретному вызову, и подменённый вызов отклоняется. Автор прямо пишет, что распространённость проблемы не оценивал.
Цзиньцянь Чжан и соавторы 23 сентября назвали соседнюю проблему «отмыванием одобрения». В журнале записана команда, которую одобрил человек, но не записано то, что она запускает дальше: хуки установки npm-пакетов, сетевые вызовы MCP. Предложенная авторами схема заранее предсказывает эффекты и привязывает прогноз к одобрению; на 17 контрольных сценариях она находит эффекты с полнотой 0,926 и точностью 0,941, а число неучтённых эффектов падает с 10 до 3
Зачем вам: в №15 был разрыв между кнопкой Approve и фактическим вызовом у Абузова, теперь это воспроизводимый класс уязвимостей. Если вы проектируете подтверждение для агента, показывайте в окне сам вызов с параметрами, привязывайте решение к этому вызову и отклоняйте всё, что изменилось после одобрения. Пересказ действия словами самого агента подтверждением не считается.
Из рунета: вопрос с ответом в одно слово, 305 КБ запроса и 113 460 токенов, из них 52 тысячи на один MCP-сервер
Автор под ником Corky 17 сентября поставил между кодинг-агентом и API прокси на сорок строк Python и задал Claude Code 2.1.274 и Codex CLI 0.154.0 один вопрос: «Ответь одним словом: работает». Claude Code отправил 305 042 байта, сервер насчитал 113 460 токенов, ответ пришёл в четыре токена. Около 85% тела заняли описания 137 инструментов, из них 107 инструментов одного MCP-сервера Figma (около 45%). Системный промпт весит всего около 4%. Хук плагина на старте сессии добавляет в каждый запрос сообщение на 29 тысяч символов. У Codex на тот же вопрос 29 750 байт и 9817 токенов, при том что системные промпты у двух агентов почти одной длины (12 830 и 12 950 символов): почти вся разница в инструментах.
Снимая слои флагами, автор получил 61 274 токена без MCP и 48 967 без MCP, настроек и плагинов. Один MCP-сервер стоил 52 тысячи токенов на запрос. На каждый ход уходит ещё и второй запрос на 18,5 КБ: классификатор решает, отправлять ли пуш на телефон, и в собственной статистике агента он не виден. На скорости это почти не сказывается (3,3 секунды против 3,2), сказывается на окне: 113 тысяч токенов занимают 11% окна в миллион и заняли бы 57% окна в 200 тысяч. Оговорки автора: мерил только режим -p, где отложенной загрузки инструментов может не быть, часть встроенных инструментов приходит из десктопного приложения, версии у всех свои.
Зачем вам: описания инструментов вашего MCP-сервера уходят в каждый запрос каждого пользователя, даже когда тот просит ответить одним словом. 107 инструментов на 138 тысяч символов обходятся дороже всего системного промпта. Короткие описания и небольшие наборы инструментов под задачу пользователь заметит и по окну контекста, и по счёту.
Из рунета: 11 недель с агентом-тестировщиком, 77 находок против 16, на каждый час агента 0,77 часа человека
Алексей Ковалёв 22 сентября выложил замеры по своему открытому набору скиллов paranoid-qa для Claude Code. Часы агента он считал как активное время по транскриптам, отбрасывая паузы длиннее 30 минут, свои часы как время присутствия. В зачёт шли только дефекты, подтверждённые финальным вердиктом сессии. За одиннадцать недель агент отработал 277 часов, человек 213. Подтверждено 94 дефекта: 77 нашёл агент, 16 человек, один вместе. До подтверждения доживает примерно каждый третий кандидат агента, около 130 сняты. Соотношение часов 1 : 0,77 почти не менялось от недели к неделе. Лучшая отдача там, где есть эталон: сверка с макетом или ТЗ дала 1,36 находки в час, UI-прогоны 0,60, разбор упавших автотестов 0,58.
Промежуточные итоги агента внутри сессий дали 80 находок, после сверки с финальными вердиктами осталось 39 (ещё четыре подтвердились позже). И обратная сторона: агент пропустил 6 дефектов, около 8% от своих 77, все шесть нашёл человек, и два из них на ретесте: агент смотрел туда, где чинили, и не заметил, что сломалось рядом. Экономику автор считает так: на тех же задачах выходит около 16% экономии, а не «в пятнадцать раз». Оговорки автора: вердикты выносит он сам, при параллельных сессиях его присутствие считается дважды, примеры обезличены.
Зачем вам: в прошлом выпуске итоговый отчёт кодинг-агента упоминал одно действие из одиннадцати. Здесь промежуточные отчёты агента о находках завышены почти вдвое. Отчёт агента о своей работе на двух разных корпусах ошибается в обе стороны, поэтому засчитывать его работу стоит по финальной проверке, а в интерфейсе надзора показывать, сколько кандидатов подтверждено, а не сколько заявлено.
Реплика недели
Две недели подряд ломались каналы, по которым одна сторона сообщает другой, что происходит.
Не все: OpenAI сама выложила девять отчётов и расписала DNS-инцидент по минутам, её внутренний монитор сработал через 12 минут. Но это канал изнутри наружу о том, что компания решила рассказать.
OpenAI сообщила австралийскому ведомству о визите своего агента почти через три месяца и на общий почтовый ящик. Еврокомиссия о RubyGems узнала не из формального отчёта. Отчёт о шести с половиной тысячах записей в urlquery.net со следами агентов выпустила не OpenAI, а сторонняя лаборатория.
Ниже по стеку то же самое. Инструменты в реестре MCP выставляют destructiveHint в 65,8% случаев, а осмысленно заявляют разрушительную операцию в 3,1%. Окно подтверждения показывает человеку действие A, а выполняется B. Агент в середине сессии рапортует о 80 находках, к финалу их 39. Клиент кодинг-агента на каждом ходу отправляет второй запрос, которого нет в его собственной статистике. И даже хорошие боты больше чем в половине случаев забирают страницу, которая не изменилась, хотя сказать «не изменилась» HTTP умеет давно.
Работало в эти две недели то, что проверяют снаружи. Transluce нашла следы по публичным записям чужого сервиса. Corky увидел реальный запрос, поставив прокси. Ковалёв пересчитал находки по финальным вердиктам, а не по словам агента. OpenAI Agents SDK в работе про Loopjacking отклоняет вызов, если он изменился после одобрения. Ничего из этого не требует верить на слово тому, кто сообщает о себе.