Recursive Flint : l’utiliser dans Claude Code, OpenCode et Cline

Choisissez un environnement d’exécution de Flint adapté à votre matériel, connectez-le à Claude Code, OpenCode ou Cline et vérifiez une petite tâche de programmation. Comparez les benchmarks de lancement avec prudence, distinguez l’inférence locale de l’offre hébergée gratuite temporaire d’OpenCode et gardez une procédure claire pour revenir à votre modèle cloud habituel.

Sommaire
Recursive Flint : l’utiliser dans Claude Code, OpenCode et Cline

Utilisez Recursive Flint via Ollama sur un Mac compatible pour essayer la programmation en local dans Claude Code, OpenCode ou Cline. Si votre ordinateur ne dispose pas d’assez de mémoire pour charger le modèle, essayez d’abord l’offre hébergée temporaire d’OpenCode avec du code non sensible. Commencez par une tâche bien délimitée et un test précis, en gardant votre modèle cloud habituel disponible pour les travaux qui bloquent à répétition.

Les informations de disponibilité et de configuration ci-dessous sont à jour au 2026-10-23.

Qu’apporte Recursive Flint ?

Flint associe un grand ensemble de poids à un volume de calcul relativement faible par token généré. Sa fiche officielle indique 39.8B paramètres au total, environ 2.5B actifs par token, des entrées et sorties textuelles, et des poids sous licence Apache 2.0. Un modèle à mélange d’experts active certains experts pour chaque token ; les poids inactifs contribuent toujours à ses besoins de stockage et de mémoire.

Flint produit le raisonnement et les demandes d’appels d’outils. Votre client de programmation effectue les lectures de fichiers, les modifications et les commandes de terminal, puis lui renvoie leurs résultats. Évaluez ensemble le modèle, l’environnement d’inférence et le client de programmation.

Recursive annonce plus de 125 tokens/s sur un MacBook Pro M4 Pro et plus de 150 tokens/s sur un RTX Spark de 64GB, avec son moteur optimisé et des contextes courts. Il s’agit de débits de génération annoncés par le fournisseur, pas de durées mesurées pour obtenir un correctif valide dans Ollama ou Cline.

Utilisez la limite de contexte réellement configurée par votre environnement d’exécution. La fiche du modèle documente 262,144 tokens partagés entre l’entrée et la sortie ; l’annonce mentionne jusqu’à 512K, mais recommande de ne pas dépasser 256K. Aucun de ces chiffres ne garantit que votre ordinateur portable puisse allouer la totalité de cette fenêtre.

De combien de mémoire Flint a-t-il besoin ?

Prévoyez de la mémoire pour les poids, le cache de contexte, les tampons de calcul et vos autres applications. Un téléchargement d’environ 23GB ne démontre pas que Flint fonctionnera confortablement sur un ordinateur de 24GB.

DéploiementExigences matérielles et de stockage publiéesConséquence pratique
Moteur rec optimisé de RecursiveM4 Pro, M5 Pro ou M5 Max ; au moins 48GB de mémoire unifiée ; environ 30GB d’espace disque libreIl s’agit de l’exigence Mac documentée pour rec, pas d’un minimum universel pour Ollama.
Paquet Ollama flintTéléchargement par défaut actuel : 23GB ; la prise en charge de Flint dans v0.40.8 se limite à macOSPrévoyez de la mémoire au-delà de la taille du paquet et vérifiez le contexte alloué.
GGUF NVIDIA NVFP4 avec llama.cpp/CUDA compatiblesFichier de modèle de 22.9GB ; Recursive recommande au moins 48GB de mémoire GPU, ou de mémoire unifiée sur SparkRTX Spark et DGX Spark sont des cibles testées. Les 64GB de la démonstration de lancement ne constituent pas un minimum publié.
Bundle de déploiement BF16 avec SGLangValidé sur B300 ou H200 avec au moins 141GB de VRAM par réplique ; environ 80GB de poids et une image de conteneur de 50GBIl s’agit d’un déploiement serveur distinct, qui dépasse les capacités d’un ordinateur portable ordinaire.

Ces chiffres proviennent des exigences de rec, de la fiche du modèle Ollama, de la fiche officielle de quantification NVIDIA et du guide de déploiement SGLang.

