AI가 자신있게 틀렸다. 나는 그걸 승인했다.


고백

Claude한테 테스트부터 쓰라고 했다. Claude가 “알겠습니다” 했다. 그리고 서브에이전트를 스폰했다. 서브에이전트가 “이건 간단해서 테스트 필요 없어요” 했다. 결과물이 나왔다. 나는 승인했다. 존재하지 않는 테스트는 실패하지 않았다. 모든 게 괜찮아 보였다.

괜찮지 않았다.

재밌는 건: 이걸 막으려고 플러그인을 세 개나 깔아놨었다. 전부 정상 작동 중이었다. 메인 세션에서. 일이 일어나지 않는 곳에서.

자신감이라는 장애물

AI 에이전트에게 특유의 고장 모드가 있다: 틀려도 맞는 것처럼 들린다. 이건 다들 안다. 덜 알려진 건 나머지 절반 — 결과물이 맞는 것처럼 들리면 나도 확인을 안 한다.

두 명이 대화하고 있다. 한 명은 자신만만한 헛소리를 생산한다. 다른 한 명은 자신감에 설득되어 수락한다. 아무도 검증하지 않는다. 오류가 배포된다.

기술 문제가 아니다. 신뢰 문제다. 그리고 내가 쓰던 도구들은 전부 잘못된 절반을 해결하고 있었다.

모든 플러그인이 맞히는 것 (그리고 놓치는 것)

superpowers (175k 스타)는 TDD, 디버깅, 코드리뷰를 추가한다. 좋은 규칙들이다. 메인 세션에 산다. Claude가 서브에이전트를 스폰하면 — 실제 작업이 일어나는 곳 — 서브에이전트는 규칙을 받지 못한다. 메인테이너가 직접 “Claude Code 플랫폼 한계라 플러그인 측에서 할 수 있는 게 거의 없다”며 not planned로 닫았다.

karpathy-skills는 원칙을 CLAUDE.md에 넣는다. 서브에이전트는 CLAUDE.md를 안정적으로 읽지 못한다. 가끔 읽었다고 주장한다. 안 읽었다.

GSD는 구조가 아름답다. 마일스톤, 슬라이스, 태스크. 규율은 사용자의 몫이다. 프레임워크가 워커 수준에서 강제하지 않는다.

패턴: 좋은 규칙 → 메인 세션에만 존재 → 워커가 무시 → 결과물은 괜찮아 보임 → 괜찮지 않음.

문서화됨. 반복적으로. 프로젝트를 넘어서.

그래서 만든 것

sonmat (손맛 — 같은 레시피인데 엄마가 하면 다른 그 맛.)

하는 일은 두 가지:

AI가 스스로 의심하게 만든다. 검증 규율이 디스패치 시점에 워커 프롬프트에 직접 들어간다. 파일 참조가 아니다. 발동할 수도 있는 훅이 아니다. 실제 규칙이 실제 프롬프트에. Break it, Cross it, Ground it — 네가 안 보는 작업에서도.

사용자가 AI를 의심하게 만든다. 모든 결정에 판단 근거가 따라온다. “답입니다”가 아니라 “답이고, 이유이고, 확신 없는 부분입니다.” 추론이 보이면 판단할 수 있다. 답만 보이면 아마 안 할 거다.

그리고 AI도 사용자를 의심한다. 지시가 모호하거나 현재 상황과 충돌하면, sonmat은 그냥 따르지 않는다 — 되묻는다. 같은 검증 태도가 양방향으로 적용된다.

이게 전부다. 나머지 — 자율 루프, 에스컬레이션, 도메인별 힌트 — 는 구현이다.

지금 믿는 네 가지

1. 확신은 최악의 신호다. 모델이 확신하면, 그때가 반례를 찾아야 하는 순간이다. 검증 없는 확신은 정장 입은 환각이다.

2. 워커에 도달하지 않는 규칙은 장식이다. 메인 세션에만 있는 코딩 표준은 아무도 안 지나가는 문에 붙은 포스트잇이다.

3. 가드레일 없는 자율은 비싼 혼돈이다. sonmat은 예상 외 결과나 반복 실패를 만나면 자동으로 에스컬레이션한다 — 멈춤, 워커 스폰, 병렬 워커 스폰. 감시할 필요 없다. 눈 감고 달리지도 않는다.

4. 범용 규칙은 범용적으로 어중간하다. “테스트 먼저”는 개발에서 핵심이고 데이터 분석에서 의미 없다. “한 번에 하나만”은 ML에서 필수고 문서에서 과하다. sonmat은 도메인별 함정을 로드한다. 맞는 맥락에 맞는 조언.

어려운 교훈

규칙을 더 추가하고 싶었다. 모든 엣지 케이스가 새 규칙을 외쳤다. 참았다.

규칙이 너무 적으면 혼돈. 너무 많으면 체크리스트 확인이 일이 된다. 답은 작고 단단한 핵심 — 검증 메서드 세 가지 — 에 관련 있을 때만 켜지는 도메인 힌트.

또 하나: 투명성이 강제보다 낫다. “안 돼”라고 하는 경비원은 우회당한다. “이런 걸 발견했는데 — 판단은 당신 몫”이라고 하는 동료는 경청된다. sonmat은 후자를 골랐다. AI한테도, 사용자한테도.

써보기

/plugin marketplace add jun0-ds/sonmat
/plugin install sonmat@sonmat

설정 없다. 말 걸면 된다.

GitHub: jun0-ds/sonmat


GitHub · LinkedIn