Grok API가 요청마다 선정성·폭력·욕설 응답을 거절하게 하는 guidelines 필드를 모든 API 고객에게 제공합니다 | DAKER 커뮤니티

Grok API에 요청마다 콘텐츠 처리 방식을 정하는 guidelines 필드가 생겼습니다. SpaceXSI는 2026년 10월 29일 오전(한국시간) Grok 공식 계정으로 이 기능을 모든 API 고객에게 열었다고 알렸고, 공식 문서 「Custom Moderation Controls」에 사용법을 정리했습니다. 선정성(nsfw), 폭력(violence), 욕설(profanity) 세 범주에 대해 Grok이 해당 내용을 쓰지 않고 거절하도록 요청 단위로 지정할 수 있습니다. 챗봇이나 글쓰기 도구를 운영하는 국내 팀이라면 별도 필터 모델을 앞에 두지 않고도 응답 수위를 한 단계 더 조일 수 있다는 뜻입니다.

서비스 운영자가 노트북 앞에서 챗봇 응답 필터 설정을 점검하는 실사풍 장면 모션 미리보기
설명을 돕기 위해 만든 생성 이미지입니다.
서비스 운영자가 노트북 앞에서 챗봇 응답 필터 설정을 점검하는 실사풍 장면
설명을 돕기 위해 만든 생성 이미지입니다.

세 범주와 decline 동작

공식 문서에 따르면 guidelines는 배열이고, 항목마다 type, category, behavior 세 필드를 씁니다. type은 언제나 policy이고, 지금 고를 수 있는 동작은 decline 하나뿐입니다. 문서가 설명하는 범주별 동작은 다음과 같습니다.

목록에 넣지 않은 범주는 모델의 기본 모더레이션을 그대로 따릅니다. 바꾸고 싶은 범주만 적으면 됩니다. 문서는 Grok이 지침을 따르며 자기 말로 답을 쓰고, 응답 형식은 지침이 없을 때와 같다고 설명합니다. 또 범주별 세부 동작은 SpaceXSI가 앞으로 다듬을 수 있다고 밝혀 두었습니다.

적용 범위는 요청 하나입니다

가장 놓치기 쉬운 부분은 지침이 그 요청에만 붙는다는 점입니다. 대화 전체에 적용하려면 대화 안의 모든 요청에 같은 배열을 보내야 합니다. xAI Python SDK에서는 chat.create에 넣으면 채팅 객체에 저장돼 매번 함께 전송됩니다. OpenAI SDK는 이 필드를 정의하지 않으므로 Python에서는 extra_body로 넘기고, JavaScript SDK에서는 다른 요청 인자와 함께 보내면 됩니다. Chat Completions에서는 messages와 같은 높이의 최상위 필드로 넣고, Responses API도 같은 필드를 받습니다. 문서 예시는 grok-4.7 모델에 violence와 nsfw를 decline으로 지정한 요청입니다.

쓸 수 없는 요청과 오류 코드

문서는 지침을 쓸 수 없는 경우도 명시합니다. grok-4.20-multi-agent 같은 멀티 에이전트 모델과 지연 완료(deferred completions)에는 아직 적용되지 않습니다. 서버 측 도구와 첨부 파일이 없는 요청이 stop을 쓰거나 n을 2 이상으로 두는 경우도 마찬가지입니다. 이런 요청은 모델이 돌기 전에 400 오류로 거절되고, 오류 메시지에 원인이 된 모델이나 옵션 이름이 나옵니다. 알 수 없는 범주나 동작을 넣으면 422, 같은 범주를 두 번 넣거나 type이 policy가 아니면 400을 돌려줍니다. 지침을 적용할 수 없으면 모델을 실행하지 않고 오류를 낸다는 점도 문서에 적혀 있어, 조용히 무시되는 경우를 걱정하지 않아도 됩니다.

국내 서비스 운영자가 먼저 점검할 것

첫째, 청소년 이용자가 있는 학습 도우미나 고객 상담 봇은 nsfw와 profanity를 decline으로 두는 구성을 시험해 볼 만합니다. 둘째, 대화형 서비스라면 첫 요청에만 지침을 넣고 이후 요청에서 빠뜨리지 않았는지 코드를 확인해야 합니다. 셋째, 이 기능은 Grok이 응답을 쓰는 방식을 조정할 뿐이므로 사용자 입력 검사나 로그 감사 같은 기존 안전장치를 대신하지 않습니다. 한국어 욕설이나 은어에 대해 영어와 같은 수준으로 동작하는지는 문서에 언급이 없으므로, 실제 서비스 문장으로 직접 비교해 보는 편이 안전합니다. 여러분의 서비스에서는 세 범주 가운데 어느 것을 먼저 막고 싶으십니까?

출처