La restriction à macOS concerne l’implémentation de Flint dans Ollama v0.40.8, qui reporte la prise en charge des autres GPU à une version ultérieure. Des poids compatibles avec NVIDIA existent déjà pour d’autres environnements d’exécution ; leur disponibilité ne prouve pas que cette même commande Ollama soit prise en charge sous Windows/Linux.

Exécuter Flint en local avec Ollama

Installez ou mettez à jour Ollama, laissez son service actif et vérifiez que le modèle répond à une demande simple avant de connecter un client de programmation. Le guide d’installation Mac d’Ollama exige macOS Sonoma 14 ou une version plus récente.

Exécutez dans Bash :

ollama --version
ollama run flint

La seconde commande télécharge le modèle si nécessaire et ouvre une conversation. Demandez-lui d’expliquer une fonction courte, puis quittez cette conversation.

Pour les clients de programmation, allouez au moins 64K de contexte dans les paramètres de l’application Ollama. Les guides d’intégration de Claude Code et d’OpenCode demandent tous deux cette taille. Un contexte plus grand consomme davantage de mémoire ; s’il ne tient pas en mémoire, utilisez l’option hébergée ou un autre matériel.

Pendant l’exécution d’une requête, inspectez le serveur depuis un autre terminal :

ollama ps

Vérifiez que Flint apparaît, inspectez CONTEXT et consultez PROCESSOR pour voir si les calculs sont délégués au GPU. La documentation sur le contexte explique ces champs. Le maximum annoncé peut différer du contexte actuellement alloué.

Si aucun client ne parvient à se connecter, commencez par ouvrir l’application Ollama et relancez ollama run flint. Si Flint manque dans la liste d’un client, exécutez ollama pull flint et actualisez cette liste.

Connecter un outil de programmation et vérifier une modification

Choisissez le client que vous utilisez déjà et ouvrez un répertoire d’essai vide ou une branche de dépôt jetable. Ces options sont des connexions alternatives au même modèle local.

Claude Code

Utilisez le lanceur d’Ollama avec un client Claude Code déjà installé :

ollama launch claude --model flint

La commande est publiée sur la page Ollama de Flint. Le lanceur dirige Claude Code vers le point de terminaison d’Ollama compatible avec Anthropic ; vous n’avez pas à saisir de clé API d’un fournisseur pour l’inférence locale avec Ollama.

Exécutez /status dans Claude Code pour inspecter le modèle sélectionné et la connexion. Vérifiez que le point de terminaison est local, normalement http://localhost:11434, et mettez une requête en correspondance avec ollama ps. Demander au modèle de s’identifier ne permet pas de vérifier le routage.

Si Claude Code utilise encore un ancien point de terminaison, inspectez ANTHROPIC_BASE_URL et les paramètres associés qui remplacent les valeurs d’authentification ou de modèle dans ~/.claude/settings.json, les paramètres du projet et la configuration de votre shell. Les paramètres de Claude peuvent prendre le pas sur les valeurs héritées du shell. Les restrictions gérées par votre organisation restent applicables.

OpenCode

Lancez le modèle local depuis le répertoire de votre projet :

ollama launch opencode --model flint

Ollama publie exactement cette commande. Dans le sélecteur /models d’OpenCode, confirmez que le fournisseur actif est Ollama et que le modèle est Flint. L’entrée hébergée Flint 40B Free correspond à une autre connexion.

Si OpenCode n’est pas installé, suivez ses instructions d’installation actuelles. Le passage par le lanceur évite d’avoir à maintenir un exemple JSON de fournisseur au fil des versions de configuration d’OpenCode.

Cline

Sélectionnez le fournisseur Ollama natif de Cline :

  1. Ouvrez Cline Settings et choisissez Ollama.
  2. Renseignez Base URL avec http://localhost:11434.
  3. Sélectionnez flint, ou le tag téléchargé affiché sous la forme flint:latest.
  4. Activez Use Compact Prompt sous Settings → Features.

Cette procédure suit les instructions de Cline pour les modèles locaux. Le fournisseur Ollama natif utilise l’adresse ci-dessus sans /v1. Passez en mode Act pour que Cline modifie les fichiers et exécute le test ci-dessous.

Vérifier une modification réelle et l’exécution des tests

Utilisez cette petite tâche pour vérifier la boucle complète d’utilisation des outils :

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.

