¿Es Grok realmente sin censura? Cómo probarlo tú mismo
Actualizado
¿Es grok realmente sin censura? La respuesta precisa es que ningún modelo alojado está libre de reglas, y el comportamiento de Grok depende del producto, el modo y la fecha. En lugar de confiar en una etiqueta, puedes medir los rechazos en tus propios prompts, y esta página muestra cómo.

Respuesta corta y por qué la etiqueta engaña
La gente pregunta si grok es realmente sin censura porque el modelo se ha comercializado como menos restringido que algunos rivales. Si eso coincide con tu experiencia depende de qué preguntes, qué producto uses y cuándo lo preguntes. xAI cambia sus modelos, prompts del sistema y políticas con el tiempo, por lo que cualquier afirmación aquí sobre un comportamiento específico envejecerá rápidamente. Para las reglas actuales, lee la documentación y la política de uso de xAI.
Lo que se puede decir con confianza es estructural. Todo modelo alojado de una empresa está dentro de un conjunto de reglas: legales, de plataforma y de entrenamiento. Incluso un modelo vendido como permisivo rechazará algunas peticiones. Así que la pregunta útil no es si es sin censura, sino si rechaza las cosas específicas que necesita tu producto. Eso es algo que puedes medir en una tarde.
Las cuatro capas de donde vienen los rechazos
Cuando un chatbot dice no, la causa puede estar en uno de cuatro lugares. Saber cuál ayuda a elegir una solución.
1. Entrenamiento del modelo
La mayoría de los modelos de chat se entrenan después del preentrenamiento para rechazar ciertas peticiones. Esto vive en los pesos. No puedes eliminarlo con un prompt del sistema, aunque la redacción y el contexto pueden cambiar con qué frecuencia se activa. Los modelos de pesos abiertos pueden ser ajustados aún más por sus proveedores para reducir estos rechazos, que es lo que se ha hecho con el modelo detrás de esta API.
2. Prompt del sistema y reglas del producto
La aplicación alrededor del modelo añade instrucciones que no ves: tono, temas a evitar, formato. Un modelo usado a través de una aplicación de consumidor puede comportarse de manera diferente al mismo modelo llamado a través de una API con tu propio mensaje del sistema.
3. Filtros de entrada y salida
Algunos servicios ejecutan un clasificador separado en tu prompt o en la respuesta y bloquean o reescriben el resultado. Puedes ver un error genérico en lugar de una frase de rechazo.
4. Límites legales y de política
Los proveedores deben seguir la ley donde operan. El contenido ilegal se bloquea en todas partes, y ningún servicio respetable cambiará eso. Esta API tiene una regla fija de ese tipo: ningún contenido sexual que involucre a menores de edad.
Construye tu propia prueba de rechazo
Un conjunto de pruebas supera a las opiniones. Escribe 30 a 50 prompts que reflejen lo que realmente hace tu producto. Incluye tareas comunes como grupo de control, para que puedas distinguir un modelo que rechaza demasiado de uno que simplemente falla. Buenas categorías para herramientas de ficción y roleplay son la violencia en una historia de guerra, un villano moralmente ambiguo con diálogos persuasivos, preguntas médicas o legales francas, temas oscuros en terror y romance maduro manejado sin detalles explícitos.
El script a continuación envía cada prompt a un endpoint compatible con OpenAI, marca las respuestas que parecen rechazos e imprime una tasa. La lista de frases es básica, así que lee cada respuesta marcada tú mismo antes de sacar conclusiones.
import os
import json
from openai import OpenAI
client = OpenAI(base_url="https://api.grokuncensored.cc/v1", api_key=os.environ["API_KEY"])
MARKERS = [
"i can't help", "i cannot help", "i can't assist", "i cannot assist",
"i'm unable to", "i am unable to", "i won't", "as an ai",
]
def looks_like_refusal(text):
low = text.lower()[:300]
return any(m in low for m in MARKERS)
prompts = json.load(open("prompts.json")) # a list of strings
flagged = []
for p in prompts:
r = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": p}],
temperature=0.7,
seed=1,
)
text = r.choices[0].message.content or ""
if looks_like_refusal(text):
flagged.append((p, text[:200]))
print(len(flagged), "of", len(prompts), "flagged")
for p, t in flagged:
print("-", p[:80], "=>", t)Para comparar servicios, cambia solo base_url, la clave y el nombre del modelo, y mantén el archivo de prompts igual. Ejecútalo más de una vez en días diferentes, ya que el comportamiento puede cambiar. Mantén la configuración idéntica: mismo mensaje del sistema, misma temperatura, misma seed donde sea compatible.
Errores que arruinan una prueba de rechazo
Las pruebas de rechazo parecen simples, por eso a menudo se hacen mal. Estos son los errores que más a menudo llevan a conclusiones erróneas.
- Probar solo los prompts extremos. Un conjunto formado por solicitudes de peor caso te muestra el límite, pero tus usuarios viven en el medio. La mayoría de los prompts reales son escenas comunes, momentos de personajes y preguntas. Orienta el conjunto hacia lo que realmente esperas.
- Comparar diferentes configuraciones. Un cambio en la temperatura o el mensaje del sistema por sí solo puede desplazar las tasas de rechazo. Si comparas dos servicios, mantén todo lo demás fijo.
- Una ejecución, un día. Los modelos alojados y las capas que los rodean pueden cambiar. Repite la prueba con unos días de diferencia y guarda los resultados con fechas.
- Confiar en la lista de frases. Una respuesta que comienza educadamente y luego declina en el tercer párrafo escapa a una verificación de los primeros 300 caracteres. Amplía el tramo revisado, o lee una muestra a mano.
- Ignorar la calidad. Un modelo que nunca rechaza pero escribe escenas planas y repetitivas no es la mejor opción. Puntúa también algunas salidas según su utilidad.
Cómo leer los resultados
Una tasa de rechazo por sí sola te dice poco. Mira el patrón.
- Rechazos en prompts de control significan que tu detector es demasiado laxo o el servicio es inestable. Corrige eso antes que nada.
- Rechazos agrupados en un tema apuntan a una regla de entrenamiento o política. Un mensaje del sistema reescrito puede ayudar, o no.
- Rechazos que desaparecen cuando añades contexto muestran una regla suave. Una descripción clara del marco ficticio y la audiencia adulta a menudo cambia el resultado.
- Rechazos suaves son respuestas que cumplen en papel pero rebajan el contenido, añaden lecciones o terminan la escena antes. Tu lista de frases no detectará estos, así que muestra también las respuestas no marcadas.
También rastrea el costo de una ejecución fallida. En esta API, las peticiones fallidas o rechazadas no se cobran, lo que mantiene un conjunto de pruebas grande barato. Una ejecución de 50 prompts con 200 tokens de entrada y 400 tokens de salida cada uno cuesta 50 x (200 x $0,15 + 400 x $0,50) / 1.000.000 = 50 x $0,00023 = $0,0115, aproximadamente un centavo.
Escribe prompt del sistemas que reduzcan los rechazos suaves
En un modelo que ya está ajustado para responder, el mensaje del sistema aún importa, porque establece expectativas que el modelo luego sigue. Sé directo sobre la tarea y la audiencia. Un mensaje como "Eres un co-escritor de ficción para adultos. Escribe escenas completas, en el tono solicitado, sin regañar ni añadir descargos de responsabilidad" le dice al modelo cómo se ve una buena respuesta. Los prompts vagos o excesivamente apologéticos invitan a respuestas evasivas.
Describe el formato que quieres: longitud, punto de vista, tiempo verbal. Indica qué evitar de forma positiva donde puedas, por ejemplo "mantén la escena en el diálogo de los personajes" en lugar de una larga lista de prohibiciones. Si un tipo particular de respuesta sigue volviendo con advertencias que no quieres, di una vez que tus lectores son adultos que han elegido este tipo de ficción, y prueba el efecto en tu conjunto de prompts en lugar de asumir que funciona.
Qué promete y qué no esta API
El modelo detrás de este servicio es un modelo de pesos abiertos ejecutado por un proveedor independiente y ajustado para responder sin rechazos de contenido para uso adulto lícito. Esa es una afirmación más limitada que un "todo vale", y está pensada para serlo. No es Grok ni la API oficial de ningún proveedor. El servicio maneja solo texto. Una regla no se puede cambiar: ningún contenido sexual que involucre a menores de edad.
Tampoco te hace inmune a las consecuencias. Sigues siendo responsable de lo que generas y publicas, y de seguir la ley donde vives y operas. Si tu aplicación es pública, añade tu propio control de edad, términos y ruta de reporte. Menos rechazos del modelo significan más responsabilidad en tu capa de aplicación, no menos.
Técnicamente es una API compatible con OpenAI estándar con POST /v1/chat/completions y GET /v1/models, streaming, llamadas a funciones y modo JSON, y una ventana de contexto de 100.000 tokens. El quickstart muestra el formato de la petición, y la página de clave de API explica el registro. Los nuevos usuarios pueden reclamar $0,50 de crédito de prueba, válido por 7 días, sin datos de pago.
Ejecutar la prueba con una clave de prueba
Puedes ejecutar el script anterior con una clave de prueba. Ten cuidado con los límites: una clave de prueba permite 2 peticiones simultáneas y 60 peticiones por minuto, así que un bucle que envía llamadas una tras otra está bien, pero un grupo de diez hilos alcanzará HTTP 429 con el código concurrency. Si ves rate_limited, excediste el límite por minuto y debes esperar un momento. Una clave completa permite 8 concurrentes y 300 por minuto.
Para uso continuo, el precio es $0,15 por 1M de tokens de entrada y $0,50 por 1M de tokens de salida, con crédito prepago. Las recargas van de $20 a $500, pagadas con USDT en TRC20 o USDC en Base, con bonos del 5%, 10% y 15% desde $50, $100 y $200. Consulta la página de precios. Si quieres ver cómo el mismo endpoint maneja otra familia de modelos abiertos, la página de integración de Gemma es una lectura relacionada.