➡️ Layer 4 - Надзор
То, как вам будет отвечать ллм безусловно зависит от промпта, который вы ей скормите, однако именно ВЫ ответственны за итоговый output. А это в свою очередь значит :
- если пользователь сможет встроить свои инструкции в промпт
- если вы заюзаете непроверенную модель или натрените на уязвимых данных или допустите инъекцию на любом уровне
- если модель ошибётся или что-то перепутает
По шапке дадут вам. Лично. Персонально.
Это значит вывод нужно валидировать.
Называется это Guardrails - это валидаторы вокруг ответов ллм, которое делает её поведение безопасным. Охранник на выходе с завода. Проверяет чтобы вы не внесли ничего запрещенного и шли только туда куда ваш пропуск разрешает. А на выходе - чтобы вы не унесли с собой наружу мешок с деталями и бумажку с рецептами.
Можно поделить на условные категории:
➡️ Human in the loop (HITL). Вы должны заранее подумать какие из действий агента являются "критическими" для системы/пользователя/компании. Такие экшены хорошо бы проводить через аппрув человека. Делаете саммари из недавней истории, ллм объясняет причину вызова экшена -> человек изучает и нажимает аппрув -> цепочка агента продолжается/завершается.
➡️Input guards -> обычная валидация входных данных + детект prompt injections/jailbreaks, что-то алгоритмически, что-то можете на ту же ллм повесить в виде доппроверок.
➡️Output guards -> проверка на схему. Старайтесь всегда заворачивать то, что отдаёт модель в жёсткий формат (JSON Schema), так проще валидировать, контролировать, а так же самой ллм проще не ошибаться на выходе. Плюсом - можно попросить саму модель починить/доискать/додумать сломанные поля если это подразумевает сценарий.
Тут еще можно проверять на тон ответа, наличие матов, плохих советов и прочего. У openai кстати есть для этого бесплатная моделька/апи.
➡️Tool call guard - вы должны дизайнить агента так чтобы он еще до момента вызова тулов имел ограничения. В выборе тулов для вызова, ограничение пермишнов внутри экшнов (токены аутентификации носите рядом и алгоритмически проверяйте), рид-онли роли - тут в целом агент/ллм можно рассматривать как "пользователя с улицы, который хочет воспользоваться вашим апи". В параметры вызова тулы может тоже галлюцинации приезжать. Zero-trust. Метадату храните рядышком с контекстом - в долгосрочной памяти, ллм в целом об этом ничего знать не должна. Не доверяйте ллм проверку пермишнов - это красная линия.
Ну и на закуску - недавно вышел AI OWASP 2026 (кто уже задолбался обычные проходить в конторах ставьте грустного клоуна хД) - набор правил/предостережений/советов по секурити от owasp.org.
Вот тут по AI OWASP бесплатную PDF можно скачать
В целом, ваш агент готов для прода, поздравляю!
Много еще можно на самом деле добавить, т.к. тема весьма обширная и каждый пункт можно раскрывать отдельно, но сами всё понимаете.
Вот что еще можно поресёрчить по теме: Retrieval-Augmented Generation (RAG), async pattern, golden vs synth datasets для тестирования, error-handling стратегии, оптимизация размера контекста при долгих сессиях, антипаттерны, "плохой/мусорный" контекст, LLM-as-a-Judge.
Надеюсь, было хоть немного полезно! 🤟
Буду благодарен за репосты к себе на линкед/блог. Ужасно сложно нынче искать читателей 🧃 Спасибо! ❤️
@Айтигребец