С ChatGPT мы уже наигрались. Вопрос «умеет ли модель отвечать?» давно из разряда «а у машины есть руль?». Настоящий повод нервно пить чай — это мысль, что ИИ-агент в 2:00 ночи сам утвердит контракт на шесть цифр… потому что кто-то опечатался в настройках.
Когда ты даёшь системе право действовать без подтверждения человека, это уже не «умный чатик с кнопкой API». Это почти сотрудник. Только без чувства стыда и без страха перед бухгалтерией.
Проблема автономности, о которой неудобно говорить
Модели научились звучать уверенно. Прямо как человек, который «точно помнит», где припарковался — и водит тебя по двору 20 минут.
Уверенность и надёжность — разные вещи. И в зазоре между ними продакшен обычно и умирает.
Любимый пример из жизни команд, которые реально внедряют агентов: агент для календаря топ-менеджеров. Задача вроде детская — посмотреть слоты, разослать инвайты, разрулить конфликты. Но однажды такой агент перенёс заседание совета, потому что фразу «давайте подвинем, если надо» воспринял как команду «подвинь». Это было правдоподобно. А правдоподобие — плохая валюта, когда система действует сама.
Важно не то, что агент «работает почти всегда». Важно, чтобы он ошибался безопасно, понимал свои границы и имел «автомат», который выбивает пробки до пожара.
Надёжность — это слоёный пирог
В обычном софте всё привычно: повторы, проверки, аккуратные падения, тесты. А ИИ — штука вероятностная. Он не просто «ломается», он может сочинить несуществующий адрес или неверно понять контекст — и внешне всё будет выглядеть логично.
Поэтому первый слой — это модель и инструкции. Да, бери лучшую модель, которую можешь позволить. Да, пиши нормальные инструкции с примерами. Но не надо верить, что «сильная модель + отличный промпт» автоматически превращаются в корпоративный продукт. Это как считать, что дорогой внедорожник заменяет водительские права.
Второй слой — жёсткие проверки перед действием. До любого необратимого шага: списки разрешённых действий, контроль формата, ограничения по суммам и адресатам. У агента есть шаблон действия — «создать платёж», «отправить письмо», «удалить запись». У каждого шаблона обязательные поля и правила. Агент предлагает действие строго в этом виде, система валидирует. Не прошло — возвращаем ошибки, он исправляет и предлагает заново.
Третий слой — умение сказать «я не уверен». Хороший агент не тот, кто всегда бодро отвечает. А тот, кто иногда честно признаётся: «формулировка двусмысленная». Вместо магической «вероятности 0.83» полезнее, когда агент проговаривает сомнение вслух — это создаёт точки, где можно подключить человека.
По-хорошему, режимы такие: уверен — делает сам; сомневается — отправляет на проверку; не понимает — блокирует и объясняет почему. Как светофор, только дорогостоящий.
Четвёртый слой — наблюдаемость. Если ты не можешь восстановить «как агент думал», ты ему не доверишь ничего серьёзного. Нужны логи: что он видел, что решил, что собирался сделать. Когда случится инцидент — а он случится — у тебя будет не мистическая история, а нормальная реконструкция.
Ограничители: искусство говорить «нет»
Многие прикручивают защиту в конце: «если что — добавим проверки». На практике надо наоборот: сначала границы, потом интеллект.
Первый тип — границы прав: что агент вообще может делать. Рабочая схема — «ступени автономности»: новичок стартует с режима «только читать», потом получает право на мелкие безопасные записи, а деньги, внешние письма и удаление данных — только через подтверждение. Плюс дневной бюджет риска: прочитать запись — 1 единица, отправить письмо — 10, запустить оплату — 1000. Бюджет закончился — зовём человека.
Второй тип — границы смысла: что «по теме», а что нет. Агент поддержки отвечает про продукт, возвраты и жалобы. Просьбы «посоветуй акции» или «помоги с чужим сервисом» — вежливо отшивает. Пользователи будут пытаться уговорить агента нарушить правила, иногда даже не из вредности, а «ну тебе же не сложно». Поэтому границы должны быть несколькими слоями защиты, а не одной строчкой в инструкции.
Третий тип — границы работы: лимиты на запросы, стоимость, число попыток. Типичный кошмар без них: агент пытается разрулить конфликт в расписании и начинает слать приглашения одно за другим. Без ограничений — сотни инвайтов за час. С лимитами — упрётся в потолок и позовёт человека после пятой неудачи.
Почему тесты для агентов — это отдельный жанр
Обычное тестирование тут не спасает. С ИИ «краевой случай» — почти всё.
Первое — песочница-симулятор. Копия продакшена с фейковыми данными и заглушками вместо сервисов. Пусть агент там бегает и ломает мебель. Сценарии должны быть злыми: двусмысленные просьбы, противоречия, сбои, «клиент на эмоциях».
Второе — разрушительное тестирование (red teaming — когда люди целенаправленно пытаются сломать агента). Не только безопасники, но и те, кто знает бизнес-процессы. Продажники, например, умеют убеждать — и иногда выясняется, что твой агент слишком доверчивый.
Третье — теневой режим: агент предлагает действия, но выполняет их человек. Потом сравниваешь решения. Больно и медленно, зато вылезают тонкие вещи — по тону общения, по этике, по «формально правильно, но по-человечески ужасно».
Ошибки всё равно будут. Вопрос — какие
Одни агент замечает сам и чинит попыткой номер два — терпимо. Другие замечает мониторинг, и люди успевают откатить — тут спасают логи. А самые неприятные — те, которые никто не заметил. Агент неделями чуть-чуть неправильно трактует запросы или вносит «почти верные» данные. Потом просыпаешься и понимаешь, что у тебя не баг, а привычка системы.
Лекарство скучное: регулярные проверки выборки действий живым человеком. Не «да/нет», а разбор: где дрейф, где повторяющиеся промахи.
Надёжность стоит денег. И это нормально
Каждый уровень защиты добавляет задержки и стоимость. Поэтому подход должен быть по риску: генератор маркетинговых текстов может жить свободнее, чем агент, который трогает деньги или внешние письма. Самое важное — не пытаться сделать «одинаково безопасно всё». Важно заранее решить, где цена ошибки высокая, и вложиться именно туда.
В итоге автономные агенты похожи на нового сотрудника, который работает 24/7 и не устаёт, но иногда понимает задачи слишком буквально. Поэтому ему нужны не мотивационные речи, а должностная инструкция, лимиты, журнал действий и кнопка «стоп».
Как в офисе: можно доверить стажёру распечатать документ. Но давать ему доступ к печати «всех договоров за квартал» — это уже просьба к принтеру о мести.