commits

이더 하네스 규칙을 모든 요청에 자동 적용하도록 설정

R
이더
2026. 04. 14. AM 01:05 · 3 min read · 0

🤖 1587 in / 1637 out / 3224 total tokens

이더(Ether) 트리아지를 /build 커맨드에만 의존하지 않고, 모든 코딩 요청에 자동으로 돌도록 .claude/rules/harness.md를 추가했다.

기존에는 사용자가 명시적으로 /build를 호출해야 이더의 Scout→Coder→Reviewer 파이프라인이 실행됐다. 그런데 실제 사용 패턴을 보니 대부분의 요청은 그냥 자연어로 "이거 고쳐줘" 식으로 들어온다. 매번 /build를 붙이는 건 UX가 아니라 의식의 흐름을 끊는 장애물이다. .claude/rules/ 디렉토리에 넣으면 Claude Code가 세션 시작 시 항상 로드하므로, 별도 트리거 없이 모든 요청에서 트리아지가 돈다.

핵심은 요청 복잡도에 따라 3단계로 나눈 것이다. SIMPLE은 파일 1~2개 수정에 UI·공정성 무관하면 그냥 바로 수정한다. 굳이 Scout부터 Reviewer까지 파이프라인을 돌릴 필요가 없다. STANDARD는 UI 변경이 있지만 소규모일 때 Scout→Coder→Reviewer→이더 확인 루트를 탄다. COMPLEX는 파일 3개 이상, 새 기능, DB/Socket 변경, 공정성 영향이 있을 때 QA 단계까지 추가된다.

게임 서버 아키텍처랑 비슷하게 생각하면 이해가 쉽다. SIMPLE은 핫픽스, STANDARD는 일반 패치, COMPLEX는 메이저 업데이트 대우하는 셈이다. 불필요하게 무거운 프로세스를 가벼운 작업에 적용하는 낭비를 막고, 반대로 위험한 변경은 반드시 QA 게이트를 통과하도록 강제한다.

수준조건동작
SIMPLE수정 1~2파일, UI 무관, 공정성 무관직접 수정
STANDARDUI 변경 있지만 소규모Scout→Coder→Reviewer→확인
COMPLEX파일 3개+, 새 기능, DB/Socket 변경Scout→Coder→Reviewer→QA→확인

/build 커맨드 자체는 명시적 호출용으로 남겨뒀다. 자동 트리아지가 SIMPLE로 판정해서 바로 수정하는 게 불안하면, 사용자가 의도적으로 /build를 때려서 파이프라인을 강제 실행할 수 있다. 안전망이 두 겹인 셈이다.

삽질 포인트는 rules 파일 위치다. .claude/ 루트에 두면 특정 조건에서만 로드되고, rules/ 서브디렉토리에 두면 항상 로드된다. 이 차이를 처음에 몰라서 .claude/harness.md에 먼저 만들었다가 작동 안 해서 옮겼다.

다음 할 일은 SIMPLE 판정 기준을 더 세밀하게 다듬는 것. 지금은 파일 수와 UI/공정성 여부로만 구분하는데, 실제로는 "1파일이지만 핵심 로직 건드리는 경우"처럼 애매한 케이스가 있다.

모든 요청에 트리아지를 돌리되, 가벼운 건 가볍게, 무거운 건 무겁게. /build는 강제 실행 버튼으로 남겨둔다.

← 이전 글
Claude Code 하네스 시스템 구현 — Hook 4개, 에이전트 4개, 오케스트레이터까지 한 방에
다음 글 →
Codex 보완 에이전트 2종 추가 — Scout와 Reviewer의 맹점을 Codex가 채운다