블로그개발 도구5분 읽기

anti-slop은 bento grid를 금지 목록에 이름째 박았습니다

anti-slop은 규칙 38개를 3단 게이트로 나눠 이유 없는 AI 디자인만 막아요.

anti-slop은 bento grid를 금지 목록에 이름째 박았습니다 대표 이미지

AI 코딩 에이전트한테 화면을 맡기면 에이전트가 어디서 본 화면을 뽑아 줍니다. bento grid 레이아웃, 보라·검정 네온 팔레트, 가짜 터미널 창, 3열 가격표. 이 뻔함을 영어권에서는 AI slop이라고 부르죠.

miqdadbadjuber/anti-slop은 이 slop을 막으려고 만든 규칙 필터입니다. 필수 규칙 38개(R-01~R-38)를 에이전트에 물려서, 에이전트가 뻔한 선택을 하는 길목을 막아요. README에서 스스로 이렇게 선을 긋습니다. "필터지 스타일 가이드가 아니다(a filter, not a style guide)."

색을 정해주지 않습니다. 폰트도, 레이아웃도 처방하지 않아요. 나쁜 것만 걸러내고, 좋은 것은 비워둡니다.

스타일 가이드는 대개 "이렇게 하라"는 지시로 문서를 채웁니다. anti-slop은 "이러면 왜 하는지 답하라"고 요구합니다. 그 비워 둔 설계를 뜯어볼게요.

금지 목록만으로는 왜 못 잡는가?

slop을 막는 가장 쉬운 방법은 금지 목록입니다. "이거 쓰지 마"를 줄줄이 적는 거죠. anti-slop은 그 길로 안 갑니다. 규칙 38개를 세 단으로 나눠요.

Hard Gate는 절대 금지입니다. 어떤 이유를 대도 통과 못 해요. Purpose-Gate는 조건부 허용입니다. 그 선택을 해야 하는 이유를 대면 통과합니다. Quality Locks는 일관성 잠금입니다. 결과물 전체를 한 톤으로 묶어요.

이유 없는 선택만 골라 막아요. 같은 요소라도 목적을 대면 통과시킵니다. 단순 금지 목록과 게이트 구조는 여기서 달라요.

저는 제작자가 slop이라는 문제를 정확히 읽고 3단을 짰다고 봅니다. slop은 생각 없이 고른 선택이거든요. 요소를 막으면 에이전트는 다른 요소로 옮겨 가요. "왜"를 물으면 습관 자체를 잡을 수 있습니다.

무엇을 이름째 금지했는가?

그렇다고 절대 금지 단이 추상적인 건 아닙니다. 제작자가 v3.2.1에서 slop 패턴 금지 목록을 추가했어요.

bento grid. Lucide류 아이콘. 가짜 터미널 창. purple-and-black 네온 팔레트. Geist Mono류 폰트. 3열 가격표.

제작자는 다들 어렴풋이 느끼던 "AI가 만든 티"를 요소 이름으로 못박았습니다. 개별 요소를 이름째 박아 금지한 문서는 이게 처음이에요. 느낌으로 하던 판정을 규칙 번호로 바꾼 겁니다.

이름을 박는 건 사소해 보여도 효과가 큽니다. "어딘가 AI 냄새가 난다"는 말로는 고칠 곳을 못 짚어요. "3열 가격표를 썼다"는 말은 바로 고칠 수 있습니다. 취향으로 싸울 필요 없이 규칙과 대조하면 되는 거죠.

필터는 어떻게 밋밋함을 피하는가?

규칙만 늘리면 부작용을 겪어요. 다 걸러 내고 나면 밋밋한 화면을 받게 되죠. anti-slop은 그 부작용까지 설계에 넣었습니다.

Liveliness Toolkit이 그 장치예요. ENERGY·RHYTHM·MOTION 세 다이얼로 결과물의 생기를 지킵니다. 필터를 통과한 화면이 죽은 화면이 되는 걸 막는 안전판입니다.

출시 직전엔 Delivery Gate를 거칩니다. 4블록 PASS/FAIL 보고서를 의무로 요구해요. 통과 여부를 보고서로 남기는 겁니다.

규칙을 만드는 쪽은 보통 여기까지 안 갑니다. 막는 규칙을 잔뜩 만들고, 그 규칙이 결과물을 죽이는 건 사용자 몫으로 넘기죠. 제작자는 부작용 방지 장치와 검수 보고서까지 한 몸으로 넣어 도구를 완결했어요.

좋은 디자인은 어디서 오는가?

R-37이 이 레포에서 가장 무거운 규칙입니다. 결과가 밋밋해도 필터가 실패한 건 아니다. 방향이 빠진 거다. 방향, 그러니까 아름다움은 사용자가 DESIGN.md로 공급한다.

필터는 나쁜 걸 막을 뿐입니다. 좋은 디자인의 방향은 사용자가 취향 문서에 적어 줘야 해요. 제작자는 이 규칙으로 "필터지 스타일 가이드가 아니다"라는 자기 정의를 완성합니다.

도구가 심미안까지 대신해준다고 말하지 않는 겁니다. 막는 일과 이끄는 일을 나눠서 막는 일만 맡겠다는 거예요.

어디까지 퍼져 있는가?

제작자는 배포 방식도 이 설계에 맞췄습니다. antislop.md 파일 하나로도 완전 동작해요. npx antislop-ai 피커, 클로드 코드 플러그인, skills.sh 등재까지 설치할 길이 여럿이에요.

오픈 Agent Skills 표준(SKILL.md)을 따라서 클로드 코드·Codex·Cursor·Gemini CLI 등 에이전트 7개를 지원합니다. 특정 에이전트에 묶인 물건이 아니라는 뜻이에요. 마크다운 규칙 문서라는 형태를 골랐기에 가능한 이식성입니다.

스킬은 6종이에요. 코어 antislop에 ui·copywriting·human·layoutmobile·code를 더했고, human 스킬엔 대비 검사용 파이썬 코드까지 넣었습니다. UI에 쓰던 게이트 사고를 카피, 코드, 모바일 레이아웃까지 넓힌 거죠.

남는 생각

저는 이 레포의 핵심을 38이라는 숫자보다 3단이라는 구조로 봅니다.

금지 목록은 아무리 늘려도 금방 낡아 버려요. AI가 다음 유행을 배우면 목록 바깥에서 새 slop을 만들거든요. 게이트 구조는 달라요. "이유를 대라"는 관문은 유행이 바뀌어도 그대로 쓸 수 있어요. 이름 박힌 금지 목록은 오늘 판정에 쓸 예시로 두고, 뼈대는 게이트로 짜야 오래갑니다.

이 사고는 디자인 밖에서도 쓸 수 있어요. 글이든 코드든, AI 산출물을 검수하려는 사람이라면 금지 목록보다 게이트부터 짜는 게 오래가요.

저는 R-37 때문에 이 도구를 정직하다고 봐요. 필터를 아무리 잘 만들어도 좋은 디자인은 자동으로 안 나온다고, 만든 사람이 먼저 적어뒀습니다. 규칙으로 뻔함을 지우고, 아름다움은 사람이 취향으로 넣습니다.


원문·소스

FAQ

자주 묻는 질문

금지 목록만으로는 왜 AI 티를 못 잡나요?
나쁜 요소 하나를 막아도 생각 없이 고르는 습관은 다른 요소로 옮겨가기 때문입니다. anti-slop은 규칙 38개를 Hard Gate·Purpose-Gate·Quality Locks 세 단으로 나눠, 전부 막지 않고 이유 없는 선택만 막아요. "왜"를 물으면 습관 자체를 잡을 수 있습니다.
어떤 요소를 이름째 금지했나요?
anti-slop은 bento grid, Lucide류 아이콘, 가짜 터미널 창, purple-and-black 네온 팔레트, Geist Mono류 폰트, 3열 가격표를 명시적으로 금지했습니다. v3.2.1에서 추가된 이 목록은 "AI가 만든 티"를 요소 이름으로 못박은 최초의 명문화예요. 이제 느낌 대신 규칙 번호를 근거로 판정할 수 있어요.
anti-slop은 밋밋함을 어떻게 피하나요?
ENERGY·RHYTHM·MOTION 세 다이얼로 이루어진 Liveliness Toolkit으로 결과물의 생기를 지킵니다. 출시 직전에는 Delivery Gate를 거치며 4블록 PASS/FAIL 보고서를 의무로 남겨요. 부작용 방지 장치와 검수 보고서까지 도구 하나에 담았어요.
좋은 디자인은 누가 만드나요?
사용자가 DESIGN.md, 즉 취향 문서로 만듭니다. R-37은 결과가 밋밋하면 방향이 없는 거라고 선을 그어요. 필터는 나쁜 걸 막을 뿐이고, 아름다움을 넣는 건 사람 취향입니다.
원고, 봉투, 책자가 오렌지 리본 하나로 이어진 모습

SEASON 3

시즌3 「콘텐츠로 팔기」

AI와 콘텐츠를 만들고 고객에게 연결하는 4주

제가 에이전트로 조사하고 쓰고 파는 과정을 그대로 보여 드려요. 그다음 각자의 주제로 같이 만들어 봐요.

10월 2일 OT · 10월 5일부터 월·수 4주 · 10월 31일 오프라인

시즌3 커리큘럼 보기