Skip to main content
本ガイドでは、SambaNova プラグインで Claude Code を拡張し、SambaNova ホストのモデルにサブエージェントとしてコーディングタスクを委任する方法を解説します。計画 (Claude) と実行 (SambaNova) を分離することで、より高速でコスト効率の高いワークフローを実現できます。

2 つの連携方法

Claude Code と SambaNova の連携方法は 2 つあります。どちらも SambaNova ホストのモデルにコーディング作業を行わせる点は同じですが、Anthropic のフロンティアモデルが計画とオーケストレーションを担う形でループに介在し続けるかどうかが異なります。 オプション A を選ぶべきケース: 最小限のセットアップで、Anthropic を利用せずに、単一の SambaNova モデルにすべてを任せたい場合。モデルをフル機能のコーディングエージェントとして試す用途や、コスト重視の自己完結型ワークフローに最適です。 オプション B を選ぶべきケース: 難易度の高い計画とオーケストレーションを Anthropic のフロンティアモデル (Opus など) に任せ、機械的な実行をより低コストで高速な SambaNova モデルに引き渡したい場合。後述のオプション B をご参照ください。

オプション A: 環境変数による Direct API 接続

SambaNova は Anthropic 互換の Messages API を公開しているため、Claude Code を直接そこに向けることができます。プラグインもサブエージェントも不要で、セッション全体を SambaNova モデルが担います。

前提条件

セットアップ

以下の環境変数をエクスポートしてから、Claude Code を起動します。
これで、セッション内のすべてのプロンプトが SambaNova モデル上で実行されます。Claude Code は計画と実行をこのモデルに対して直接行います。
ANTHROPIC_MODEL に加えて ANTHROPIC_DEFAULT_HAIKU_MODEL も必ず設定してください。Claude Code をカスタムプロバイダーに向けた場合でも、バックグラウンドタスクや内部タスク (権限自動モードの分類器など) は、小型で高速な「Haiku」クラスのモデルを呼び出し続けます。これが SambaNova モデルにマッピングされていないと、それらのタスクは警告なしに失敗するか機能低下します。ANTHROPIC_DEFAULT_HAIKU_MODEL は、非推奨となった ANTHROPIC_SMALL_FAST_MODEL に代わる環境変数です。
これらの環境変数は ~/.zshrc (またはお使いのシェルのプロファイル) に永続化し、新しいシェルから Claude Code を起動して、その実行環境に確実に反映されるようにしてください。任意送信のテレメトリやバージョンチェックが Anthropic に届かないようにするには、CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 も設定できます。
SambaNova の Messages エンドポイントは推論専用です。Anthropic のサーバーサイド組み込みツール (web_search、code_execution、ホステッドの bash と text_editor) はサポートされておらず、400 エラーを返します (Messages API の注意事項 をご参照ください)。そのため、Direct API モードでは Claude Code の Web 検索は動作しません。Claude Code がローカルで実行するものは影響を受けません。クライアントサイドのツール (ファイル編集、Bash、Grep/Glob、ファイル読み取り) や、追加した MCP サーバーはそのまま利用できます。
Web 検索が必要な場合: クライアントサイドの Web 検索 MCP サーバーを追加してください。Claude Code は MCP サーバーをローカルで実行するため、どのプロバイダーを利用していても Direct API モードで動作します。claude mcp add <name> -- npx -y <web-search-mcp-package> で追加できます。検索 MCP を提供しているプロバイダーには、Exa と Linkup (いずれも SambaNova 連携ガイドあり) のほか、Brave や Tavily があります。

トラブルシューティング

Direct API モードで初回に発生する失敗のほとんどは、次のいずれかが原因です。

オプション B: プラグイン – Claude が計画し、SambaNova が実行

ここから先は、プラグインベースの方式をセットアップします。この方式では、Anthropic モデルがメインセッションでオーケストレーションを担い、/code サブエージェント経由で SambaNova モデルに実行を委任します。

前提条件