Assurez-vous que Python 3 est disponible et autorisez les actions pertinentes sur les fichiers et dans le terminal. Le contrôle est réussi lorsque les fichiers existent et que le journal des outils montre une commande de test terminée avec un code de sortie 0. Inspectez l’implémentation et les tests ; un message affirmant leur réussite ne suffit pas.

Il s’agit d’un contrôle d’intégration proposé, pas d’un résultat de benchmark. Si la conversation simple fonctionne mais que la modification de fichiers ou l’exécution de commandes échoue, vérifiez les autorisations du client, le contexte alloué et le fournisseur sélectionné avant de juger la qualité du modèle.

Essayer Flint en mode hébergé sans télécharger le modèle

Utilisez l’entrée hébergée gratuite d’OpenCode pour évaluer une tâche non sensible avant de mobiliser de la mémoire ou du matériel local. Une fois OpenCode installé, exécutez opencode dans Bash, saisissez /models et sélectionnez Flint 40B Free.

Le sélecteur exact est opencode/flint-40b-free. Le catalogue de modèles d’OpenCode le présente comme gratuit pour une durée limitée ; sa page d’accueil indique que les modèles gratuits inclus sont utilisables sans créer de compte. Recursive décrit l’accès hébergé comme soumis à la capacité disponible et à des limites de débit.

Le périmètre de traitement des données de l’offre hébergée diffère de celui de l’inférence locale. OpenCode indique que les données collectées avec Flint peuvent servir à améliorer le modèle et sont conservées pendant 30 jours. Utilisez un projet que vous êtes autorisé à transmettre à ce service.

Si l’entrée gratuite n’est pas disponible, consultez le catalogue actuel au lieu de supposer que l’accès restera gratuit indéfiniment. Pour du code confidentiel, choisissez un déploiement local adapté ou un fournisseur approuvé séparément.

Exposer Flint via une API GPU compatible OpenAI

Utilisez le bundle SGLang fourni par Recursive si vous avez besoin d’une API serveur et disposez d’un GPU de datacenter pris en charge. La procédure BF16 nécessite Linux, Docker, NVIDIA Container Toolkit et un pilote compatible ; un GPU de 80GB ne satisfait pas ses exigences pour une seule réplique.

Le README de déploiement fournit un plugin Flint et des noyaux corrigés pour SGLang 0.5.16. Une installation standard seule ne suffit pas. Ces commandes Bash identifient une révision du dépôt et conservent ensemble ses poids et ses fichiers de déploiement :

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

Une fois le téléchargement, la vérification et la construction réussis, lancez le service sur 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

Pour B300, utilisez serve_b300.sh à la place. Respectez les exigences du guide de déploiement concernant les pilotes : normalement R580 ou plus récent pour CUDA 13 ; sa configuration H200 documente aussi la compatibilité avec le pilote 570.133.20 grâce aux bibliothèques de compatibilité de l’image.

Le démarrage est asynchrone. Consultez docker logs -f flint et attendez que le serveur soit prêt ; vérifiez ensuite, dans un autre terminal :

curl --fail --silent --show-error http://127.0.0.1:30000/health_generate

Une réponse positive du contrôle de santé signifie que vous pouvez envoyer une requête :

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
  }'

Lisez la réponse dans choices[0].message.content. L’identifiant du modèle côté serveur est flint, et l’URL de base du client est http://127.0.0.1:30000/v1. Cette procédure ne configure aucune authentification API et n’expose le service que sur l’interface de bouclage ; ajoutez un accès authentifié avant de l’exposer à d’autres machines.

Conservez le gabarit de conversation et les analyseurs fournis. Les réglages d’échantillonnage recommandés sont temperature 1.0, top_p 0.95 et top_k 20. Conservez le champ reasoning_content renvoyé dans les messages suivants de l’assistant. Si finish_reason vaut length, le raisonnement peut avoir épuisé le budget de sortie avant la réponse finale ou l’appel d’outil.

Pour vérifier un aller-retour avec un outil, exécutez la commande du bundle python3 sglang/example_client.py --base-url http://127.0.0.1:30000/v1 depuis son répertoire. Si le serveur n’atteint jamais un état opérationnel au démarrage, inspectez les journaux du conteneur pour repérer les erreurs de pilote, de mémoire ou de chargement du bundle avant de déboguer le client.

Que démontrent réellement les benchmarks de programmation ?

