block, mask,
flag, annotate и spotlight. Эта страница покрывает три варианта
применения, к которым тянутся первыми: block, mask и flag. Выберите
одно на правило (или, для правила PII, направьте разные сущности к разным
действиям; см. §5). Два других
— действия формирования промпта, не блокирующие: annotate внедряет
заметку безопасности вышестоящей системе (см.
безопасность кода), а
spotlight оборачивает совпавший недоверенный ввод в разделители, чтобы
модель трактовала его как данные, а не инструкции. Полный реестр живёт в
обзоре Guardrails.
Более широкий движок — типы правил, стадии, привязка политики к ключу —
начните с обзора Guardrails или
полного справочника Guardrails.
1. Решение block mask flag в одну строку
block
Отклонить вызов с HTTP 400
guardrail_blocked. Модель никогда не
запускается (стадия input) или её ответ никогда не возвращается
(стадия output).mask
Отредактировать каждое совпадение — например,
jane@acme.com →
[EMAIL] — и пропустить очищенный текст дальше. Запрос продолжается.flag
Ничего не менять в трафике. Записать совпадение в ленту и
двигаться дальше. Только наблюдение.
Это три действия применения. Какое бы вы ни установили, оно соблюдается
везде, где выполняется правило — конструктор правил в консоли,
песочница Test и боевой путь
ретрансляции
/v1/* читают одно и то же значение block / mask /
flag.2. Один конкретный пример — три правила, три действия
Вот один guardrail, чьи три правила каждое выбирают разное действие. Вы создаёте его в консоли (/console/guardrails) на своей сессии —
relay-ключ sk-orca-... только для вызовов /v1/*, никогда для
редактирования политики. Создание или редактирование guardrail требует
роли Developer+.
- Правило block отклоняет любой промпт, содержащий один из этих литеральных терминов — HTTP 400, модель никогда не запускается.
- Правило mask переписывает emails и номера телефонов в
[EMAIL]/[PHONE]в промпте до того, как модель его увидит. - Правило flag наблюдает за выводом модели на предмет конфиденциального маркера и записывает совпадение, не меняя ответ — так что вы можете измерить, как часто он появляется, прежде чем решить применять.
3. block — отклонить с HTTP 400
Действиеblock отклоняет весь вызов. Вызывающий получает HTTP 400 с
кодом ошибки guardrail_blocked и сообщением, называющим guardrail и
сработавшее правило.
Квота не списывается
Квота не списывается
Блокировка на стадии input срабатывает до тарификации, так что
ничего не потребляется. Блокировка на стадии output возвращает
предварительно списанную квоту после отклонения ответа. В любом
случае вызывающий не платит за заблокированный вызов ничего.
Помечено skip-retry
Помечено skip-retry
Результат
guardrail_blocked помечен skip-retry — повторный
прогон того же промпта по другому каналу просто снова заблокировался
бы, так что шлюз не тратит повтор. См.
ошибку guardrail_blocked.Применяется и на стриминге
Применяется и на стриминге
На нестриминговом ответе ответ проверяется до того, как
вернётся. На стриминговом ответе сканер режет поток на лету и
выдаёт сообщение-замену прежде, чем заблокированный контент дойдёт до
клиента. См.
покрытие стриминга.
block, когда совпадение означает, что запрос не должен
продолжаться — секреты в промпте, попытка jailbreak, жёсткая линия
комплаенса.
4. mask — отредактировать и продолжить
Действиеmask редактирует каждое совпадение и пропускает запрос
дальше с очищенным текстом. Вышестоящая модель никогда не видит
оригинал. На правиле PII каждое совпадение заменяется типизированным
тегом, выведенным из сущности — email становится [EMAIL], SSN
становится [SSN], кредитная карта [CREDIT_CARD] и так далее. (Вы
можете переопределить строку замены для каждой пользовательской сущности;
см. форматы маскирования.)
Маскирование на стадии input живо на каждом потоке. Оно переписывает
запрос до того, как модель запустится, со стримингом или без.
Маскирование на стадии output применяется только к нестриминговым
ответам — замаскированный текст пересылается после того, как полный
ответ проверен. На стриминговом ответе шлюз вычисляет маску, но пока
не пересылает отредактированный текст, так что правило mask сегодня
не редактирует стриминговый ответ; маскирование вывода in-stream в
дорожной карте. (Output block всё равно режет поток на лету — см.
§3.) Сначала докажите вашу конкретную комбинацию стадии/потока в
песочнице. См.
покрытие стриминга.
mask, когда содержимое в порядке, но подстрока не
должна дойти до модели — редактирование PII каноничный случай.
Готовая отправная точка — пресет PII Shield; см.
PII Shield.
5. flag — только лог, ничего не меняет
Действиеflag — только наблюдение: запрос побайтно идентичен тому,
что без правила вообще, за исключением того, что совпадение записывается
в ленту Matches. Ничего не
блокируется, ничего не редактируется.
Флагированное совпадение записывает тип правила, действие, стадию и
строку-деталь — а совпавшую подстроку только если Log raw content
включён для этого guardrail (по умолчанию выключен, консервативная по
приватности позиция). См.
логирование и приватность.
6. Переопределения действия по сущности
Одно правило PII может направлять разные сущности к разным действиям черезentity_actions, вместо стопки перекрывающихся правил.
Каждое значение переопределения должно быть одним из block / mask /
flag / annotate и должно ссылаться на сущность, которую правило уже
объявляет — валидатор отклоняет всё остальное.
7. Выбор правильного действия
| Если вы хотите… | Используйте | Эффект |
|---|---|---|
| Остановить запрос целиком | block | HTTP 400, нет квоты, skip-retry |
| Убрать подстроку, сохранить вызов | mask | Отредактированный текст переслан |
| Наблюдать, не трогая трафик | flag | Только записано совпадение |
Действия компонуются со стадиями. То же действие ведёт себя
немного по-разному на input против output — блокировка input экономит
квоту заранее; блокировка output её возвращает; маскирование output
применяется только к нестриминговым ответам, тогда как блокировка output
режет стриминговые и нестриминговые ответы одинаково. Прочтите
стадию input и
стадию output рядом с этой
страницей.
8. Куда двигаться дальше
Ошибка guardrail_blocked
Как выглядит 400, почему он не стоит квоты и как работает skip-retry.
Форматы маскирования
Типизированные теги, пользовательские строки замены и как
замаскированный промпт читается модели.
Покрытие стриминга
Точно какие комбинации действие × стадия × поток применяются сегодня.
Режимы применения
Как block / mask / flag отображаются на более широкую модель
применения шлюза, включая audit-вердикт firewall.
