Recursive Flintをローカル実行:Claude Code・OpenCode・Clineで使う
手元のハードウェアに合うRecursive Flintの実行環境を選び、Claude Code、OpenCode、Clineで編集とテストまで確認するためのガイドです。メモリ要件、期間限定の無料ホスト版との違い、GPUサーバーへの導入手順を整理し、ベンチマークの評価条件と、既存のクラウドモデルへ戻す際の設定も説明します。
目次

対応するMacでRecursive Flintを試すなら、Ollama経由でClaude Code、OpenCode、Clineのいずれかに接続してください。モデルを載せるだけのメモリがない場合は、OpenCodeの期間限定ホスト版を使い、まず機密情報を含まないコードで試す方法があります。範囲を絞った作業と明確なテストから始め、何度試しても進まない作業には、これまで使っているクラウドモデルへ戻せるようにしておきましょう。
以下の提供状況と設定方法は、2026-10-23時点の情報です。
Recursive Flintで何が変わるのか
Flintは、多数の重みを持ちながら、生成するトークンごとの計算量を抑えたモデルです。公式モデルカードには、総パラメータ数39.8B、トークンごとのアクティブパラメータ数は約2.5B、テキストの入出力、重みのApache 2.0ライセンスが記載されています。MoE(Mixture of Experts)はトークンごとに一部のエキスパートを選んで動かす仕組みですが、その時点で使われない重みもストレージとメモリを必要とします。
Flintが生成するのは推論内容とツールへの実行要求です。ファイルの読み取りや編集、ターミナルコマンドの実行はコーディングクライアントが担当し、その結果をモデルに返します。そのため、モデル単体ではなく、Flint、推論を実行するランタイム、クライアントを組み合わせて評価してください。
Recursiveは、独自に最適化したエンジンと短いコンテキストを使った場合、M4 Pro MacBook Proで125 tokens/s超、64GBのRTX Sparkで150 tokens/s超の生成速度を報告しています。これは開発元が公表した生成速度であり、OllamaやClineで正しい修正を完成させるまでの所要時間を測った値ではありません。
コンテキストは、実行環境で実際に設定されている上限を基準にしてください。モデルカードに記載された構成は、入力と出力を合わせて262,144 tokensです。発表では最大512Kに言及しつつ、256K以内での利用を推奨していますが、どちらもノートPCでその全量を確保できるという保証ではありません。
Flintに必要なメモリはどれくらいか
必要なメモリには、重みだけでなく、コンテキストのキャッシュ、計算用バッファ、ほかのアプリの使用分も含めてください。ダウンロードが約23GBだからといって、メモリ24GBのPCで余裕を持って動くとは限りません。
| 実行方法 | 公表されているハードウェア・ストレージ要件 | 選ぶ際の注意点 |
|---|---|---|
Recursiveの最適化エンジン rec | M4 Pro、M5 Pro、M5 Max。ユニファイドメモリは48GB以上、空きディスク容量は約30GB | Macで rec を使うための要件であり、Ollama全般の最低要件ではありません。 |
Ollamaの flint パッケージ | 現在の標準ダウンロードは23GB。v0.40.8のFlint対応はmacOSのみ | パッケージの容量とは別にメモリの余裕を確保し、割り当てられたコンテキストも確認してください。 |
| 対応するllama.cpp/CUDAで動かすNVIDIA NVFP4 GGUF | モデルファイルは22.9GB。RecursiveはGPUメモリ、またはSparkのユニファイドメモリを48GB以上推奨 | RTX SparkとDGX Sparkが検証対象です。発表時の64GB構成は、最低要件として公表されたものではありません。 |
| BF16用SGLangサーバーバンドル | B300またはH200で検証済み。レプリカごとに141GB以上のVRAM、約80GBの重みと50GBのコンテナイメージ | 一般的なノートPCの範囲を超える、別のサーバー向け構成です。 |
数値の出典は、recの要件、Ollamaのモデルページ、NVIDIA向け量子化モデルの公式カード、SGLangのデプロイガイドです。
macOSのみという制限は、Ollama v0.40.8におけるFlintの実装に対するものです。ほかのGPUへの対応は今後のいずれかのリリースに持ち越されており、具体的な時期は示されていません。NVIDIA対応の重みはほかのランタイム向けにすでに提供されていますが、それだけで同じOllamaコマンドがWindowsやLinuxでも使えるとは判断できません。
OllamaでFlintをローカル実行する
Ollamaをインストールまたは更新し、サービスを起動した状態で、まず通常のチャットに応答することを確認してください。コーディングクライアントを接続するのはその後です。OllamaのMac向けインストール手順では、macOS Sonoma 14以降が必要です。
Bashで実行します。
ollama --version
ollama run flint
2つ目のコマンドは、必要に応じてモデルをダウンロードし、チャットを開きます。短い関数の説明を頼んで応答を確認したら、そのチャットを終了してください。
コーディングクライアントを使う場合は、Ollamaアプリの設定で64K以上のコンテキストを割り当ててください。Claude CodeとOpenCodeの接続ガイドはいずれもこのサイズを求めています。コンテキストを増やすとメモリ消費も増えるため、収まらない場合はホスト版を使うか、別のハードウェアを選びます。
リクエストの処理中に、別のターミナルからサーバーの状態を確認します。
ollama ps
Flintが一覧にあることを確認し、CONTEXTで割り当てサイズ、PROCESSORでGPUへの処理の割り当て状況を見てください。各項目はコンテキストに関するドキュメントで説明されています。モデルが対応する最大値と、現在の実行に割り当てられた値は一致するとは限りません。
どのクライアントからも接続できない場合は、まずOllamaアプリを開き、ollama run flintをもう一度実行します。クライアントのモデル一覧にFlintがなければ、ollama pull flintを実行して一覧を更新してください。
コーディングツールを接続して編集を確認する
普段使っているクライアントを1つ選び、試行用の空ディレクトリか、試した後に破棄できるリポジトリのブランチを開いてください。以下は同じローカルモデルに接続する別々の方法なので、必要なクライアントの手順を選べます。
Claude Code
Claude Codeがインストール済みなら、Ollamaのランチャーから起動します。
ollama launch claude --model flint
このコマンドはOllamaのFlintページで公開されています。ランチャーはClaude Codeの接続先を、OllamaのAnthropic互換エンドポイントに設定します。Ollamaでローカル推論を行うために、クラウドベンダーのAPIキーを入力する必要はありません。
Claude Code内で/statusを実行し、選択中のモデルと接続情報を確認します。通常はhttp://localhost:11434というローカルの接続先になっていることを確かめ、リクエストを送った際の動きとollama psの表示を照合してください。モデル自身に名前を尋ねても、実際のリクエストの送信先を確認したことにはなりません。
以前のエンドポイントが使われ続ける場合は、~/.claude/settings.json、プロジェクト設定、シェル設定にあるANTHROPIC_BASE_URLと、認証やモデルに関する上書き設定を調べます。Claudeの設定は、シェルから引き継いだ値より優先される場合があります。組織が管理する制限も引き続き適用されます。
OpenCode
プロジェクトのディレクトリから、ローカルモデルを指定して起動します。
ollama launch opencode --model flint
Ollamaが公開しているコマンドはこの形式です。OpenCodeの/modelsで、現在のプロバイダーがOllama、モデルがFlintになっていることを確認してください。Flint 40B Freeはホスト版への接続であり、ローカルのFlintとは接続先が異なります。
OpenCodeをまだインストールしていない場合は、現在のインストール手順に従ってください。ランチャーを使う方法なら、OpenCodeの設定形式のバージョンに合わせてプロバイダー用のJSON例を自分で保守する必要がありません。
Cline
Clineに組み込まれているOllamaプロバイダーを選びます。
- Cline Settingsを開き、Ollamaを選択します。
- Base URLを
http://localhost:11434に設定します。 flint、またはダウンロード済みのタグとして表示されるflint:latestを選びます。- Settings → FeaturesでUse Compact Promptを有効にします。
これはClineのローカルモデル接続手順に沿った設定です。標準のOllamaプロバイダーには、上記のURLを**/v1なし**で指定します。Clineにファイル編集と以下のテストを実行させるときは、Actモードを選んでください。
ファイル編集とテスト実行まで確認する
小さな課題を渡し、ツールの要求から実行結果の返却まで、一連の動作を確認してください。次の例は、文字列をハイフン区切りの識別子に変換する関数と、そのテストを作成するものです。
Create slugify.py with a slugify(text) function. Lowercase ASCII letters, replace each run of non-alphanumeric characters with one hyphen, and remove leading and trailing hyphens.
Create test_slugify.py using unittest. Check that "Hello, World!" becomes "hello-world", " A__B " becomes "a-b", and an empty string stays empty.
Run python3 -m unittest -v. Show the changed files and the actual test result. Use only the Python standard library.
Python 3を使える状態にし、必要なファイル操作とターミナル操作を許可してください。成功の条件は、ファイルが実際に作成され、ツールのログにテストコマンドの完了と終了ステータス0が記録されていることです。実装とテストの中身も確認し、モデルが文章で「通った」と述べただけで完了と判断しないでください。
この課題は接続確認のための提案であり、Flintで測定したベンチマーク結果ではありません。通常のチャットには応答するのに編集やコマンド実行が失敗する場合は、モデルの品質を判断する前に、クライアントの権限、コンテキストの割り当て、プロバイダーの選択を確認します。
モデルをダウンロードせずホスト版Flintを試す
ローカルのメモリを確保したりハードウェアを用意したりする前に、機密性のない課題で評価するなら、OpenCodeの無料ホスト版を使えます。OpenCodeをインストールした状態でBashからopencodeを実行し、/modelsを開いてFlint 40B Freeを選んでください。
正確な選択用IDはopencode/flint-40b-freeです。OpenCodeのモデルカタログでは期間限定で無料とされ、公式ホームページでは、含まれる無料モデルをアカウント作成なしで利用できると説明しています。Recursiveは、ホスト版には処理容量とリクエスト頻度による制限があるとしています。
ホスト版では、ローカル推論と同じ範囲にデータを留めることはできません。 OpenCodeによると、Flintの利用で収集されたデータはモデル改善に使われる場合があり、30日間保持されます。このサービスへ送信することが認められたプロジェクトで試してください。
無料の項目が見つからなければ、現在のカタログを確認します。無料アクセスが恒久的に続くとは考えず、機密コードには適切なローカル構成か、別途利用が承認されたプロバイダーを選んでください。
GPUでOpenAI互換APIを提供する
サーバーAPIが必要で、対応するデータセンター向けGPUを用意できる場合は、Recursiveが配布するSGLangバンドルを使います。BF16の手順にはLinux、Docker、NVIDIA Container Toolkit、対応ドライバーが必要です。メモリ80GBのGPUでは、この構成の1レプリカ分の要件を満たしません。
サーバー用READMEには、SGLang 0.5.16向けのFlintプラグインと修正済みカーネルが含まれているため、通常のSGLangをインストールするだけでは不足します。以下のBashコマンドは、リポジトリのリビジョンを一度確定し、そのリビジョンの重みと起動用ファイルを一緒に取得します。
python3 -m venv .venv-flint
source .venv-flint/bin/activate
python3 -m pip install -U huggingface_hub openai
FLINT_REV=$(python3 -c 'from huggingface_hub import HfApi; print(HfApi().model_info("RecursiveSI/flint").sha)')
hf download RecursiveSI/flint --revision "$FLINT_REV" --local-dir "flint-$FLINT_REV"
cd "flint-$FLINT_REV"
hf cache verify RecursiveSI/flint --revision "$FLINT_REV" --local-dir .
docker build -t "flint-sglang:${FLINT_REV:0:12}" sglang
ダウンロード、検証、ビルドが正常に完了したら、H200で起動します。
docker run -d --name flint --gpus '"device=0"' --ipc=host \
-p 127.0.0.1:30000:30000 \
-v "$PWD:/model" -e MODEL=/model \
"flint-sglang:${FLINT_REV:0:12}" \
bash /model/sglang/serve_h200.sh
B300では、起動スクリプトをserve_b300.shに変更してください。ドライバーはデプロイガイドの要件に従い、通常はCUDA 13用にR580以降を用意します。H200の構成では、コンテナイメージ内の互換ライブラリを使うことでドライバー570.133.20にも対応する手順が記載されています。
起動は非同期です。docker logs -f flintでログを確認して準備完了を待ち、別のターミナルから次の確認を行います。
curl --fail --silent --show-error http://127.0.0.1:30000/health_generate
ヘルスチェックが正常に応答したら、リクエストを送れます。
curl --fail --silent --show-error \
http://127.0.0.1:30000/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "flint",
"messages": [
{"role": "user", "content": "Write a Python function that merges overlapping intervals."}
],
"max_tokens": 32768
}'
回答本文はchoices[0].message.contentにあります。サーバー側のモデルIDはflint、クライアントのベースURLはhttp://127.0.0.1:30000/v1です。この手順にはAPI認証がなく、公開先は同じマシンからのみ接続できるループバックに限定しています。別のマシンへ公開する前に、認証付きのアクセスを用意してください。
バンドル付属のチャットテンプレートとパーサーをそのまま使用します。推奨サンプリング設定は、temperatureが1.0、top_pが0.95、top_kが20です。返却されたreasoning_contentは、以降のリクエストで送る会話履歴のアシスタントメッセージにも保持してください。finish_reasonがlengthなら、最終回答やツール呼び出しに達する前に、推論が出力トークンの上限を使い切った可能性があります。
ツール呼び出しと結果返却の往復を確認するには、バンドルのディレクトリからpython3 sglang/example_client.py --base-url http://127.0.0.1:30000/v1を実行します。いつまで待っても正常な状態にならない場合は、クライアントを調べる前に、コンテナログでドライバー、メモリ、バンドルの読み込みに関するエラーを確認してください。
コーディングのベンチマークから何が分かるか
公表スコアは、評価条件とセットで読み、自分の仕事でFlintを試す判断材料にしてください。スコアだけでは、Qwenや大きなクラウドモデルをあらゆる場面で置き換えられるとは判断できません。
| ベンチマーク | Recursiveが公開したFlintのリリース時の結果 | 比較に使える公表値 |
|---|---|---|
| Terminal-Bench 2.1 | 54.9% | Dense(密)モデルのQwen3.8-27B:Qwenの評価で73.0% |
| SWE-bench Verified | 74.2% | Qwen3.6-35B-A3B:Qwenの評価で73.4% |
| SWE-bench Pro v2 | 89.7% | 古いProやバージョンの記載がないProのスコアを、この比較に混ぜないでください。 |
数値は、Flint、Qwen3.8-27B、Qwen3.6-35B-A3Bの各モデルカードに掲載されています。
Recursiveは、Terminal-BenchにTerminus 2、SWE系ベンチマークにmini-swe-agentを使っています。同社のTerminal-Bench評価ではインターネットへのアクセスを認める一方、検索で得た解答による成功は不成功として扱います。Qwenの公開情報からは、同じ調整が行われたとは確認できず、Qwen3.6のSWE評価には独自のエージェント実行基盤も使われています。
Pro v2を読むときは、評価プロトコルの違いにも注意してください。Scaleの固定プロトコルは、1タスクあたり50分の制限と、初期状態のクリーンな環境でパッチを再評価する手順を定めています。Recursiveの評価全般に関する注記は、エージェントのタイムアウトを最大5時間としていますが、Pro v2の実行条件がこのプロトコルに一致していたかは明らかにしていません。89.7%はRecursiveのリリース時の公表結果として扱い、固定プロトコルへの準拠が第三者によって認証された結果とは扱わないでください。
Qwen3.6がすでに安定して自分の課題を解けているなら、Verifiedの公表値にある0.8ポイントの差だけを理由に移行する必要はありません。ローカルモデルの応答速度が問題になっている場合にFlintを試し、同じ課題で、確認済みの正しい結果が許容できる待ち時間と再試行回数で得られるかを判断してください。
ローカルに任せる作業とクラウドへ戻す方法
Flintでは、範囲が限られたバグ修正、小さなユーティリティ、特定の動作に絞ったテスト、コードの説明から始めてください。複数のサブシステムにまたがる変更、原因が曖昧な不具合、修正に何度も失敗する作業では、使い慣れた大きなモデルを試します。その際は、関連ファイル、失敗するコマンド、ここまでの進捗を短くまとめて渡してください。
この進め方は、複雑な作業を分割して明確な指示を与えるというRecursiveの助言に沿っています。判断には、テストが通るまでの時間とレビューに必要な手間を使いましょう。ローカル推論にはプロバイダーへのトークン料金はありませんが、ハードウェア、電力、繰り返しの試行にはコストがかかります。
Ollamaから起動したClaude Codeをクラウド接続へ戻すには、そのセッションを終了し、元のクラウド設定でClaude Codeを開き直します。Anthropic Sonnetへの接続がすでに設定済みの場合は、Bashで次を実行してください。
claude --model sonnet
コードを送る前に/statusを確認してください。モデルの選択だけでは接続先のエンドポイントは元に戻りません。このコマンドは、ローカル接続用のエンドポイント、認証、モデルの上書きを永続設定に保存していないことが前提です。保存した場合は、試行のために変更した箇所を以前の値へ戻して再起動し、既存のクラウド認証情報は保持してください。
OpenCodeでは/modelsから接続済みのクラウドプロバイダーとモデルを選び、必要なら先に/connectを実行します。ClineではSettingsで元のプロバイダーとモデルに戻してください。PlanとActに別々の設定を使っている場合は、両方を確認します。
ローカルモデルによって手元に留まるのは、モデルの推論処理です。Webツール、MCPサーバー、その他のクライアント連携は外部サービスと通信する場合があります。コードをマシンの外へ出せないときは、これらの接続も個別に確認してください。