guardrail_blocked. Эта страница —
посадочный справочник по этой одной ошибке: как выглядит тело, почему
оно ведёт себя так, как ведёт, и как обработать его в клиентском коде.
Движок политик за ним см. в
обзоре Guardrails и
полном справочнике.
1. Когда вы видите guardrail_blocked
Guardrail — это упорядоченный список правил, которые шлюз прогоняет по входу запроса и выходу модели. Когда срабатывает правило, чьё действие — block, вызов отклоняется — вышестоящая модель никогда не вызывается (стадия input) или её ответ удерживается (стадия output). Клиент получает 400, несущийguardrail_blocked.
Никакое другое действие не производит эту ошибку. mask редактирует
совпадение и пропускает очищенный текст, flag записывает совпадение,
не меняя трафик, а действия формирования промпта (annotate,
spotlight) дают вызову продолжиться, добавляя заметку или оборачивая
недоверенный текст. Из пяти действий только block отклоняет. См.
Действия.
guardrail_blocked — это контентный отказ (текст на входе, текст на
выходе). Сопутствующий отказ политики инструментов — firewall_blocked
из Agent Firewall — другая ошибка с другой
формой. См.
guardrails vs. firewall.2. Тело ответа
Блокировка возвращается в стандартном OpenAI-образном конверте ошибки шлюза. На эндпоинте OpenAI-стиля (/v1/chat/completions,
/v1/responses):
code — guardrail_blocked
code — guardrail_blocked
Стабильный машинный идентификатор. Ветвитесь на нём, а не на строке
сообщения. Это одно и то же значение на каждом эндпоинте, и оно
никогда не локализуется.
message — называет guardrail и правило
message — называет guardrail и правило
Человекочитаемое. Форма —
request blocked by guardrail "<name>": <detail>, где <detail> суммирует сработавший(ие) тип(ы) правил как
<type>(<rule-detail>) — например pii(pii: ssn) или
keyword(matched 1 keyword(s)). Блокировка на стадии output
читается как response blocked by guardrail "<name>": <detail>, так
что глагол говорит вам, какая стадия отклонила вызов. Сообщение
проходит через маскирование чувствительной информации до того, как
покинет шлюз, так что не ждите сырой совпавшей подстроки здесь.type — orcarouter_api_error
type — orcarouter_api_error
Общий тип ошибки шлюза на эндпоинтах OpenAI-стиля.
Различающий сигнал —
code, а не type./v1/messages) конверт
Claude-образный — {"error": {"type": ..., "message": ...}} — и
guardrail_blocked всплывает в поле type, так что нативный SDK
Claude может отличить отказ политики от общего сбоя шлюза.
3. Почему guardrail_blocked не стоит квоты
Заблокированный запрос бесплатен — он никогда не списывает с вашего кредитного баланса.| Стадия | Когда срабатывает блокировка | Эффект на квоту |
|---|---|---|
input | До вышестоящего вызова, впереди тарификации | Ничего не тарифицируется |
output | После ответа модели, до возврата ответа | Предварительно списанная квота возвращается |
4. Почему guardrail_blocked пропускает повтор
Ошибка помечена skip-retry. Собственная маршрутизация шлюза не переключит этот запрос на другой канал, потому что блокировка — это свойство вашего содержимого и вашей политики — повторный прогон идентичного промпта просто снова заблокировался бы на следующем канале и потратил попытку.5. Обработка в клиентском коде
Ветвитесь на полеcode и покажите полезное сообщение конечному
пользователю вместо повтора.
sk-orca-... здесь — relay-ключ; он несёт только трафик
/v1/*. Вы никогда не редактируете им guardrail; создание и привязка
политики — действие консоли / management-API на вашей сессии, а создание
или редактирование guardrail требует роли Developer+.
6. Подтверждение и настройка блокировки
Каждое сработавшее правило — включая block — попадает в ленту Matches рабочего пространства с его типом, действием, стадией и строкой-деталью. Именно там вы подтверждаете, какое правило отклонило данный вызов, и сортируете ложные срабатывания.Лента Matches
Смотрите каждый block, mask и flag с типом, действием и стадией.
Совпавшая подстрока появляется, только когда включён Log raw
content.
Логирование и приватность
Сырое содержимое по умолчанию выключено — консервативная по
приватности позиция. Включайте его для каждого guardrail, когда
подстрока нужна для сортировки.
Настройка ложных срабатываний
Ложное срабатывание — это сигнал к настройке, а не причина отключить
правило. Пометьте его и сузьте паттерн.
Версионирование
Изменили политику и хотите отменить? Сравните любые две версии и
откатитесь как новой версией — история никогда не мутируется.
На стриминговом ответе output block всё равно применяется:
сканер режет поток на лету, прежде чем заблокированный контент дойдёт до
клиента. Output mask также применяется in-band на потоках — сканер
переписывает совпадение в скользящем буфере прежде, чем выдан безопасный
префикс. См.
покрытие стриминга и
stream-safe правила.
7. Связанное
Понять политику
Понять политику
Увидеть на боевом трафике
Увидеть на боевом трафике
Отобразить на концепции и угрозы
Отобразить на концепции и угрозы