Considérez les scores publiés comme des raisons d’essayer Flint sur votre travail, en tenant compte des conditions d’évaluation associées. Ils ne démontrent pas que Flint puisse remplacer universellement Qwen ou un modèle cloud de plus grande taille.

BenchmarkRésultat de Flint publié par Recursive au lancementComparaison publiée pertinente
Terminal-Bench 2.154.9%Qwen3.8-27B dense : 73.0% dans l’évaluation de Qwen
SWE-bench Verified74.2%Qwen3.6-35B-A3B : 73.4% dans l’évaluation de Qwen
SWE-bench Pro v289.7%N’intégrez pas à cette comparaison d’anciens scores Pro sans numéro de version.

Ces chiffres sont publiés dans les fiches de Flint, de Qwen3.8-27B et de Qwen3.6-35B-A3B.

Recursive utilise Terminus 2 pour Terminal-Bench et mini-swe-agent pour les benchmarks SWE. Son exécution de Terminal-Bench autorise l’accès à Internet, mais compte comme des échecs les solutions obtenues par recherche d’informations. La comparaison publiée par Qwen ne permet pas d’établir qu’il a appliqué le même ajustement ; Qwen3.6 utilise aussi son propre cadre d’exécution d’agent SWE.

Une autre limite s’applique à l’interprétation de Pro v2. Le protocole verrouillé de Scale prévoit un budget de 50 minutes par tâche et une nouvelle évaluation des correctifs dans des environnements vierges. La note générale d’évaluation de Recursive autorise des délais d’exécution des agents allant jusqu’à cinq heures, sans établir l’alignement de ce benchmark précis avec ce protocole. Présentez 89.7% comme le résultat publié par Recursive au lancement, et non comme un résultat certifié de manière indépendante selon le protocole verrouillé.

Si Qwen3.6 mène déjà vos tâches à bien de manière fiable, un écart publié de 0.8 point sur Verified ne justifie pas à lui seul une migration. Testez Flint lorsque la réactivité locale est votre principal point de blocage ; gardez-le uniquement si la même tâche aboutit à un résultat correct et relu, avec une latence et un nombre de tentatives acceptables.

Quelles tâches garder en local et comment revenir au modèle habituel ?

Commencez avec Flint par un correctif bien circonscrit, un petit utilitaire, des tests ciblés ou une explication de code. Pour les modifications qui touchent de nombreux sous-systèmes, les échecs difficiles à interpréter ou les corrections infructueuses répétées, essayez votre modèle habituel de plus grande taille en lui fournissant les fichiers concernés, la commande qui échoue et un bref résumé de la progression.

Cette recommandation de travail suit le conseil de Recursive de découper les tâches complexes et de donner des instructions explicites. Mesurez le temps nécessaire pour obtenir des tests réussis et l’effort de relecture. L’inférence locale évite les frais de tokens du fournisseur, mais le matériel, l’électricité et les tentatives répétées ont toujours un coût.

Pour revenir à votre configuration cloud après une session Claude Code lancée par Ollama, quittez cette session et rouvrez Claude Code avec votre configuration cloud d’origine. Pour une configuration Anthropic Sonnet déjà en place, exécutez dans Bash :

claude --model sonnet

Vérifiez /status avant d’envoyer du code. La sélection du modèle ne réinitialise pas à elle seule le point de terminaison : cette commande suppose que vous n’avez pas enregistré de paramètres remplaçant le point de terminaison, l’authentification ou le modèle pour l’essai local. Si vous l’avez fait, rétablissez les valeurs précédentes des paramètres modifiés pour cet essai, puis redémarrez en conservant vos identifiants cloud existants.

Dans OpenCode, utilisez /models pour sélectionner un fournisseur et un modèle cloud déjà connectés ; utilisez d’abord /connect si nécessaire. Dans Cline, rétablissez le fournisseur et le modèle d’origine dans Settings, en vérifiant les configurations Plan et Act si elles diffèrent.

Un modèle local ne garde en local que l’inférence. Les outils web, les serveurs MCP et les autres intégrations du client peuvent toujours contacter des services externes ; examinez-les séparément lorsque le code doit rester sur votre machine.

Prêt à optimiser votre workflow LLM ?

Connectez vos modèles via une API unique, gérez les clés et maîtrisez vos dépenses d’IA.

Commencer gratuitement