L'IA voit le jeu
Quand le modèle d'image et la reconnaissance de texte ne suffisent plus : reconnaître des états avec un modèle local, bifurquer et lire plusieurs valeurs en un appel.
Parfois les deux échouent : un modèle d'image ne trouve rien parce que l'image change à chaque fois — et la reconnaissance de texte renvoie n'importe quoi parce qu'il n'y a pas de texte, ou que le fond est trop chargé. C'est exactement à cela que servent les modules IA. Ils jugent une image au lieu de la comparer.
Une précision d'emblée, pour que l'attente soit juste : l'IA est plus lente qu'une recherche d'image, et elle n'est pas faite pour chaque clic. Elle vaut la peine aux rares endroits où il faut comprendre — « un combat est-il en cours, ou suis-je dans un menu ? ».
Pour ces tâches, un modèle local sur ta machine suffit. Aucun fournisseur, aucune carte bancaire, et aucune donnée d'image ne quitte l'ordinateur.
Étape 1 — Installer un modèle local
Installer Ollama et le démarrer.
Récupérer un modèle capable de lire des images. Dans un terminal :
ollama pull qwen2.5vl:7bDans FlowBotCommander : Outils → Profils de fournisseur, puis « Chercher des modèles locaux ».
Ce n'est pas forcément Ollama. La recherche interroge de la même façon llama.cpp (port 8080) et
LM Studio (port 1234) — les trois répondent au même appel, et l'application leur parle de manière
identique.
Ce qui compte vraiment, c'est le modèle : un modèle purement textuel ne voit pas les images. Avec
llama.cpp, cela signifie que le fichier mmproj doit être chargé en plus du fichier de modèle — sans
lui, le serveur démarre quand même mais ne prend que la partie texte, et l'IA répond à chaque image par
de la prose générale. Cela ressemble à une erreur de reconnaissance, mais n'en est pas une.
llama-server -m qwen2.5-vl-7b-q4_k_m.gguf --mmproj mmproj-qwen2.5-vl-7b-f16.gguf --port 8080
La recherche interroge les adresses habituelles (Ollama, llama.cpp, LM Studio), crée un profil prêt à l'emploi pour chaque découverte et présélectionne un modèle capable de lire des images. Puis Enregistrer — c'était toute l'installation.
Si la recherche ne trouve rien, le serveur n'est presque toujours pas démarré. Ce n'est pas une supposition mais le cas le plus fréquent ; le message le dit donc explicitement.
Étape 2 — Le test le plus rapide : une question oui/non
Prends Interroger l'image (IA), serre la zone avec l'outil de zone autour de ce qui compte, et pose une question à deux réponses seulement :
Y a-t-il une boîte d'erreur sur l'image ? Réponds seulement par oui ou non.
Le module fournit la réponse sous trois formes : texte (answer), nombre (zahl) et oui/non (jaNein). Pour
bifurquer, relie jaNein à un module Si/Alors.
Étape 3 — Bifurquer avec « L'IA décide »
Dès qu'il y a plus de deux cas, « L'IA décide » est le bon module. Tu écris les options une par ligne :
combat
menu
écran de chargement
Le module obtient alors les sorties wahl1, wahl2, wahl3 — plus unklar (incertain) et fehler (erreur).
Deux détails comptent plus qu'il n'y paraît :
- Tu n'as pas à saisir « unklar ». Le module ajoute lui-même cette possibilité à la question. La raison vient de la pratique : sans cette échappatoire, un modèle choisit faux plutôt que de s'abstenir — lors d'un essai avec un fragment de 40×64 pixels où rien n'était visible, il a répondu avec assurance par l'une des options. Avec l'échappatoire, il a correctement répondu « incertain ».
- La réponse est vérifiée contre ta liste. Si le modèle invente ou répond de façon ambiguë (« combat ou
menu »), le flux part vers
unklar. Il ne part jamais quelque part simplement parce qu'un mot correspond à peu près.
Relie unklar à une courte attente et à un nouvel essai — pas à la même action qu'une sortie de choix. « Je ne
sais pas » est une réponse utile, à condition que le bot la respecte.
Étape 4 — Plusieurs valeurs en un appel
Pour les nombres et les noms, prends Lire des valeurs sur l'image. Un nom de champ par ligne :
or
niveau
nom_ennemi
Chaque champ devient une sortie de données du même nom. C'est un appel pour trois valeurs — avec « Interroger l'image » il en faudrait trois.
Nomme les champs comme tu le dirais à une personne : or est clair, valeur1 non. Le modèle lit ce que le nom
suggère. Si une valeur se trouve à un endroit inhabituel, l'indication supplémentaire aide : « Les nombres
sont dans la barre du haut. Ignore le chat. »
La zone compte plus que le modèle
Le levier le plus efficace n'est pas un modèle plus gros, c'est une zone serrée. Mesuré sur une vraie capture de jeu en 3440×1474, même question, même modèle :
| Ce qui a été demandé | Résultat |
|---|---|
| fenêtre entière, réduite à 1024 px | faux — valeurs d'une autre fenêtre, 4,4 Mo sans réduction |
| extrait autour des valeurs (750×385) | juste — 54 Ko, 0,2 s |
Une zone serrée est donc à la fois moins chère, plus rapide et plus précise. Consacre la demi-minute à l'outil de zone ; elle rapporte plus que n'importe quel autre réglage.
Ce que ça coûte — et le temps que ça prend
| local | fournisseur (Claude, GPT) | |
|---|---|---|
| argent par question | rien | selon la surface de l'image et la longueur du texte |
| durée | 0,2–0,6 s tant que le modèle est en mémoire | selon la connexion, souvent 1–3 s |
| premier appel | environ 15 s, le modèle se charge | comme d'habitude |
| données | restent sur la machine | l'extrait part chez le fournisseur |
Ce temps de chargement explique le délai généreux par défaut. Et comme une boucle ferait sinon cent appels pour la même question, il y a « Mémoriser la réponse pendant » : même question sur la même image, et la réponse mémorisée revient. Toute modification de l'image compte comme une nouvelle question.
Quand ça ne marche pas
| Ce que tu vois | La cause la plus fréquente |
|---|---|
| Avis « L'IA n'est pas encore configurée » sur le module | Aucun profil de fournisseur. Appuie sur Configurer l'IA…. |
| « Chercher des modèles locaux » ne trouve rien | Le serveur n'est pas démarré. Lance Ollama, puis relance la recherche. |
Le flux part toujours vers unklar |
La zone montre trop ou la mauvaise chose. Resserre-la — et vérifie que les options correspondent vraiment à l'image. |
Le flux part toujours vers fehler |
Nom de modèle incorrect, ou le modèle ne lit pas les images. Choisis-en un avec vl, vision ou llava dans le nom. |
| Les valeurs sont confondues | La zone est trop grande — voir plus haut. L'indication supplémentaire aide aussi. |
| La réponse est coupée | Augmente la longueur maximale de réponse dans le profil du fournisseur. |
| Tout est lent | Le premier appel charge le modèle. Ensuite il reste en mémoire — et « mémoriser la réponse » rend une boucle bien moins coûteuse. |
Et ensuite ?
- Modules IA — les quatre modules avec tous leurs champs
- Reconnaissance d'image — si un modèle d'image suffit, c'est toujours le premier choix
- API de commande — faire construire et surveiller un bot par une IA comme Claude Code