PT ▾

O Grok é realmente sem censura? Como testar você mesmo

Atualizado

O Grok é realmente sem censura? A resposta precisa é que nenhum modelo hospedado está livre de regras, e o comportamento do Grok depende do produto, do modo e da data. Em vez de confiar em um rótulo, você pode medir recusas nos seus próprios prompts, e esta página mostra como.

Camadas translúcidas empilhadas com luz passando por algumas e bloqueadas por outras, mostrando camadas de filtragem

Resposta curta e por que o rótulo engana

As pessoas perguntam se o grok é realmente sem censura porque o modelo foi comercializado como menos restrito que alguns concorrentes. Se isso corresponde à sua experiência depende do que você pergunta, qual produto você usa e quando pergunta. A xAI altera seus modelos, system prompts e políticas com o tempo, então qualquer afirmação aqui sobre comportamento específico envelhece rapidamente. Para regras atuais, leia a própria documentação e política de uso da xAI.

O que pode ser dito com confiança é estrutural. Todo modelo hospedado de uma empresa fica dentro de algum conjunto de regras: legais, de plataforma e escolhas de treinamento. Mesmo um modelo vendido como permissivo recusará algumas solicitações. Então a pergunta útil não é se ele é sem censura, mas se ele recusa as coisas específicas que seu produto precisa. Isso é algo que você pode medir em uma tarde.

As quatro camadas de onde vêm as recusas

Quando um chatbot diz não, a causa pode estar em um de quatro lugares. Saber qual ajuda você a escolher uma solução.

1. Treinamento do modelo

A maioria dos modelos de chat é treinada após o pré-treinamento para recusar certas requisições. Isso está nos pesos. Você não pode removê-lo com um prompt de sistema, embora a redação e o contexto possam alterar a frequência com que ele é acionado. Modelos de pesos abertos podem ser ajustados ainda mais por seus provedores para reduzir essas recusas, que é o caso do modelo por trás desta API.

2. System prompt e regras do produto

O aplicativo em torno do modelo adiciona instruções que você não vê: tom, tópicos a evitar, formatação. Um modelo usado por meio de um aplicativo de consumidor pode se comportar de maneira diferente do mesmo modelo chamado por meio de uma API com sua própria mensagem do sistema.

3. Filtros de entrada e saída

Alguns serviços executam um classificador separado no seu prompt ou na resposta e bloqueiam ou reescrevem o resultado. Você pode ver um erro genérico em vez de uma frase de recusa.

4. Limites legais e de política

Os provedores devem seguir a lei onde operam. Conteúdo ilegal é bloqueado em todos os lugares, e nenhum serviço reputável mudará isso. Esta API tem uma regra fixa desse tipo: nenhum conteúdo sexual envolvendo menores de idade.

Construa seu próprio teste de recusa

Um conjunto de testes supera opiniões. Escreva 30 a 50 prompts que reflitam o que seu produto realmente faz. Inclua tarefas comuns como grupo de controle, para que você possa distinguir um modelo que recusa demais de um que simplesmente falha. Boas categorias para ferramentas de ficção e roleplay são violência em uma história de guerra, um vilão moralmente ambíguo com diálogo persuasivo, perguntas médicas ou jurídicas francas, temas sombrios em horror e romance maduro tratado sem detalhes explícitos.

O script abaixo envia cada prompt para um endpoint compatível com OpenAI, sinaliza respostas que parecem recusas e imprime uma taxa. A lista de frases é rudimentar, então leia cada resposta sinalizada você mesmo antes de tirar conclusões.

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 serviços, altere apenas base_url, a chave e o nome do modelo, e mantenha o arquivo de prompts igual. Execute-o mais de uma vez em dias diferentes, pois o comportamento pode mudar. Mantenha as configurações idênticas: mesma mensagem do sistema, mesma temperatura, mesma seed onde for suportada.

Erros que estragam um teste de recusa

Testes de recusa parecem simples, é por isso que muitas vezes são feitos mal. Estes são os erros que mais frequentemente levam a conclusões erradas.

  • Testando apenas os prompts extremos. Um conjunto feito de solicitações de pior caso mostra o limite, mas seus usuários vivem no meio. A maioria dos prompts reais são cenas comuns, momentos de personagem e perguntas. Dê mais peso no conjunto ao que você realmente espera.
  • Comparando diferentes configurações. Uma mudança na temperatura ou na mensagem do sistema por si só pode alterar as taxas de recusa. Se você comparar dois serviços, mantenha tudo o resto fixo.
  • Uma execução, um dia. Modelos hospedados e as camadas ao redor podem mudar. Repita o teste em dias separados e mantenha os resultados com datas.
  • Confiando na lista de frases. Uma resposta que começa educadamente e depois recusa no terceiro parágrafo escapa de uma verificação nos primeiros 300 caracteres. Amplie o trecho verificado ou leia uma amostra à mão.
  • Ignorando a qualidade. Um modelo que nunca recusa, mas escreve cenas planas e repetitivas, não é a melhor escolha. Avalie também a utilidade de algumas saídas.

Como ler os resultados

