Grok thực sự không kiểm duyệt không? Cách tự kiểm tra
Cập nhật
Grok thực sự không kiểm duyệt không? Câu trả lời chính xác là không có mô hình lưu trữ nào miễn trừ mọi quy tắc, và hành vi của Grok phụ thuộc vào sản phẩm, chế độ và thời điểm. Thay vì tin vào nhãn mác, bạn có thể đo lường các lệnh từ chối trên các prompt của riêng mình, và trang này sẽ hướng dẫn bạn cách làm.

Câu trả lời ngắn gọn và lý do nhãn mác gây hiểu lầm
Mọi người hỏi Grok thực sự không kiểm duyệt không vì mô hình đã được tiếp thị là ít hạn chế hơn một số đối thủ. Liệu điều đó phù hợp với trải nghiệm của bạn phụ thuộc vào việc bạn hỏi gì, sử dụng sản phẩm nào và khi nào bạn hỏi. xAI thay đổi mô hình, system prompt và chính sách theo thời gian, vì vậy bất kỳ tuyên bố nào ở đây về hành vi cụ thể sẽ nhanh chóng lỗi thời. Để biết các quy tắc hiện tại, hãy đọc tài liệu và chính sách sử dụng chính thức của xAI.
Điều có thể nói một cách chắc chắn là về mặt cấu trúc. Mọi mô hình lưu trữ từ một công ty đều nằm trong một bộ quy tắc nhất định: các quy tắc pháp lý, quy tắc nền tảng và lựa chọn huấn luyện. Ngay cả một mô hình được bán là linh hoạt cũng sẽ từ chối một số yêu cầu. Vì vậy, câu hỏi hữu ích không phải là liệu nó có không kiểm duyệt hay không, mà là liệu nó có từ chối những thứ cụ thể mà sản phẩm của bạn cần hay không. Đó là điều bạn có thể đo lường trong một buổi chiều.
Bốn lớp nguồn gốc của các lệnh từ chối
Khi một chatbot nói "không", nguyên nhân có thể nằm ở một trong bốn vị trí. Việc biết được vị trí nào giúp bạn chọn giải pháp phù hợp.
1. Huấn luyện mô hình
Hầu hết các mô hình chat được huấn luyện sau giai đoạn tiền huấn luyện để từ chối một số yêu cầu nhất định. Điều này nằm trong các trọng số. Bạn không thể loại bỏ nó bằng system prompt, mặc dù cách diễn đạt và ngữ cảnh có thể thay đổi tần suất kích hoạt. Các mô hình trọng số mở có thể được tinh chỉnh thêm bởi nhà cung cấp để giảm các lệnh từ chối này, và và mô hình đằng sau API này chính là như vậy.
2. System prompt và quy tắc sản phẩm
Ứng dụng bao quanh mô hình thêm các hướng dẫn mà bạn không thể thấy: giọng điệu, các chủ đề cần tránh, định dạng. Một mô hình được sử dụng thông qua ứng dụng tiêu dùng có thể hoạt động khác với cùng mô hình đó được gọi thông qua API với system prompt của riêng bạn.
3. Bộ lọc đầu vào và đầu ra
Một số dịch vụ chạy một bộ phân loại riêng trên prompt của bạn hoặc trên câu trả lời và chặn hoặc viết lại kết quả. Bạn có thể thấy lỗi chung chung thay vì câu từ chối.
4. Giới hạn pháp lý và chính sách
Các nhà cung cấp phải tuân theo luật pháp nơi họ hoạt động. Nội dung bất hợp pháp bị chặn ở mọi nơi, và không có dịch vụ uy tín nào thay đổi điều đó. API này có một quy tắc cố định như vậy: không có nội dung tình dục liên quan đến người chưa thành niên.
Tự xây dựng bài kiểm tra từ chối
Một bộ kiểm tra đánh bại ý kiến chủ quan. Hãy viết 30 đến 50 prompt phản ánh chính xác những gì sản phẩm của bạn làm. Bao gồm các tác vụ thông thường làm nhóm đối chứng, để bạn có thể phân biệt một mô hình từ chối quá mức với một mô hình chỉ đơn giản là thất bại. Các danh mục tốt cho công cụ truyện và nhập vai là bạo lực trong một câu chuyện chiến tranh, một nhân vật phản diện có đạo đức xám với hội thoại thuyết phục, các câu hỏi y tế hoặc pháp lý thẳng thắn, các chủ đề tối trong truyện kinh dị, và lãng mạn dành cho người lớn được xử lý mà không có chi tiết rõ ràng.
Script bên dưới gửi từng prompt đến một endpoint tương thích OpenAI, đánh dấu các phản hồi giống lệnh từ chối và in tỷ lệ. Danh sách cụm từ khá thô sơ, vì vậy hãy đọc từng phản hồi bị đánh dấu trước khi đưa ra kết luận.
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)Để so sánh các dịch vụ, chỉ thay đổi base_url, khóa và tên mô hình, và giữ nguyên tệp prompt. Chạy nó nhiều lần vào các ngày khác nhau, vì hành vi có thể thay đổi. Giữ nguyên các cài đặt: cùng system message, cùng temperature, cùng seed nơi nó được hỗ trợ.
Những sai lầm làm hỏng bài kiểm tra từ chối
Các bài kiểm tra từ chối trông đơn giản, đó là lý do tại sao chúng thường được thực hiện kém. Đây là những lỗi thường dẫn đến kết luận sai lầm nhất.
- Chỉ kiểm tra các prompt cực đoan. Một bộ tập hợp chỉ gồm các yêu cầu trường hợp xấu nhất cho bạn thấy giới hạn, nhưng người dùng của bạn sống ở vùng giữa. Hầu hết các prompt thực tế là các cảnh thông thường, khoảnh khắc nhân vật và các câu hỏi. Hãy ưu tiên trọng số của bộ prompt theo những gì bạn thực sự mong đợi.
- So sánh các cài đặt khác nhau. Một thay đổi trong temperature hoặc system message đơn thuần có thể làm thay đổi tỷ lệ từ chối. Nếu bạn so sánh hai dịch vụ, hãy giữ mọi thứ khác cố định.
- Một lần chạy, một ngày. Các mô hình lưu trữ và các lớp xung quanh chúng có thể thay đổi. Hãy lặp lại bài kiểm tra cách nhau vài ngày và lưu giữ kết quả kèm ngày tháng.
- Tin tưởng vào danh sách cụm từ. Một câu trả lời bắt đầu lịch sự rồi từ chối ở đoạn ba sẽ vượt qua kiểm tra trên 300 ký tự đầu tiên. Hãy mở rộng phạm vi kiểm tra, hoặc đọc mẫu bằng tay.
- Bỏ qua chất lượng. Một mô hình không bao giờ từ chối nhưng viết các cảnh phẳng, lặp lại không phải là lựa chọn tốt hơn. Hãy chấm điểm một vài kết quả đầu ra về mức độ hữu ích.
Cách đọc kết quả
Tỷ lệ từ chối đơn thuần cho bạn rất ít thông tin. Hãy nhìn vào quy luật.
- Lệnh từ chối trên các prompt đối chứng có nghĩa là bộ phát hiện của bạn quá lỏng lẻo hoặc dịch vụ không ổn định. Hãy khắc phục điều đó trước mọi thứ khác.
- Lệnh từ chối tập trung vào một chủ đề chỉ ra một quy tắc huấn luyện hoặc chính sách. Một system message được viết lại có thể giúp, hoặc có thể không.
- Lệnh từ chối biến mất khi bạn thêm ngữ cảnh cho thấy một quy tắc mềm. Một mô tả rõ ràng về khung giả tưởng và khán giả người trưởng thành thường thay đổi kết quả.
- Lệnh từ chối mềm là các phản hồi tuân thủ trên giấy nhưng làm loãng nội dung, thêm bài giảng hoặc kết thúc cảnh sớm. Danh sách cụm từ của bạn sẽ không bắt được những trường hợp này, vì vậy hãy lấy mẫu các phản hồi không bị đánh dấu.
Bạn cũng nên theo dõi chi phí của một lần chạy thất bại. Trên API này, các yêu cầu thất bại hoặc bị từ chối không được tính phí, giúp giữ cho một bộ kiểm tra lớn có chi phí thấp. Một lần chạy với 50 prompt, mỗi prompt có 200 token đầu vào và 400 token đầu ra, tốn 50 x (200 x $0,15 + 400 x $0,50) / 1.000.000 = 50 x $0,00023 = $0,0115, khoảng một xu.
Viết system message để giảm lệnh từ chối mềm
Trên một mô hình đã được tinh chỉnh để trả lời, prompt hệ thống vẫn quan trọng vì nó đặt ra kỳ vọng mà mô hình sẽ tuân theo. Hãy nói thẳng về nhiệm vụ và đối tượng. Một prompt như "Bạn là đồng tác giả cho truyện người lớn. Hãy viết các cảnh đầy đủ, theo giọng điệu được yêu cầu, không giảng đạo hoặc thêm tuyên bố miễn trừ" cho mô hình biết một câu trả lời tốt trông như thế nào. Các prompt mơ hồ hoặc xin lỗi sẽ khiến mô hình dè dặt.
Mô tả định dạng bạn muốn: độ dài, điểm nhìn, thì. Hãy nêu những gì cần tránh theo cách tích cực khi có thể, ví dụ "giữ cảnh tập trung vào đối thoại của các nhân vật" thay vì một danh sách dài các lệnh cấm. Nếu một loại phản hồi cụ thể liên tục quay lại với các cảnh báo mà bạn không muốn, hãy nói một lần rằng người đọc của bạn là người trưởng thành đã chọn loại truyện này, và kiểm tra tác động trên bộ prompt của bạn thay vì giả định rằng nó hoạt động.
API này hứa hẹn và không hứa hẹn điều gì
Mô hình đằng sau dịch vụ này là một mô hình trọng số mở do một nhà cung cấp độc lập chạy và được tinh chỉnh để trả lời mà không có lệnh từ chối nội dung cho mục đích người trưởng thành hợp pháp. Đó là một tuyên bố hẹp hơn kiểu "cái gì cũng được", và nó có chủ đích. Đó không phải là Grok và không phải là API chính thức của bất kỳ nhà cung cấp nào. Dịch vụ chỉ xử lý văn bản. Một quy tắc không thể thay đổi: không có nội dung tình dục liên quan đến người chưa thành niên.
Nó cũng không làm bạn miễn nhiễm với hậu quả. Bạn vẫn chịu trách nhiệm về những gì bạn tạo ra và xuất bản, và về việc tuân theo luật pháp nơi bạn sống và hoạt động. Nếu ứng dụng của bạn là công cộng, hãy thêm cổng xác minh độ tuổi, điều khoản và đường dẫn báo cáo của riêng bạn. Ít lệnh từ chối hơn từ mô hình có nghĩa là nhiều trách nhiệm hơn ở lớp ứng dụng của bạn, không phải ít hơn.
Về mặt kỹ thuật, đây là một API tương thích chuẩn với OpenAI có POST /v1/chat/completions và GET /v1/models, truyền phát (streaming), gọi hàm và chế độ JSON, cùng cửa sổ ngữ cảnh 100.000 token. Trang quickstart hiển thị định dạng yêu cầu, và trang khóa API giải thích cách đăng ký. Người dùng mới có thể nhận $0,50 tín dụng dùng thử miễn phí, có hiệu lực trong 7 ngày, không cần thông tin thanh toán.
Chạy thử nghiệm trên khóa dùng thử
Bạn có thể chạy script ở trên với khóa dùng thử. Hãy lưu ý các giới hạn: khóa dùng thử cho phép 2 yêu cầu đồng thời và 60 yêu cầu mỗi phút, vì vậy một vòng lặp gửi các lệnh gọi liên tiếp là ổn, nhưng một nhóm luồng (thread pool) gồm mười luồng sẽ gặp lỗi HTTP 429 với mã concurrency. Nếu bạn thấy rate_limited, bạn đã vượt quá giới hạn mỗi phút và nên đợi một lúc. Khóa đầy đủ cho phép 8 yêu cầu đồng thời và 300 yêu cầu mỗi phút.
Để sử dụng lâu dài, giá là $0,15 cho mỗi 1 triệu token đầu vào và $0,50 cho mỗi 1 triệu token đầu ra, trả trước. Các lần nạp tiền từ $20 đến $500, thanh toán bằng USDT trên TRC20 hoặc USDC trên Base, với các khoản bonus 5%, 10% và 15% từ $50, $100 và $200. Xem trang giá cả. Nếu bạn muốn xem cách cùng một endpoint xử lý một họ mô hình mở khác, trang tích hợp Gemma là một bài đọc liên quan.