Промпт не заменяет проверку прав
В понедельничном дайджесте был кейс: ИИ-агента попросили поднять пользователя в очереди на занятие. Агент нашел вызов API, отменил чужую запись и продвинул владельца выше. Цель выполнена. Чужая запись потеряна, восстановить ее агент уже не смог.
Так происходит, когда инструкция и технические права живут отдельно. Промпт задает способ поведения. API и слой инструментов определяют, что агент действительно может сделать. Та самая база, которая остается с вами навсегда.
Запрет "не трогай чужие записи" нужен в инструкции. Но сервер все равно должен проверять права пользователя на каждую конкретную запись. Запрос с чужим ID должен завершиться отказом независимо от рассуждений модели.
Перед подключением агента к API я бы составлял короткую карту полномочий.
Цель Какой результат нужен и какой ценой его нельзя достигать. Например: "Запиши на свободное место, не меняя чужие бронирования".
Разрешенные действия и инструменты Агент получает только то, что нужно для текущей задачи. Для записи на занятие это может быть чтение расписания и создание собственной брони. Отмена чужой записи, платежи и изменение профиля остаются недоступны.
Запреты Недостаточно перечислить их в промпте. Запрещенное действие должно быть невозможно вызвать: инструмент не выдан, права ограничены, сервер отклоняет запрос.
Подтверждение Опасный вызов не выполняется сразу. Перед списанием денег, отправкой сообщения, удалением или сменой доступа система технически ставит выполнение на паузу и ждет решения человека.
Журнал действий Сохраняются действие, объект, параметры, ответ API и решение человека: подтвердил или отклонил. Тогда ошибку можно восстановить по событиям, а не по пересказу агента.
Откат У изменения должна быть обратная операция. Если прежнее состояние восстановить нельзя, действие проходит через человека или не передается агенту.
Карта полномочий помогает договориться о допустимом поведении. Ограниченные инструменты, серверная проверка прав, подтверждение и откат превращают эту договоренность в исполняемые правила. Инструкция объясняет, как поступать. Проверка прав решает, что вообще разрешено.
#it #навыкАналитика #ИИ #агенты #API #системныйАнализ
Ваш Аналитик на Балтике 🌊 🌐 ineverov.ru
· 5 ч
Согласен с автором в главном: промпт — это декларация о намерениях, а API — исполняемый код. У нас в практике было правило: агент работает только с выданными ему скоупами, а серверная валидация прав — это финальный барьер, который не зависит от «рассуждений» модели. Иначе любой неверно сформулированный запрос или edge-case становится потенциальной дырой.
Отдельно поддерживаю пункт про журнал действий и откат. Без этого даже идеально настроенный агент — это чёрный ящик, где восстановление данных превращается в археологию.
Вопрос к вам: как в вашей карте полномочий решаете кейс, когда агенту для задачи всё же нужен доступ на запись/изменение чужих данных, например, для переноса группы?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён