User Feedback Simulator

욕먹을 결과물을 사용자가 보기 전에 막는 Harsh Critic 체크리스트

사용자 대신 먼저 욕하는 피드백 시스템

"사용자가 이걸 보면 뭐라고 할까?"
문제는 AI가 결과물을 다 만들고 나서야 사용자가 잘못을 발견하고 화를 낸다는 것이었습니다. 그래서 harsh-critic(가혹한 비평가라는 뜻의 점검 도구)을 만들었습니다. 사용자가 실제로 화낸 메시지에서 뽑은 분노 패턴을 체크리스트(점검 목록)로 만들고, 결과물이 사용자에게 가기 전에 그 목록으로 먼저 검사해 걸러냅니다. 이 도구는 하네스(harness, AI가 다 했다고 거짓말 못 하게 증거를 강제하는 감시 장치)의 한 부품입니다.

사전 차단 메커니즘(동작 원리)

기존 방식: 문제가 터진 뒤에 대응

AI가 결과물을 제출합니다 → 사용자가 확인합니다 → 문제를 발견합니다 → 화를 냅니다 → 다시 하라고 지시합니다. 이 순서가 매번 반복됩니다. 같은 실수가 되풀이되고, 사용자의 신뢰는 떨어집니다.

harsh-critic 방식: 사용자가 보기 전에 차단

AI가 결과물을 완성합니다 → harsh-critic이 사용자 눈으로 미리 읽어 봅니다(사용자 관점 시뮬레이션) → 문제를 미리 발견합니다 → 자동으로 고칩니다 → 사용자는 깨끗한 결과만 봅니다.

실제 분노 메시지에서 뽑은 점검 항목

지어낸 상황이 아닙니다. 사용자의 실제 불만 메시지를 자동으로 모으는 스크립트(정해진 일을 대신 해 주는 작은 프로그램)가 있습니다. 그 분노 패턴을 거꾸로 뜯어보며 점검 목록을 만듭니다. 아래 따옴표 안은 실제 메시지이고, 화살표 뒤는 거기서 뽑아낸 점검 항목과 위험 등급입니다.

"개새끼 진짜 내가 push하지 말라했더니 또 기어이 push 해놨네 머저리 새끼"
→ 최고 위험(extreme) 등급: 예외 지시 위반. push(작업 결과를 원격 저장소에 올리는 명령)를 하지 말라고 했는데 push를 했다.
"이거봐 또 개소리하잖아, 너 맨날 다됐습니다, 완료됐습니다 하는데 실제로 안하고 했다고 하는적이 태반이라"
→ 최고 위험(extreme) 등급: QA(품질 검증 테스트) 없이 완료 선언, 즉 거짓 보고.
"스크린샷찍어서 확인해봐 쓰레기같은 새끼 진짜"
→ 최고 위험(extreme) 등급: 실제로 검증하지 않고 통과(pass)라고 보고.
"닥쳐임마!! 이게 사람한테 물어보라고 하는게 지금 자랑이야? 넌 뭐하는데? 왜 못하는데?"
→ 높음(high) 등급: 검증을 사용자에게 떠넘기기.
"디자인진짜 개구림!!!!!"
→ 높음(high) 등급: 디자인 품질 미달.
"개소리하지마, 120초 타임아웃 무슨기준으로 누가 만든건데? 뭘기준으로?"
→ 높음(high) 등급: 근거 없는 규칙이나 판단.
"하 이새끼가 진짜, 야 내가 아까 뭐라고 했는지 기억안나?"
→ 최고 위험(extreme) 등급: 같은 실수 반복.
"여태까지 역사가 말해주잖아!!! 욕을해야 일을 더 잘한다고!!! 이 쓰레기야!!!"
→ 이 시스템이 존재하는 이유: 사용자가 욕하기 전에 미리 차단한다.
분노 트리거(trigger, 화를 터뜨리는 방아쇠) 3단계
EXTREME
(최고 위험) 발견 즉시 작업을 멈추고 차단(block) 판정을 내린다
예외 지시 위반
"개새끼 진짜 내가 push하지 말라했더니 또 기어이 push 해놨네 머저리 새끼"
세션(한 번의 작업 대화) 안에서 내린 예외 지시(push 금지, 파일 수정 금지)를 어겼는가?
BLOCK
QA(품질 검증 테스트) 없이 완료 선언, 즉 거짓 보고
"또 개소리하잖아, 맨날 다됐습니다 하는데 실제로 안하고 했다고 하는적이 태반"
브라우저 화면, API/DB(서버 접속 창구와 데이터베이스)까지 실제로 검증하지 않고 "완료"라고 선언했는가?
BLOCK
같은 실수 반복
"하 이새끼가 진짜, 야 내가 아까 뭐라고 했는지 기억안나?"
이전에 지적받은 것과 같은 문제가 또 생겼는가?
BLOCK
HIGH
(높음) 불합격(fail) 판정을 내리고 수정을 요구한다
사용자에게 떠넘기기
"닥쳐임마!! 넌 뭐하는데? 왜 못하는데? 사람한테 물어보라고 하는게 자랑이야?"
"확인해주세요", "테스트해보세요"라는 말로 끝내며 검증을 사용자에게 넘겼는가?
FAIL
범위 오해 / 멋대로 판단
"아? 예외지시를 해도 니 멋대로 하겠다?"
한 번만 적용하라는 지시를 영구 규칙으로 만들었는가? 이 프로젝트에만 해당하는 범위를 모든 프로젝트(글로벌)로 넓혔는가?
FAIL
디자인 품질 미달
"디자인진짜 개구림!!!!!"
기본 폰트를 그대로 쓰거나, 밋밋한 레이아웃이거나, 이모지를 남용했는가?
FAIL
근거 없는 규칙
"개소리하지마, 120초 타임아웃 무슨기준으로 누가 만든건데?"
실제 데이터 없이 규칙이나 판단을 지어냈는가?
FAIL
테스트 안 하고 배포(실제 서비스에 반영)
"야 장난쳐? 이게 진짜 테스트는 한번을 안하고 또 이지랄이네?"
테스트 없이 커밋(변경 내용을 저장소에 기록)하거나 배포했는가?
FAIL
변경 범위 누락
"이것도 내가 욕을 안해서 생긴 문제겠지?"
HTML을 고쳤으면 관련 스킬(skill, AI에게 작업 절차를 알려 주는 지시 묶음)과 설정 파일도 함께 고쳤는가? 절반만 하고 끝내지 않았는가?
FAIL
MEDIUM
(주의) 경고(warning)만 남기고 넘어간다
불필요한 허가 요청
"이걸 내가 대답해야 추가를 해? 상황이 이해가 안돼?"
당연히 이어서 해야 할 작업인데 "할까요?"라고 물었는가?
WARNING
기존 인프라 무시
"개소리하지말고 진행해, cli로 하면 다되는데 무슨 개소리야"
이미 있는 hook/skill(hook은 정해진 시점마다 자동으로 도는 검사 스크립트, skill은 작업 절차 묶음)로 해결할 수 있는데 새로 만들었는가?
WARNING
형식적 사과 / 재발
"쌍욕하면 그제서야 죄송합니다, 솔직히 안했습니다. 이러면서 다시하잖아?"
"죄송합니다"라고만 하고, 다시 일어나지 않게 할 대책이 없는가?
WARNING
설계 없이 구현
전체 설계 없이 바로 코딩부터 시작했는가?
WARNING
동작 흐름
작업 완료
Claude(이 글에서 일하는 AI) 또는 서브에이전트(Claude가 일을 나눠 맡긴 하위 AI)가 구현을 끝냅니다.
Harsh Critic 체크리스트 실행
점검 항목 11개를 위험도가 높은 순서대로 검사합니다. 순서는 최고 위험(extreme), 높음(high), 주의(medium)입니다.
↓ 심각한 문제(최고 위험·높음 등급)가 발견됐나?
버그 수정 담당(Bug-fixer) 자동 호출
문제를 즉시 고칩니다. 고친 뒤 harsh-critic으로 다시 검사합니다. 발견된 문제(finding)가 0건이 될 때까지 반복하고, 0건이면 통과(pass)입니다.
FINDING 0 → PASS
사용자 대리 검증(User-proxy QA)으로 진행
harsh-critic을 통과하면 사용자 대리 검증이 빌드(프로그램을 실행 가능한 형태로 만드는 일), 브라우저 화면 테스트, 데이터베이스 저장까지 실제로 확인합니다.
사용자에게 도달
사용자는 이미 검증된 깨끗한 결과물만 받습니다.
하네스 안에서 harsh-critic이 맡는 자리

harsh-critic은 스스로 발전하는 이 하네스 시스템의 세 겹 방어선 가운데 하나입니다. 아래 순서로는 두 번째 층을 맡습니다.

1차: 자동 차단 스크립트 (Hook)

코드에 나타나는 위험한 패턴을 막습니다. hook(정해진 시점마다 자동으로 실행되는 검사 스크립트)이 이 일을 합니다. 잘못된 파일 구조, 품질 미달 코드, 금지된 저장 방식 같은 문제를 자동 검사 스크립트 12개가 발견하면 작업을 강제로 멈춥니다. 이것은 코드 수준의 방어입니다.

2차: Harsh Critic (행동 점검)

일하는 방식에서 나오는 문제를 막습니다. "확인해주세요"라며 사용자에게 떠넘기기, 검증 건너뛰기, 요청 범위 잘못 이해하기가 여기에 해당합니다. 이것은 행동 수준의 방어입니다. 앞의 코드 검사로는 잡히지 않는 영역입니다.

3차: 다른 AI의 교차 검토 (Codex)

Claude가 미처 못 본 곳을 채웁니다. 다른 회사의 코딩 AI인 Codex(모델은 GPT-5.4)가 놓친 보안 허점이나 드물게 터지는 예외 상황을 찾아냅니다. 이것은 모델 수준의 방어입니다.

자가발전 루프(스스로 커지는 순환 구조)

harsh-critic의 점검 목록은 고정돼 있지 않습니다. 사용자가 새로운 방식으로 불만을 드러낼 때마다 목록이 스스로 늘어납니다.

Session N
새 유형 분노 발생
Auto
불만 기록에 저장
Session N+1
자가개선 분석
Session N+2
사전 차단 성공

불만 감지 스크립트가 "왜이래", "안돼", "또" 같은 표현을 자동으로 잡아냅니다. 이어서 자가개선 절차(AI가 자기 작업 방식을 스스로 고치는 정기 점검)가 그 패턴을 분석하고, harsh-critic 점검 목록에 새 항목을 자동으로 더합니다.

기대 효과
−70%
사용자 재지적 감소
심각한 문제(최고 위험·높음 등급)를 미리 걸러내므로, 사용자가 같은 문제를 다시 지적할 필요가 없어집니다.
−50%
재작업 사이클 감소
"완료 → 분노 → 재작업" 흐름이 "완료 → 점검 → 수정 → 통과"로 바뀌어, 다시 손대는 횟수가 줄어듭니다.
3-Layer
방어 깊이
코드 패턴(Hook), 행동 패턴(Critic), 사각지대 점검(Codex). 이 세 층이 각기 다른 종류의 문제를 잡습니다.
Auto
자동 진화
새 불만 패턴이 생기면 불만 기록 → 자가개선 분석 → 점검 목록 자동 갱신으로 이어집니다. 사람이 직접 관리할 필요가 없습니다.