Uma taxa de recusa por si só diz pouco. Observe o padrão.

  • Recusas em prompts de controle significam que seu detector está muito frouxo ou o serviço é instável. Corrija isso antes de qualquer outra coisa.
  • Recusas agrupadas em um único tema apontam para uma regra de treinamento ou política. Uma reescrita da mensagem do sistema pode ajudar, ou não.
  • Recusas que desaparecem quando você adiciona contexto mostram uma regra suave. Uma descrição clara do quadro fictício e do público adulto geralmente altera o resultado.
  • Recusas suaves são respostas que cumprem no papel, mas diluem o conteúdo, adicionam sermões ou terminam a cena cedo. Sua lista de frases não capturará essas, então amostre também as respostas não sinalizadas.

Rastreie também o custo de uma execução falhada. Nesta API, requisições falhas ou recusadas não são cobradas, o que mantém um conjunto de testes grande barato. Uma execução de 50 prompts com 200 tokens de entrada e 400 tokens de saída cada custa 50 x (200 x $0,15 + 400 x $0,50) / 1.000.000 = 50 x $0,00023 = $0,0115, cerca de um centavo.

Escreva mensagens do sistema para reduzir recusas suaves

Em um modelo que já está ajustado para responder, a mensagem do sistema ainda importa, porque ela define expectativas que o modelo então segue. Seja direto sobre a tarefa e o público. Uma mensagem como "Você é um co-autor de ficção para adultos. Escreva cenas por completo, no tom solicitado, sem passar sermão ou adicionar avisos" diz ao modelo como uma boa resposta deve ser. Prompts vagos ou excessivamente apologéticos induzem respostas evasivas.

Descreva o formato que você deseja: comprimento, ponto de vista, tempo verbal. Declare o que evitar de forma positiva onde puder, por exemplo "mantenha a cena no diálogo dos personagens" em vez de uma longa lista de proibições. Se um tipo específico de resposta continuar voltando com avisos que você não quer, diga uma vez que seus leitores são adultos que escolheram esse tipo de ficção e teste o efeito no seu conjunto de prompts em vez de assumir que funciona.

O que esta API promete e o que não promete

O modelo por trás deste serviço é um modelo de pesos abertos executado por um provedor independente e ajustado para responder sem recusas de conteúdo para uso adulto legal. Essa é uma afirmação mais restrita do que "tudo permitido", e é propositada. Não é o Grok e não é a API oficial de nenhum fornecedor. O serviço lida apenas com texto. Uma regra não pode ser alterada: nenhum conteúdo sexual envolvendo menores de idade.

Também não o torna imune a consequências. Você continua responsável pelo que gera e publica, e por seguir a lei onde vive e opera. Se seu aplicativo for público, adicione sua própria verificação de idade, termos e caminho de reporte. Menos recusas do modelo significam mais responsabilidade na camada do seu aplicativo, não menos.

Tecnicamente, é uma API padrão compatível com OpenAI com POST /v1/chat/completions e GET /v1/models, streaming, chamada de funções e modo JSON, e uma janela de contexto de 100.000 tokens. O início rápido mostra o formato da solicitação, e a página da chave de API explica o cadastro. Novos usuários podem reivindicar $0,50 de crédito de teste, válido por 7 dias, sem necessidade de detalhes de pagamento.

Executando o teste com uma chave de teste

Você pode executar o script acima com uma chave de teste. Atenção aos limites: uma chave de teste permite 2 requisições simultâneas e 60 requisições por minuto, então um loop que envia chamadas uma após a outra é adequado, mas um pool de threads com dez threads atingirá HTTP 429 com o código concurrency. Se você ver rate_limited, você excedeu o limite por minuto e deve aguardar um pouco. Uma chave completa permite 8 requisições simultâneas e 300 por minuto.

Para uso contínuo, o preço é $0,15 por 1M de tokens de entrada e $0,50 por 1M de tokens de saída, pré-pago. Recarregamentos variam de $20 a $500, pagos com USDT na rede TRC20 ou USDC na Base, com bônus de 5%, 10% e 15% a partir de $50, $100 e $200. Consulte a página de preços. Se quiser ver como o mesmo endpoint lida com outra família de modelos abertos, a página de integração do Gemma é uma leitura relacionada.

Perguntas e respostas

O Grok é completamente sem censura?

Nenhum modelo hospedado está livre de todas as regras, e o comportamento do Grok pode variar conforme o produto e ao longo do tempo. Verifique a política atual da xAI e teste seus próprios prompts.

Um prompt do sistema pode remover recusas?

Pode reduzir algumas delas, principalmente as suaves, mas as recusas treinadas nos pesos do modelo são mais difíceis de contornar. Os resultados variam conforme o modelo.

O que significa sem censura para esta API?

O modelo é ajustado para responder sem recusas de conteúdo para uso adulto lícito. Ele ainda possui uma regra fixa contra conteúdo sexual envolvendo menores de idade.

Como posso comparar dois serviços de forma justa?

Use o mesmo arquivo de prompt, mensagem de sistema, temperatura e seed em ambos, execute ao longo de vários dias e analise todas as respostas marcadas e não marcadas.

Um teste de recusa é caro?

Não. A $0,15 e $0,50 por 1M de tokens, 50 prompts com 200 tokens de entrada e 400 de saída custam cerca de um centavo. Requisições falhas ou recusadas não são cobradas.

Sua chave está a um formulário de distância

Crie uma conta, copie a chave e altere a URL base. Essa é toda a configuração.

Obter chave de API