作業を始める前に、以下の環境を準備してください。
  • Python 3.11 以上が PATH 上にあること – 3.10 ではインストールフックが警告なしに失敗します
  • opencode (curl -fsSL https://opencode.ai/install | bash)
  • SambaNova API キーを、Claude Code の起動前に SAMBANOVA_API_KEY としてエクスポートしておくこと。API キーと URL をご参照ください
  • Claude Code CLI とそのモデルへのアクセス

環境の確認

以下の 1 行のコマンドで、Python、エグゼキューター CLI (cn または opencode)、API キーを確認できます。

セットアップ

  1. Claude Code にプラグインをインストールします。
  2. Claude Code を再起動します (または /reload-plugins を実行します)。
  3. インストールを確認します。
    プラグインには古いデフォルトモデルが同梱されている場合があります。次のステップで /update-model MiniMax-M2.7 を実行し、現在の推奨モデルを使用してください。
  4. 現在のモデルを登録します。
    MiniMax-M2.7 の場合は、提案されるサンプリングパラメータ (temperature=1.0、top_p=0.95) をそのまま受け入れてください。
/code には必ずプレフィックスなしのモデル ID (MiniMax-M2.7) を渡してください。sambanova/MiniMax-M2.7 の形式は使用しないでください。
Function calling に対応したエグゼキューターを選択してください。/code のサブエージェントはファイルの書き込みやコマンドの実行をツール呼び出し経由で行うため、その背後のモデルはツール呼び出しに対応している必要があります。MiniMax-M2.7 は Function calling の対応一覧に掲載されていますが、gemma-4-31B-it は掲載されていません。デモ 2 とデモ 3 で示すようにプランナーとして利用する場合は、事前に、委任した書き込みタスクを完了できることを確認してください。現行のモデル一覧は SambaCloud モデル をご参照ください。

Claude と SambaNova によるサブエージェントの実行

SambaNova プラグイン は、すべてのモデル設定を保存する独自のローカル SQLite データベースを保持します。プラグインを使用すると、サブエージェント用に分離された実行時専用の設定が生成されるため、既存の IDE 設定と明確に分離されます。

機能概要

Claude Code から、SambaNova ホストのモデル (例: MiniMax-M2.7) 上で動作する opencode にコーディングタスクを委任できます。低コストな大量作業や、計画 (Claude) と実行 (SambaNova) の分離に有用です。 スラッシュコマンドは 5 つあります。最もよく使うのは /code で、/list-models、/model-info、/update-model、/reset-model-db はローカルのモデルレジストリを管理します。 以下では、ライブラリの最新ドキュメントを取得する MCP サーバーを使う例を含め、3 つの実践的なデモを紹介します。

デモ 1 – SambaNova エンドツーエンド

ペットフレンドリーな「hello world」ランディングページを、MiniMax-M2.7 だけで構築・検証します。/code がタスク全体を低コストで高速な実行モデルに委任します。
ビルドを委任します。
ブラウザで確認します。
これが SambaNova のみのベースラインです。高速な実行モデル 1 つだけで、フロンティアモデルは介在しません。

デモ 2 – Claude が計画し、SambaNova が実行

アーキテクトとビルダーの分業です。Claude (現在のセッション) が精密な計画を作成し、SambaNova がそれを実行します。境界を越えるアーティファクトが PLAN.md であり、再現・差し替え・レビューが可能です。 ステップ 1 – Claude に PLAN.md の作成を依頼します (/code 経由ではなく、この Claude Code セッション内で行います)。
Read index.html and style.css in ~/sambanova-demo. Write PLAN.md describing how to extend this landing page into a “pet adoption finder” demo:
  • A gallery of 6 placeholder pet cards (name, species, one-line bio) in CSS grid
  • A search input that filters cards by name (vanilla JS, no frameworks)
  • A dark-mode toggle that persists in localStorage
Include exact file layout, the JS event handlers needed, and a verification checklist a human can run in the browser. Don’t modify any code yet.
~/sambanova-demo にある index.html と style.css を読み込み、このランディングページを「ペット里親探し」デモへ拡張する方法を記述した PLAN.md を作成してください:
  • CSS グリッドによる、プレースホルダーのペットカード 6 枚分のギャラリー (名前、種類、一言プロフィール)
  • 名前でカードを絞り込む検索入力欄 (フレームワークなしのバニラ JS)
  • localStorage に保存されるダークモード切り替え
正確なファイル構成、必要な JS イベントハンドラー、そして人間がブラウザで実行できる検証チェックリストを含めてください。まだコードは変更しないでください。
引き渡す前に、Claude が作成した計画をレビューしてください。自由に編集して構いません。計画をファイルとして具体化する目的はまさにそこにあります。
計画も SambaNova に任せたい場合: まず /update-model gemma-4-31B-it でプランナーモデルを登録し、このセッションで計画を書く代わりに、計画の作成自体を委任します: /code gemma-4-31B-it ~/sambanova-demo "<sample_plan_as_above>"。ステップ 2 (MiniMax-M2.7 での実行) は変わりません。これで計画と実行の両方が SambaNova 上で動作します。
ステップ 2 – PLAN.md を SambaNova に引き渡します。
ステップ 3 – 動作を確認します。
ギャラリー、動作する検索機能、動作するダークモード切り替えが表示されるはずです。 実行モデルは Claude との会話内容を一切参照しません。PLAN.md が仕様のすべてです。PLAN.md を修正して同じ /code コマンドを再実行することも、計画を書き直さずに実行モデルだけを差し替えることもできます。

デモ 3 – MCP を活用した、最新ライブラリドキュメントに基づく計画

デモ 2 に MCP サーバーを追加します。Claude が Context7 を使ってライブラリの「最新」ドキュメントを取得し、それを PLAN.md に織り込み、SambaNova が実行します。独自の検索処理を書かずに、古いドキュメントに起因する問題を解決できます。
Context7 のインストール (コマンド 1 つ)
OAuth の手続きを案内し、無料の API キーを生成して、Claude Code 用に MCP サーバーを登録します。新しいツールを認識させるために Claude Code を再起動してください。 Claude Code 内で確認します。
context7 が resolve-library-id と query-docs とともに表示されるはずです。
OAuth を使いたくない場合は、手動で追加できます: claude mcp add context7 -- npx -y @upstash/context7-mcp。無料ティアはキーなしでも動作しますが、レート制限が低くなります。
タスク内容
デモ 2 の各ペットカードに、date-fns の formatDistanceToNow を使ってページ読み込み時に計算する、人が読みやすい「Added X days ago」ラベルを付けます。date-fns は Context7 の好例です。v2 から v3 への書き直しでインポート方法が変わり、v4 ではタイムゾーンサポートが追加されたため、モデルは動作しない古いインポートパターンを頻繁に出力します。
ステップ 1 – Claude が Context7 を使って計画
この Claude Code セッションで、以下を依頼します。
Use the Context7 MCP server to look up current docs for the date-fns library – specifically formatDistanceToNow with the addSuffix option, and how to load date-fns in a plain browser page via its UMD CDN build (the dateFns global). Then update ~/sambanova-demo/PLAN.md with a “Phase 2: relative date labels” section describing how to give each pet card in the existing finder a fixed data-added ISO date and render an “Added X days ago” label computed from it on load. Use the up-to-date API from Context7 – not what you remember. Quote the exact <script> CDN tag, the global function call, and addSuffix usage verbatim from the docs, and include a verification step a human can run in the browser.
Context7 MCP サーバーを使って date-fns ライブラリの最新ドキュメントを調べてください — 具体的には addSuffix オプション付きの formatDistanceToNow、そして UMD CDN ビルド (dateFns グローバル) 経由で date-fns を素の HTML ページに読み込む方法です。その上で ~/sambanova-demo/PLAN.md に「フェーズ 2: 相対日付ラベル」のセクションを追記し、既存のファインダーの各ペットカードに固定の data-added ISO 日付を持たせ、読み込み時にそこから計算した「X 日前に追加」ラベルを表示する方法を記述してください。記憶に頼らず、Context7 から得た最新の API を使用してください。<script> の CDN タグ、グローバル関数の呼び出し、addSuffix の使い方をドキュメントからそのまま正確に引用し、人間がブラウザで実行できる検証手順も含めてください。
Claude は resolve-library-id → query-docs を呼び出して最新の API を取得し、現行ドキュメントに基づいた計画を作成します。
計画も SambaNova に任せたい場合: ここでの注意点として、/code のサブエージェントは MCP にアクセスできないため、gemma-4-31B-it 自身は Context7 を呼び出せません。上記の resolve-library-id → query-docs の取得は Claude に行わせ、解決済みの API をプロンプトに貼り付けた上で、計画の文書化のみを委任します: /code continue gemma-4-31B-it ~/sambanova-demo "<same_plan_as_above>" (事前に /update-model gemma-4-31B-it で登録してください)。Claude が MCP のゲートウェイとなり、gemma-4-31B-it が計画を書きます。
ステップ 2 – SambaNova への引き渡し
実行モデルに MCP アクセスは不要です。PLAN.md にはすでに解決済みの API が含まれています。
ステップ 3 – 動作確認
6 枚のカードそれぞれに「Added X days ago」というラベル (例: 「Added 3 days ago」) が表示されるはずです。

MCP サーバーとの組み合わせ

プラグインと MCP サーバーは委任の境界を挟んで反対側に位置しており、互いに補完し合います。 これにより、3 つのパターンが導かれます。 1. MCP を活用した計画。 外部コンテキストを取得し、PLAN.md に織り込んで引き渡します。
例: Claude が Atlassian MCP サーバー経由で Jira チケット PROJ-1234 を読み、リンクされた Confluence の設計ドキュメントを取得して、自己完結した PLAN.md を作成します。その後 /code MiniMax-M2.7 … がそれを実行します。SambaNova の実行モデルは Jira の認証情報に一切触れません。
2. MCP による後続処理。 /code の完了後、Claude が MCP 経由で結果を公開します。
例: /code が /tmp/exec-summary.md を書き出します。Claude がそれを読み、GitHub MCP サーバー経由で PR を作成し、Jira チケットにコメントし、Slack チャンネルに投稿します。すべて現在のセッションから実行できます。
3. サブエージェント内でのシェル CLI ツール。 サブエージェントに MCP はありませんが、--auto によるシェルアクセスがあります。PATH 上の任意の CLI (gh、git、linear、aws など) を利用できます。
例: /code MiniMax-M2.7 ~/project "Implement PLAN.md, run tests, then run 'gh pr create --fill' to open a draft PR."

ヒント

  • cwd には絶対パスを使用する – シェルの境界を越えると ~ の展開は信頼できません。
  • サブエージェントに検証を指示する (「index.html を開いて確認して」等)。指示しないと、ファイルを編集しただけで止まります。
  • git diff や grep の結果をプロンプトで事前に解決しない – サブエージェント自身に実行させます。
  • モデル ID はプレフィックスなしで指定します。sambanova/<id> の形式は使用しません。
  • open は macOS 用です。Linux では xdg-open、Windows では start を使用してください。

よくある注意点

Python が 3.11 未満の場合。 プラグインはセッション開始時に、PATH 上で最初に見つかった python3 を使って自動的に仮想環境を構築します。3.10 ではインストールが警告なしに失敗し、3.10 のインタプリタも「存在する」と見なされるため、壊れた仮想環境が自動では再構築されません。pyenv install 3.11.9 && pyenv global 3.11.9 で修正した後、プラグインがキャッシュした .env ディレクトリを削除し、Claude Code を再起動して再構築を強制してください。 セットアップ中に API キーが見つからない場合。 SAMBANOVA_API_KEY は Claude Code プロセスの環境変数に存在する必要があります。~/.zshrc でエクスポートし、新しいシェルから Claude Code を起動してください。 「Model not found in database」と表示される場合。 /model-info は「プラットフォーム」のカタログを表示し、/list-models は「ローカル」のレジストリを表示します。/code が読むのはローカルの方です。不足しているモデルは /update-model で追加してください。

参考情報