Saltar al contenido principal
Un prompt descontrolado es una factura descontrolada. Un agente que pega una transcripción de 400KB en el contexto, un bucle de reintentos que sigue reenviando la misma solicitud hinchada, un modelo que transmite un muro de 50.000 caracteres de texto — cada uno factura tokens que nunca quisiste gastar. La categoría de presets cost pone un techo duro delante de esas solicitudes para que el gateway las detenga antes de que lleguen al modelo upstream y se midan. Este es un aterrizaje enfocado para el caso de uso de control de coste. Para el motor de guardrails completo — cada tipo de regla, campo y ruta — ver la referencia de Guardrails.

1. El caso de uso del guardrail de coste de llm

La palanca es un tipo de regla integrado: max_chars. Limita el conteo de caracteres del texto en una etapa. Sin llamada a modelo, sin salto de red — una verificación de longitud determinista que se ejecuta en la solicitud antes de la medición, o en la respuesta después de que el modelo regresa. Dos formas, elegidas por la acción de la regla:

Bloquear solicitudes sobredimensionadas

En una regla max_chars de solicitud con acción block, cualquier prompt por encima del límite es rechazado con HTTP 400 guardrail_blocked — y una solicitud bloqueada no cuesta cuota, porque el bloqueo se dispara antes de que se mida el uso.

Recortar respuestas sobredimensionadas

En una regla max_chars con acción mask, el texto se trunca al límite en vez de rechazarse — el llamador aún obtiene una respuesta utilizable, solo que acotada. Útil en la etapa de respuesta para topar el egress.
El tope cuenta caracteres (consciente de runes — 日本語 son tres, no nueve), no tokens. El preset orientado a tokens que viene traduce un presupuesto de tokens a un techo de caracteres en la proporción estándar char→token; ajusta el campo max_chars de la regla directamente para un presupuesto más estricto.

2. Los presets de coste que vienen

Abre el botón dividido New guardrail en la consola y elige de la categoría de plantillas cost. Tres presets crean una sola regla max_chars cada uno:
PresetEtapa · acciónTope
Prompt-Size Capinput · block50.000 caracteres
Token Cost Cap (prompt)input · block200.000 caracteres (~50K tokens)
Response Size Capoutput · block32.000 caracteres
Cada preset es una semilla, no un candado — aplícalo, luego edita el valor max_chars, la etapa o la acción para ajustar tu presupuesto. Crear y editar guardrails requiere Developer+ en el espacio de trabajo.
El Response Size Cap es un tope de la etapa de salida. Para recortar una respuesta larga en vez de rechazarla, cambia su acción a mask — el gateway recorta la respuesta al límite y el usuario todavía obtiene una respuesta truncada-pero-utilizable en vez de un error.

3. Crea tu propio tope

Una regla de coste es la regla más simple del motor — una etapa, una acción y un entero. Para topar las solicitudes en 20.000 caracteres y rechazar cualquier cosa mayor:
{
  "type": "max_chars",
  "stage": "input",
  "action": "block",
  "max_chars": 20000
}
Añádela a cualquier guardrail en la consola. max_chars debe ser un entero positivo; el validador rechaza 0 o valores negativos.

4. Prueba antes de vincular

Prueba que el tope se dispara donde esperas antes de que cualquier clave lo apunte. Abre la pestaña Test dentro del editor del guardrail, pega una muestra, elige la etapa input y ejecuta la política actual localmente — sin llamada upstream, sin cuota. Una muestra por encima del límite devuelve un veredicto bloqueado; una muestra por debajo del límite pasa intacta. Para una regla de recorte, el sandbox muestra el texto renderizado truncado, así que puedes confirmar que el tope cae en un límite de rune antes de depender de él.

5. Vincula el tope a una clave

Un guardrail de coste resuelve exactamente como cualquier otro — vincúlalo a una clave API, o establécelo como valor por defecto del espacio de trabajo. Cada paso aquí es una acción de consola bajo tu propia sesión.
1

Guarda el guardrail

Crea o abre un guardrail en la consola, añade una regla max_chars (o aplica un preset de coste), y guarda.
2

Vincula una clave

Edita una clave API y elige el guardrail del desplegable Guardrail (establece guardrail_id en la clave), o marca el guardrail como valor por defecto del espacio de trabajo. Ver Vincular a una clave y Valor por defecto de cuenta.
3

Envía una solicitud

Usando esa clave, llama a OrcaRouter exactamente como antes — sin nuevas cabeceras, sin cambio de SDK:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "...a very long prompt..."}
    ]
  }'
Si el prompt está por encima del tope, la llamada devuelve HTTP 400 guardrail_blocked y nada se factura.

6. Qué cuesta una solicitud bloqueada

Un tope de la etapa de solicitud es el guardrail más barato de aplicar: se ejecuta antes de que se mida el uso, así que un prompt sobredimensionado es rechazado a coste cero de cuota.
No. Un bloqueo en la etapa de entrada se dispara antes de la medición. Un bloqueo en la etapa de salida reembolsa la cuota preconsumida después de que la respuesta es rechazada. En cualquier caso el llamador no paga cuota, obtiene HTTP 400 guardrail_blocked, y la solicitud se marca como skip-retry — reejecutar el mismo prompt sobredimensionado simplemente volvería a bloquear. Ver el error guardrail_blocked.
Un block de max_chars en la etapa de salida se aplica en ambos sentidos: en una respuesta sin streaming la respuesta se examina antes de regresar, y en una respuesta con streaming un escáner corta el stream en pleno vuelo una vez que el buffer cruza el tope. Un mask (recorte) en la salida actualmente se aplica solo a respuestas sin streaming. Ver Cobertura de streaming.
No. Una regla max_chars no tiene concepto de subcadena, así que el Feed de coincidencias registra que el tope se disparó — su tipo, acción y etapa — pero nunca una subcadena coincidente, ni siquiera con Log raw content activado. Obtienes la señal de que se disparó sin re-capturar el payload sobredimensionado.

7. Dónde encaja esto

Un tope max_chars es una palanca de coste contundente — un techo duro, no un presupuesto de gasto por clave. Para topar dólares en vez de caracteres, establece credit_limit_usd en la propia clave API (0 = ilimitado), que el gateway aplica independientemente de cualquier guardrail. Los dos se apilan: el presupuesto de la clave acota el gasto total, el guardrail de coste acota el tamaño de cualquier solicitud o respuesta individual.
Un guardrail de coste examina el tamaño del contenido, no la elección de modelo o la decisión de enrutamiento. Rechaza un prompt sobredimensionado independientemente de qué modelo lo atienda. Para gobernar las llamadas a herramienta de un agente — denegar acciones destructivas o retenerlas para aprobación — usa el Firewall, que decide sobre la superficie de llamada a herramienta (allow / deny / pending_approval), no la superficie de contenido.

8. Dónde ir a continuación

Reglas de la etapa de entrada

Cómo el examen de la solicitud se ejecuta antes de la llamada upstream y antes de la medición.

Reglas de la etapa de salida

Examinar y recortar la respuesta del modelo, con y sin streaming.

El error guardrail_blocked

La forma del HTTP 400, la garantía sin cuota y skip-retry.

Pruebas y eval

Prueba un tope contra un corpus antes de vincular una clave.
Los topes de coste acotan el tamaño. Para acotar el contenido — PII, secretos, prompts inseguros — empieza con la Visión general de guardrails o lee la referencia de Guardrails para el motor completo.