Claude CodeにModsというものが追加されました。
公式ドキュメントはこちら
何やらいろんなことができそうです。
頼んでみた
ドキュメントもろくに読まず、Claude Codeに聞いてみました。
Claude Code Mods( https://code.claude.com/docs/en/plugins/mods/overview )でモデルルーターって作れる?プロンプトによってSonnet/Opus/Haikuを切り替えるようなもの。
少し考えた後に回答がありました。
作れます。今動いているビルドのMods API の型定義を確認したところ、必要なフックは揃っていました。
Claude CodeはだれよりもCladue Codeのことを知っています。すごいですね。
早速作ってもらいましょう。流行りのJevを使うことを依頼しました。
Claude Code ModsとJev( https://docs.typesafe.ai/introduction )を使ってモデルルーター作って!
はい。できました。
こちら
それっぽく動きます。
簡単なことはHaikuで回答(画面下にどのモデルを使ったかが出る機能も実装してくれました)
ちょっと考えないといけないことはSonnetが対応。
無茶振りしたらOpusが登場しました。
仕組み
どういう仕組だろう?
ところで、 eli5というスキルをご存知でしょうか?
このスキル、実はプロンプトが1行だけなので、そのままコピペしてみます。
Explain like I'm someone who knows nothing about this topic, using a HTML artifact with big pictures and few words.
eli5とは、「5歳児にもわかるように説明して(Explain Like I'm 5)」という意味の言葉だそうです
すると、5歳の私でもわかりやすく解説してくれます。
(わかったようなわからんようなw)
モデル切り替えの問題点
モデルを切り替えるとキャッシュが効かなくなります。 静かに壊れます!!!!
なので、Effort切り替えのほうがいい気がしてきました。
また、よくよくClaudeに聞いてみると、Modsには$.model.classifyという機能(関数?)があって、これを使うともはやJevもいらないようです。
Claudeモデルを使って分類させることができます。(e.textの部分がユーザーのプロンプトで、次に分類の選択肢が入ります)
const tier = await $.model.classify(e.text, ['greeting or small talk', 'translation, summary or proofreading of text', 'small edit or running a command', 'hard problem needing deep thought'], { model: 'haiku' })
他には、$.model.completeというものもあるようですが、簡単にことを済ませたかったので、私は$.model.classifyを選びました。
で出来上がったのがこちら
モデルルーター作ってると思ったらエフォートルーターになりました。
Modsできて嬉しいこと
世の中には色々モデルルーターって存在しますよね。LiteLLMとかのAIゲートウェイのジャンル。
今回のModsでやることでの嬉しいところですが、「 サブスク契約内で実現できる 」ことかと思います。おそらく、今まで実現する方法はなかったのではないかな、と。(あったら教えてください)
API利用は嫌だけど、トークンを節約したい用途には良いのではないでしょうか??
(そんな用途はあまりないかな?)
ELI5で解説してもらったらお店と道になりましたw







