2児のパパ系Webエンジニア
の開発日記
A Dad-of-Two Engineer's Development Diary

Kimi K3をClaude Codeで動かす設定!環境変数11個と、入れ忘れでサブエージェントが止まる話

Kimi K3をClaude Codeで動かす設定!環境変数11個と、入れ忘れでサブエージェントが止まる話

🙌 結論から

Kimi K3 は、環境変数を入れるだけで Claude Code からそのまま使えます。ただし「モデル名の変数を全部そろえる」ことだけは絶対に守ったほうがいいです。

Moonshot AI の Kimi Code の公式ドキュメントに、Claude Code から K3 を呼ぶ手順がちゃんと載っています!

ベースURLとキーの2つだけ入れて終わりにすると、メインの会話は動くのにサブエージェントや裏のタスクだけ止まる、という分かりにくい壊れ方をします(・_・;)

もう1つ大事なのが、普段の Claude と混ざらないようにすることです!

私はグローバルの settings.json には書かず、ターミナルごとに切り替える zsh の関数にしました😎

手に馴染んだ Claude Code の操作感のまま、中のモデルだけ K3 に差し替えられるのはかなり楽・・!

💡 Kimi K3とKimi Codeで今わかっていること

まず前提の整理です。

Kimi Code の公式の更新履歴(What’s New)を読むと、流れはこんな感じでした。

  • 7月16日: Kimi K3 をリリース&オープンソース化。2.8兆パラメータ、最大100万トークンのコンテキスト、思考の強さは low / high / max
  • 9月11日: Kimi Code の kimi-for-coding が K2.8 Preview に切り替わる(モデルIDはそのまま)
  • 9月17日: Kimi Code CLI v2.0.0 と、macOS / Windows 向けの Kimi Code Desktop が登場
  • 10月14日: Kimi Code CLI v2.2.0 と Desktop v1.1.0。kimi app コマンドで CLI からデスクトップ版を開けるように

K3 が出たのは3ヶ月前ですが、周りのツールは毎週のように更新されています🔥

ITmedia の報道によると、K3 は総合力では Claude Fable 5 や GPT-5.6 Sol にまだ届かない一方で、Program Bench(77.8)や BrowseComp(91.2)のように一部のベンチでは Fable 5 を上回っています。

「中国のオープンモデルがここまで来たのか・・・」というのが正直な感想です。

もう1つ押さえておきたいのが、Kimi Code のキーと API のキーは別物だという点です。

Claude Code に入れるのは、Kimi のメンバーシップに付いている Kimi Code Console で発行するキーです。

従量課金の Kimi API(K3 は100万トークンあたり入力 $3.00・キャッシュヒット $0.30・出力 $15.00)とは料金の考え方が違うので、ここは混ぜないほうが安全ですね🤔

🔧 Claude Codeにつなぐ環境変数

公式ドキュメントの設定を、K3 の256Kコンテキスト版で書くとこうなります。

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.kimi.ai/coding/",
    "ANTHROPIC_API_KEY": "<Kimi Code のAPIキー>",
    "ANTHROPIC_MODEL": "k3-256k",
    "ANTHROPIC_DEFAULT_FABLE_MODEL": "k3-256k",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "k3-256k",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "k3-256k",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "k3-256k",
    "CLAUDE_CODE_SUBAGENT_MODEL": "k3-256k",
    "CLAUDE_CODE_EFFORT_LEVEL": "high",
    "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "262144",
    "CLAUDE_CODE_MAX_CONTEXT_TOKENS": "262144"
  }
}

全部で11個もあります(・∀・)

100万トークン版にするなら、モデル名を "k3[1m]" に、下の2つを 1048576 に変えます。

ただ、1M版は256K版のおよそ2倍のクォータを使うと公式に書いてあります( .. )

しかも K3 の1Mコンテキストが使えるのは Pro・Allegretto 以上のプランで、Plus・Moderato だと k3 も k3-256k も262,144トークンまでです😅

私は普段の改修なら256Kで足りるので、まずは k3-256k にしました!

つながったかどうかは、Claude Code で /status を打つと分かります。

ベースURLが https://api.kimi.ai/coding/ になっていればOKです👍

モデル名の欄は Claude の名前のまま表示されることがあるので、そこは気にしなくて大丈夫です(^^)

思考の強さは /effort で変えられて、Claude Code 側の medium は K3 の high に、xhigh は max に読み替えられます。

🤔 入れ忘れるとサブエージェントが止まる

ここが今回いちばん伝えたいところです!

Claude Code は、メインの会話・サブエージェント・裏で走る軽いタスクで、別々のモデル名を見ています。

