1. Input-guardrails для LLM-приложений, до модели
Каждое правило guardrail несёт стадию —input, output или
both. Правило input выполняется по тексту запроса в момент его
прибытия, по пути к вышестоящей модели:
Правила input проверяют запрос вызывающей стороны. Если вы также
используете промпты из реестра, внедрённое
системное сообщение добавляется позже на этапе маршрутизации — поэтому
правила input видят сообщения, которые отправило ваше приложение, а не
внедрённый промпт. Правила output в любом случае проверяют ответ.
2. Что можно выполнять на стадии input
Любой тип правила может выполняться наinput. Самые частые причины
шлюзовать запрос до модели:
Маскировать PII в промпте
Правило
pii с действием mask переписывает сущности в
типизированные теги (jane@acme.com → [EMAIL]), так что
вышестоящая модель никогда не видит сырое значение. См.
PII Shield.Блокировать секреты до утечки
Запрос, несущий API-ключ или облачные учётные данные, отклоняется на
пороге — до тарификации, без вышестоящего вызова. См.
Блокировка секретов.
Останавливать попытки инъекций
Пресет Prompt-Injection basics сочетает детекторы keyword/regex с
правилом
llm_judge для намерения инъекции. См.
Prompt injection.Ограничить размер промпта
Правило
max_chars отклоняет слишком большой промпт прежде, чем он
затарифицирует токены. См.
Cost guardrails.keyword, regex, pii, max_chars,
external, llm_judge, grounding — и пять действий block,
mask, flag, annotate и spotlight применимы здесь. (spotlight
оборачивает совпавший недоверенный текст в разделители, чтобы модель
трактовала его как данные, а не инструкции — защита от prompt-инъекций
на стадии input; annotate прикрепляет заметку, не меняя трафик.) Одно
исключение стоит знать:
grounding
измеряет ответ относительно извлечённых источников, так что это по
своей природе проверка стадии output. Всё остальное естественно
подходит для стадии input.
3. Один конкретный пример
Создайте правило в консоли (под собственной сессией — конфигурация guardrail требует Developer+), а не с relay-ключом. Добавьте одно правилоinput к guardrail с именем secrets-shield:
guardrail_id или пометьте его
default’ом рабочего пространства — см.
Привязка к ключу), затем
вызовите шлюз этим relay-ключом sk-orca-...:
guardrail_blocked прежде, чем шлюз перешлёт что-либо вышестоящей
системе:
guardrail_blocked
для полной формы ответа.
4. Почему блокировка input не стоит квоты
Это структурное преимущество перехвата на входе. Блокировка на стадии input сидит до предварительного списания, поэтому:| Свойство | Блокировка на стадии input |
|---|---|
| HTTP-статус | 400 guardrail_blocked |
| Списанная квота | Никакой — срабатывает до тарификации |
| Вышестоящий вызов | Никогда не делается |
| Повтор | Помечено skip-retry — повторный прогон снова блокируется |
Поскольку запрос никогда не доходит до канала, блокировка input
помечается skip-retry: повторный прогон того же промпта по другому
каналу просто снова заблокировался бы и потратил усилия впустую. Стадия
output отличается — блокировка там возвращает квоту, которую шлюз уже
предварительно списал. Тот же
400, другой учёт.5. Разрешение и откат
Правило стадии input выполняется, только если на запросе реально разрешается guardrail. Разрешение явное:- Явный
guardrail_idключа, если он существует и включён. - Иначе default-guardrail рабочего пространства.
- Иначе — никакого: запрос побайтно идентичен рабочему пространству без политики.
6. Докажите это перед шипом
Не привязывайте блокирующее правило input к боевому трафику на веру. Два способа сначала проверить:Вкладка Test — один образец
Вкладка Test — один образец
Откройте вкладку Test в редакторе guardrail, вставьте образец,
выберите стадию
input и запустите. Песочница оценивает текущую
политику локально — без вышестоящего вызова, без квоты — и
возвращает вердикт плюс (для правил mask) отрендеренный текст. См.
Тестирование и eval.Флагируйте, прежде чем блокировать
Флагируйте, прежде чем блокировать
Сначала установите действие flag. Флаг ничего не меняет в
трафике — он лишь записывает совпадение — так что вы можете измерить,
как часто правило сработало бы на реальном вводе, прежде чем
переключить его на block. См.
Настройка ложных срабатываний.
Посмотрите, что сработало
Посмотрите, что сработало
Каждое сработавшее правило записывает совпадение — тип, действие,
стадию и строку-деталь. Совпавшая подстрока записывается, только
когда включён Log raw content (по умолчанию выключен). См.
Ленту совпадений и
Логирование и приватность.
7. Куда двигаться дальше
Стадия input останавливает плохой ввод от достижения модели. Чтобы шлюзовать ответ модели, сочетайте её со стадией output; чтобы управлять вызовами инструментов агента, используйте firewall.- Правила стадии output — проверяют ответ модели после того, как он вернулся.
- Стадии и
both— когда выполнять правило на input, output или обоих. - Защита ИИ-агентов — где input-guardrails сидят в полном стеке управления.
- Угроза prompt-инъекции и эксфильтрация данных — атаки, которые правило input создано остановить.
