Claude Code Mods와 Jev로 만드는 모델 라우터 입문
이 글의 요점
- Claude Code Mods는 Claude Code 내에서 작동하는 함수 후크(function hook) 형태의 플러그인으로, 세션 중에 핫 리로드(hot reload)가 가능한 확장 메커니즘입니다.
- 모델 라우터란 요청의 난이도에 따라 Opus, Sonnet, Haiku 등 여러 모델을 골고루 사용하는 시스템입니다. Mods와 Jev를 조합한 구현 예시가 Qiita에서 소개되었습니다 (https://qiita.com/moritalous/items/8b663db633dde3c49d62).
- '구독으로 사용 가능'하다는 점은 API 키 과금이 아니라 계약 중인 플랜의 범위 내에서 작동하는 구성을 의미하는 것으로 보입니다. 다만 약관과 상한선은 반드시 공식적으로 확인해야 합니다.
이 글의 위치와, 확인되지 않은 부분
먼저 솔직하게 말씀드립니다. 작성 시점 기준으로 참고한 Qiita 기사의 본문을 가져올 수 없었습니다. Jev의 사양이나 설정 항목을 저는 1차 정보로 확인할 수 없습니다.
따라서 본 기사에서는 확인된 범위와 설계의 일반론을 나누어 작성합니다. Jev의 구체적인 사용법은 'TBD'라고 명시하고 추측으로 채우지 않겠습니다. 세부 절차는 원본 Qiita 기사와 공식 문서를 통해 확인해 주십시오.
대신, 검색하는 분들이 궁금해할 다음 질문에 답하겠습니다.
- Claude Code Mods란 무엇인가
- 모델 라우터로 무엇이 달라지는가
- 직접 설계할 때의 유형
- 어떤 경우에 적합하지 않은가
Claude Code Mods란 무엇인가
Mods는 Claude Code 안에 직접 만든 표시나 처리를 삽입하는 메커니즘입니다. 제 환경에서 사용 가능한 스킬 설명에는 다음과 같이 쓰여 있었습니다.
- 라이브 페인(Live Pain), 밴드(Band), 상태 라인(Status Line), 토스트(Toast), 후크를 만들 수 있다
- 함수 후크를 모은 플러그인으로 작성한다
- 작동 중인 세션에 핫 리로드된다
이 설명은 실제로 제 환경에 표시되었던 기술입니다. 터미널에서도 데스크톱 앱의 Code 탭에서도 사용할 수 있다고도 쓰여 있었습니다.
즉, Mods는 Claude Code 외부에서 바라보는 도구가 아닙니다. 본체의 움직임에 '후크'로 끼어들 수 있는 확장점입니다.
후크로 할 수 있는 것의 개요
후크란 특정 타이밍에 호출되는 함수를 말합니다. 예를 들어 다음과 같은 용도가 생각해 볼 수 있습니다.
- 요청을 보내기 전에 내용을 확인한다
- 응답 후에 로그를 남긴다
- 상태 라인에 상태를 표시한다
모델 라우터는 이 중 '요청을 보고, 사용할 모델을 결정하는' 역할에 해당합니다. 다만, 후크로 모델 전환까지 직접 할 수 있는지는 저는 확인하지 못했습니다. 여기는 TBD입니다.
모델 라우터란 무엇인가
모델 라우터는 길 안내 교통 정리와 같습니다. 간단한 요청은 가벼운 모델에게, 어려운 요청은 강력한 모델에게 분배합니다.
왜 사용하고 싶은가
이유는 주로 3가지가 있습니다.
- 가벼운 작업에 최상위 모델을 사용하는 것은 자원의 아까운 사용법이 되기 쉽다
- 가벼운 모델 쪽이 일반적으로 응답 속도가 빠르다
- 구독의 이용 상한선을 오래 유지하고 싶다
구독 서비스에서는 사용량이 상한선에 가까워지면 제한이 걸립니다. 무거운 작업과 가벼운 작업을 분리하는 것만으로도 체감은 상당히 달라질 것입니다. 다만, 절감량 수치는 제가 측정하지 않았기 때문에 쓰지 않겠습니다.
현행 모델의 역할 분담 예시
Anthropic의 모델 ID는 다음과 같습니다 (환경에서 제시된 정보입니다).
| 모델 | ID | 적합해 보이는 역할 |
|---|
| Opus 5.5 | claude-opus-5-5 | 설계・어려운 디버깅 |
| Sonnet 5.5 | claude-sonnet-5-5 | 일상적인 구현・리뷰 |
| Haiku 4.5 | claude-haiku-4-5-20251001 | 요약・정형화・단순 검색 |
'적합해 보이는 역할'은 제 설계안입니다. 공식 권장 사항이 아닙니다.
Jev와 조합하는 의미
Qiita 기사의 제목에서는 Mods와 Jev로 모델 라우터를 만든다고 합니다. 여기서 Jev가 어떤 부품인지, 저는 1차 정보로 확인할 수 없습니다.
상상으로 쓰는 것은 피하겠습니다. 확인하고 싶은 점은 다음 3가지입니다.
- Jev는 어떤 도구인가 (공개처・라이선스)
- Claude Code와 어떻게 연결하는가
- 인증은 계약 중인 플랜을 사용하는가
특히 세 번째가 중요합니다. '구독으로 사용 가능'하다고 말할 수 있는지는 여기서 결정됩니다.
설계 패턴: 라우터를 직접 만들 경우
Jev 구현에 의존하지 않는, 사고방식의 틀을 작성합니다. 아래는 개념을 보여주는 가상 코드(pseudo-code)이며, 실제 API가 아닙니다.
// 개념 예시: 요청 특징으로부터 모델 선택
function pickModel(prompt) {
if (/設計|アーキテクチャ|原因が分からない/.test(prompt)) return "opus";
...
규칙을 정할 때의 3가지 원칙
- 기본값은 중간 모델로 설정한다. 판정에 실패하더라도 피해가 작기 때문입니다. -
- 수동으로 덮어쓸 수 있게 한다. 자동 판정은 반드시 틀립니다. -
- 선택된 모델을 화면에 표시한다. 상태 라인에 보여주면, 동작을 의심하기 쉬워집니다.
여기서 Mods의 상태 라인 기능이 유용해 보입니다. 라우터의 판단을 시각화할 수 있기 때문입니다.
판정 방법 비교
| 방식 | 정확도 | 난이도 | 주의점 |
|---|
| 키워드 일치 | 낮음~중간 | 작음 | 누락되는 경우가 많음 |
| ... | | | |
| 처음에는 키워드 일치로 충분합니다. 부족하다고 느껴질 때 분류 모델을 검토하는 순서가 현실적일 것입니다. | | | |
구독(Subscription)으로 사용 가능한지 정말인가요?
결론부터 말하자면, 저에게는 '그렇게 소개되고 있다'라고밖에 말씀드릴 수 없습니다. 근거는 주제의 제목과 Qiita 기사의 존재뿐입니다.
확인해야 할 점은 다음과 같습니다.
- 사용 중인 플랜의 이용 약관에서 이 연결 방식이 허용되는지
- 제3자 툴을 거쳐 사용하는 것이 약관상 어떻게 취급되는지
- 상한에 도달했을 때의 동작
약관 위반으로 계정에 영향이 생기는 것은 본말전도입니다. 도입하기 전에 Anthropic의 공식 문서와 플랜의 약관을 읽어보세요.
단점・적합하지 않은 사람・잘 안 되는 경우
라우터가 만능은 아닙니다. 다음 경우에는 오히려 역효과가 날 수 있습니다.
적합하지 않은 사람
- 작업의 대부분이 어려운 설계나 디버깅인 사람. 거의 최고 상위 모델로 보내지기 때문에, 라우터의 이점이 적습니다.
- 설정을 만질 시간이 아까운 사람. 조정 자체가 작업이 됩니다.
- 약관 확인에 시간을 들이고 싶지 않은 사람. 구독 플랜을 활용하는 구성은 특히 신중함이 필요합니다.
잘 안 되는 경우
- 오판: 어려운 요청이 가벼운 모델로 가면, 다시 시도하면서 오히려 사용량을 소모하게 됩니다. -
- 문맥의 단절: 세션 도중에 모델이 바뀌면, 동작하는 습관(패턴)이 바뀌어 혼란스러울 수 있습니다. -
- 사양 변경: Mods는 새로운 구조입니다. Jev와 같은 주변 툴을 포함하여, 업데이트로 인해 작동하지 않게 될 가능성이 있습니다.
작게 시도해 본다면
갑자기 자동 전환으로 만들지 마세요. 먼저 '지금 어떤 모델을 사용해야 하는가'를 제안하는 표시부터 시작하는 것이 안전합니다. 제안이 맞는 비율을 며칠 동안 지켜본 후에, 자동화로 진행하세요.
도입 전 체크리스트
- 원본 Qiita 기사를 끝까지 읽었다
- Jev의 공개 출처와 라이선스를 확인했다
- 플랜 약관상 허용되는 구성인지 확인했다
- 수동으로 원래 모델로 되돌리는 방법을 파악했다
- 라우터의 판단을 화면에 표시하는 설정으로 했다
다음에 취할 행동
첫걸음은 Qiita 기사를 읽고 Jev의 정체를 확인하는 것입니다. 그 결과, 약관상 문제가 없어 보인다면, 제안 표시만 하는 라우터를 하루 동안 사용해 보세요.
남아있는 질문은, 판정을 누가 담당하느냐입니다. 인간의 수동 전환과 자동 라우터 중 어느 것이 자신의 작업에 더 이득인지. 며칠 기록하면 답이 나올 것입니다.
자주 묻는 질문 (FAQ)
Claude Code Mods란 무엇인가요?
Claude Code 내부에 페인(Pain)이나 상태 라인, 후크를 추가할 수 있는 플러그인 메커니즘입니다. 함수 후크로 작성하여 동작 중인 세션에 핫 리로드되는 것으로 설명되어 있습니다.
모델 라우터란 무엇인가요?
요청 내용에 따라 사용할 AI 모델을 자동으로 선택하는 시스템입니다. 간단한 작업은 가벼운 모델로, 어려운 작업은 강력한 모델로 분배합니다.
Jev란 무엇인가요?
저는 1차 정보로 확인할 수 없기 때문에 TBD(To Be Determined)입니다. Mods와 결합된 모델 라우터의 구현 예시가 Qiita에서 소개되었습니다 (https://qiita.com/moritalous/items/8b663db633dde3c49d62).
구독 상태로 API 과금 없이 사용할 수 있나요?
소개 기사에서는 그렇게 취급되고 있는 것 같지만, 저는 약관 측면을 확인할 수 없습니다. 도입하기 전에 사용 중인 플랜의 약관과 Anthropic의 공식 정보를 확인하세요.
모델 라우터로 사용량을 절약할 수 있나요?
가벼운 작업을 가벼운 모델에 할당하면 비용 절감으로 이어질 가능성이 있습니다. 다만, 오판으로 인해 재작업이 늘어나면 역효과일 수 있으며, 얼마나 줄어들지는 제가 측정하지 못했습니다.
어떤 모델을 어떤 작업에 할당해야 하나요?
설계나 어려운 디버깅은 Opus를, 일상적인 구현은 Sonnet을, 요약이나 형식 정리(整形)는 Haiku를 사용하는 분담이 시작점이 될 수 있습니다. 이는 저의 설계안이며 공식 권장 사항은 아닙니다.
처음 시도한다면 무엇부터 시작해야 하나요?
자동 전환 기능을 사용하기 전에, 추천 모델을 표시만 하는 구성부터 시작하는 것이 좋습니다. 제안의 적중률을 며칠 동안 지켜본 후에 자동화를 결정하는 것이 안전합니다.
토론 (Discussion)