なので ANTHROPIC_MODEL だけ K3 にしても、haiku や fable を呼ぶ処理は存在しないモデル名を Kimi に投げてしまうんですよね(´・ω・`)

公式ドキュメントにも、haiku・fable・サブエージェントの変数が抜けると裏のタスクとサブエージェントが壊れる、とはっきり書いてあります。

ハマりどころを並べるとこうです。

  • ベースURLが抜けている: 認証エラーになる
  • haiku / fable / サブエージェントの変数が抜けている: メインは動くのに、サブエージェントだけ失敗する
  • コンテキストの値がモデルと合っていない: 小さすぎると早く圧縮され、大きすぎるとあふれる
  • 思考をオフにしている: K3 ではなく K2.8 Preview(思考なし)で処理される

意外と見落としやすいのが、自作のサブエージェントなんです!

Haiku 5.5 の記事で書いたログ要約用のサブエージェントは model: haiku にしていますが、K3 の設定中は ANTHROPIC_DEFAULT_HAIKU_MODEL 経由で K3 に流れます。

**「安いモデルで回しているつもりのサブエージェントも、全部 K3 のクォータを使う」**ということです。

これは仕組みを知らないと気づけないので、ちゃんと押さえておきたいです(`・ω・´)

👍 私はターミナルごとに切り替えています

公式の手順は2通りあって、~/.claude/settings.json に書く方法と、ターミナルで export する方法です。

ただ、settings.json の env は、同じ名前の環境変数より優先されます。

グローバルに K3 を書いてしまうと、普段の Claude で使いたいときに毎回ファイルを書き換えることになってしまいます。。

なので私は、~/.zshrc にこんな関数を置いています。

kclaude() {
  local m="k3-256k"
  ANTHROPIC_BASE_URL="https://api.kimi.ai/coding/" \
  ANTHROPIC_API_KEY="$KIMI_CODE_API_KEY" \
  ANTHROPIC_MODEL="$m" \
  ANTHROPIC_DEFAULT_FABLE_MODEL="$m" \
  ANTHROPIC_DEFAULT_OPUS_MODEL="$m" \
  ANTHROPIC_DEFAULT_SONNET_MODEL="$m" \
  ANTHROPIC_DEFAULT_HAIKU_MODEL="$m" \
  CLAUDE_CODE_SUBAGENT_MODEL="$m" \
  CLAUDE_CODE_EFFORT_LEVEL="high" \
  CLAUDE_CODE_AUTO_COMPACT_WINDOW="262144" \
  CLAUDE_CODE_MAX_CONTEXT_TOKENS="262144" \
  claude "$@"
}

コマンドの前に変数を並べる書き方なので、kclaude で起動したときだけ K3 になって、ほかのターミナルの claude には一切影響しません✨

モデル名を変数 m 1か所にまとめたので、1M版に切り替えるときの書き換え漏れも防げます💪

キーは KIMI_CODE_API_KEY という別の環境変数に入れて、Git で管理しているファイルには書いていません。

公式にも、settings.json に書いたキーは平文で保存されるので共有やコミットをしないように、と注意があります。

もう1つ、公式の手順にある「掃除用のスクリプト」は、~/.claude/settings.json の ANTHROPIC_* 系の設定を消します。

普段の設定を作り込んでいる人は、実行する前に cp ~/.claude/settings.json ~/.claude/settings.json.bak でバックアップを取っておくと安心です🙏

👀 Kimi Code CLIとどっちを使うか

Kimi には公式の Kimi Code CLI もあるので、どっちを使うか迷うところですよね🤔

Claude Code + K3Kimi Code CLI
操作感いつもの Claude Code のままKimi 独自。/swarm や Goal モードがある
設定環境変数11個をそろえるkimi を起動して /login するだけ
既存の資産フック・スキル・サブエージェントがそのまま使える/import-from-cc-codex で Claude Code と Codex の設定を取り込める
最近の更新Claude Code 側の更新に乗る10月14日の v2.2.0 で kimi app からデスクトップ版を開ける

私は、普段の手順を崩したくない作業は Claude Code + K3、Kimi ならではの機能を試したいときは Kimi Code CLI、と分けています✅

Kimi Code CLI は Python から Node.js に作り直されていて、インストールは curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash の1行です😊

旧バージョンはもうメンテナンスされないので、昔 Python 版を入れた人は入れ直したほうがよさそうです!

🔗 関連記事と使い分け

パパ系Webエンジニア〜愛用ガジェット一覧 🛍️

AI開発・執筆に使っている作業デスク環境を楽天ROOMにまとめています ✨ デスク周りの参考にどうぞ 🙌

🙌 まとめ

Kimi K3 は Claude Code から使えますが、モデル名の変数は6つとも同じ値にそろえるのが鉄則です。

ベースURLとキーだけで動いた気になると、サブエージェントのところで静かに止まります(´;ω;`)

私は kclaude という関数で起動を分けて、普段の Claude と K3 が混ざらないようにしました( ˘ω˘ )

Claude Code のフックやスキルを育ててきた人ほど、乗り換えより「中のモデルだけ替える」ほうがマジでラクだと思います!

※ バージョン番号・提供範囲・料金は今後も変わる可能性があります。最新情報は Kimi Code の公式ドキュメント をご確認ください👀

参考になったらシェアしてもらえるとうれしいです🙌

Xでポスト Threads はてブ LINE
本日のAI速報 10月18日(日)・4件