Demander à une IA de recommander un deck de Clash Royale n’est pas difficile. La vraie question qui a de la valeur est : pourquoi choisir ces huit cartes ? Comment fonctionnent-elles ensemble ? Comment jouer lors des attaques et des défenses ? Et comment vérifier le résultat recommandé ?
Cet article prend comme exemple un deck de contre-attaque défensive Géant avec un coût moyen en élixir de 3,5, et présente comment transformer des besoins en langage naturel en une analyse stratégique structurée, puis obtenir un plan d’enseignement qui peut être compris, pratiqué et itéré grâce à une vérification par code et à la génération d’images.
L’ensemble du processus ne consiste pas à laisser le modèle donner au hasard le « deck le plus fort », mais à diviser le travail en quatre parties :
Clarifier les contraintes → Analyser le deck → Vérifier le résultat → Produire un tutoriel visuel.
¶ I. D’abord clarifier : quel problème voulons-nous que l’IA résolve ?
« Aide-moi à créer un deck avec lequel il est facile de gagner » semble clair, mais il manque en réalité beaucoup de conditions nécessaires : dans quelle arène se trouve le joueur ? Quelles cartes a-t-il déjà débloquées ? Les niveaux des cartes sont-ils proches ? Utilise-t-il des cartes évoluées, des compétences de héros ou des troupes de tour spéciales ? Le joueur est-il plus familier avec la rotation rapide ou avec la contre-attaque défensive ? Le terme « facile » signifie-t-il que l’exécution est simple, ou que le deck a un avantage évident contre certains adversaires ?
Si ces informations ne sont pas fournies, le modèle peut facilement proposer une composition théoriquement raisonnable, mais qui ne convient pas réellement au compte du joueur. Par conséquent, ce cas établit d’abord les limites suivantes :
| Dimension | Contraintes de cette fois |
|---|---|
| Choix des cartes | Priorité aux cartes communes et rares de base, courantes |
| Forme des cartes | Forme normale, sans dépendre des évolutions ou des compétences de héros |
| Conditions de tour | Tour de princesse normale |
| Conditions de niveau | Les niveaux de cartes des deux parties sont considérés comme proches |
| Objectif d’exécution | Rôles clairement définis, adapté à l’apprentissage |
| Direction tactique | Organiser une contre-attaque après une défense réussie |
| Limites d’évaluation | Ne pas prétendre être le plus fort de la version en temps réel, ne pas inventer de taux de victoire |
Ces contraintes déterminent la direction de l’analyse ultérieure : nous cherchons une solution de base facile à comprendre, avec des responsabilités complémentaires, et non une « formule de victoire garantie » non vérifiée en combat réel.
¶ II. Laisser GPT-6 Astra s’occuper de l’analyse, et le programme s’occuper de la vérification
Ce cas appelle GPT-6 Astra via l’interface Chat Completions d’AceDataCloud, avec l’identifiant de modèle gpt-6-astra dans la requête. L’adresse de l’interface, la méthode d’authentification et la structure des messages suivent la documentation d’intégration de la plateforme ; la disponibilité du modèle et les paramètres doivent être basés sur la configuration de la plateforme au moment de l’appel. L’identifiant de modèle fourni par la plateforme est utilisé ici, sans en déduire la disponibilité d’autres points d’accès de service.
| Outil | Travail pris en charge | Travail qui ne doit pas être pris en charge |
|---|---|---|
| GPT-6 Astra | Expliquer les rôles des cartes, analyser les synergies, organiser les étapes d’attaque et de défense | Remplacer les données de combats réels pour prouver un taux de victoire |
| Python | Vérifier le nombre de cartes, les doublons, les coûts et le coût de la combinaison | Juger de la puissance réelle uniquement par une addition |
| GPT Image 2 | Transformer le plan tactique en affiche pédagogique | Servir de source d’autorité pour les mécaniques du jeu |
Il faut également distinguer le processus historique de la méthode de reproduction : les huit cartes de ce cas avaient déjà été établies lors d’analyses préliminaires, puis GPT-6 Astra a été effectivement appelé pour effectuer une révision structurée ; il ne s’agissait pas de laisser Astra rechercher la solution optimale globale dans le pool de cartes complet. L’affiche pédagogique a été générée par Image 2.0.
Documenter ainsi le processus facilite à la fois la reproduction et évite d’exagérer « le modèle a participé à l’analyse » en « le modèle a prouvé l’optimalité ».
¶ III. Conception du prompt : passer de « recommander un deck » à « raisonner sous contraintes »
¶ 1. Prompt ouvert de création de deck
Si vous commencez depuis votre propre pool de cartes, vous pouvez utiliser le modèle ci-dessous :
Tu es un assistant rigoureux d’analyse pédagogique de Clash Royale.
Objectif :
Parmi les cartes disponibles que je fournis, choisir un deck de huit cartes adapté aux joueurs de niveau débutant.
Conditions :
1. Utiliser uniquement les cartes que j’ai déjà débloquées.
2. Ne pas dépendre d’évolutions ou de compétences de héros.
3. Considérer par défaut une tour de princesse normale et des niveaux de cartes proches.
4. Privilégier un système aux rôles complémentaires, simple à jouer et facile à apprendre.
5. Expliquer obligatoirement le principal moyen de détruire les tours, l’anti-aérien, le nettoyage de groupes et la méthode de défense.
Entrée :
- Mon arène et mon nombre de trophées : …
- Cartes disponibles et leurs niveaux : …
- Adversaires fréquents : …
- Mes préférences de jeu : …
Sortie :
- Les huit cartes et leurs rôles
- Le coût total et le coût moyen
- Les raisons du choix
- Les étapes d’attaque et de défense
- Les faiblesses explicites et le coût des remplacements
Ne pas inventer de taux de victoire.
S’il n’y a pas de données en temps réel, ne pas affirmer qu’il s’agit du deck le plus fort de la version actuelle.
L’important n’est pas la longueur du prompt, mais de fournir ou non la plage de choix autorisée, l’objectif d’optimisation et les limites qui doivent être reconnues.
¶ 2. Prompt de révision utilisé dans ce cas
Afin de vérifier une solution existante, la tâche est davantage resserrée cette fois. Voici une version organisée des exigences de révision réellement utilisées :
Veuillez réviser le deck suivant, au lieu de rechercher à nouveau la solution optimale dans l’ensemble du pool de cartes :
Géant5, Mini P.E.K.K.A4, Mousquetaire4, Bombardier2,
Gargouilles3, Canon3, Flèches3, Boule de feu4.
Par défaut :
niveaux de cartes proches, tour de princesse normale, formes normales,
sans évolutions, sans compétences de héros.
Veuillez renvoyer un objet json valide, contenant :
deck, total_elixir, average_elixir,
advantages, attack_steps, defense_cases,
limitations, validation_note.
Exigences :
- Expliquer le rôle de chaque carte.
- Distinguer « exploiter les troupes survivantes après la défense » et « obtenir gratuitement des unités ».
- Ne pas présenter une combinaison de 11 élixirs comme pouvant être entièrement déployée immédiatement avec 10 élixirs pleins.
- Ne pas promettre une défense sans dégâts.
- Ne pas fournir de dégâts précis ou de taux de victoire sans source.
La conclusion principale obtenue lors de cet appel réel est : le deck a une répartition claire des rôles, convient à l'entraînement au contre-attaque défensive, mais les unités aériennes doivent être protégées, et il faut également conserver des ressources pour répondre à une attaque sur l'autre voie pendant la phase de poussée. Il s'agit d'une analyse théorique fondée sur les mécanismes fournis, et cela n'équivaut ni à un test en simulateur ni à des statistiques de ladder.
¶ IV. Obtenir une analyse structurée via l'API
L'interface Chat Completions utilise l'authentification par Bearer Token, et le texte généré peut être lu depuis choices[0].message.content.
Voici un exemple Python concis de reproduction. Installez requests avant de l'exécuter, puis configurez ACEDATACLOUD_API_KEY dans votre propre environnement d'exécution. N'écrivez pas la clé dans le dépôt de code ou dans le frontend du navigateur. Le cas réel utilise un appel d'outil MCP ; le code ci-dessous illustre la méthode d'accès HTTP correspondante, sans prétendre que ce script a été testé dans l'environnement du lecteur.
import json
import os
import requests
URL = "https://api.acedata.cloud/openai/chat/completions"
# 本案例已核对的输入快照。
# 实际项目应维护版本化卡牌资料,不要依赖模型猜测费用。
cards = [
{"name": "巨人", "elixir": 5, "role": "只攻击建筑的高血量前排"},
{"name": "迷你皮卡", "elixir": 4, "role": "地面单体高伤"},
{"name": "火枪手", "elixir": 4, "role": "远程对地对空"},
{"name": "炸弹兵", "elixir": 2, "role": "地面范围伤害"},
{"name": "亡灵", "elixir": 3, "role": "空中部队,可对地对空"},
{"name": "加农炮", "elixir": 3, "role": "仅对地的防守建筑"},
{"name": "万箭齐发", "elixir": 3, "role": "清理脆皮群"},
{"name": "火球", "elixir": 4, "role": "范围伤害与补伤害"},
]
task = """
请复核输入卡组,返回有效的 json 对象。
输出字段:
deck(每项包含 name、elixir、role)、
total_elixir、average_elixir、advantages、
attack_steps、defense_cases、limitations、validation_note。
默认卡等接近、普通公主塔、普通形态,无进化无英雄。
这是已有卡组复核,不是全卡池最优搜索。
没有实时对战数据,不得编造胜率、无伤承诺或精确伤害。
"""
response = requests.post(
URL,
headers={
"Authorization": f"Bearer {os.environ['ACEDATACLOUD_API_KEY']}",
"Content-Type": "application/json",
},
json={
"model": "gpt-6-astra",
"messages": [
{
"role": "system",
"content": (
"Return a valid json object. "
"你是严谨的游戏教学助手,只基于给定事实分析。"
),
},
{
"role": "user",
"content": task + "\n输入卡组:\n"
+ json.dumps(cards, ensure_ascii=False),
},
],
"response_format": {"type": "json_object"},
"max_tokens": 2200,
},
timeout=(10, 180),
)
response.raise_for_status()
body = response.json()
if body.get("error"):
raise RuntimeError(body["error"])
choice = body["choices"][0]
if choice.get("finish_reason") != "stop":
raise RuntimeError("输出未正常结束,请检查返回状态或调整输出预算")
content = choice["message"].get("content")
if not content:
raise RuntimeError("没有获得可解析的分析内容")
result = json.loads(content)
print(json.dumps(result, ensure_ascii=False, indent=2))
¶ Un détail d'interface réellement rencontré
Lors de cet appel, la première requête en mode JSON a été refusée par le serveur, avec un message d'erreur exigeant que les messages d'entrée contiennent json. Après avoir explicitement ajouté l'instruction anglaise Return a valid json object. au message, la requête a réussi.
Il n'est pas nécessaire ici de déduire que l'échec a été causé par la casse ou par d'autres facteurs. En ingénierie, une approche plus fiable consiste à demander explicitement une sortie JSON, à définir simultanément le format de retour, à vérifier l'état de fin, puis à continuer de valider les champs et les valeurs après l'analyse.
Pouvoir être analysé comme JSON signifie uniquement que la syntaxe est valide ; cela ne signifie pas que l'analyse du jeu est correcte.
¶ V. Deck final : contre-attaque défensive Géant à 3,5 élixirs
La proposition de cette fois est la suivante. Les coûts proviennent des données correspondantes des cartes, tandis que les rôles et les synergies servent à expliquer la conception de ce deck.
| Carte | Élixir | Rôle principal | Précautions d'utilisation |
|---|---|---|---|
| Géant | 5 | Encaisser, pousser, attaquer les bâtiments | Ne se charge pas d'éliminer les troupes ennemies |
| Mini P.E.K.K.A | 4 | Gérer les cibles terrestres à haute santé | Peut facilement être encerclé par de petites troupes ou détourné |
| Mousquetaire | 4 | Dégâts à distance, défense antiaérienne principale | Doit être protégée, éviter de la regrouper avec d'autres unités arrière |
| Bombardier | 2 | Éliminer les groupes terrestres | Ne peut pas attaquer les airs |
| Gargouilles | 3 | Deuxième défense antiaérienne, dégâts supplémentaires | Vulnérables aux Flèches et aux dégâts de zone |
| Canon | 3 | Attirer au centre, défense auxiliaire | Ne peut pas attaquer les unités aériennes |
| Flèches | 3 | Éliminer les groupes fragiles | Doivent être utilisées contre les cibles réelles |
| Boule de feu | 4 | Toucher les unités arrière regroupées, compléter les dégâts | Ne tue pas par défaut une Mousquetaire de même niveau |
La valeur de ce deck ne réside pas dans la rareté des cartes individuelles, mais dans la complémentarité des rôles : le Géant fournit la pression principale sur les tours, le Mini P.E.K.K.A gère les menaces terrestres, le Bombardier élimine les petites troupes qui perturbent les dégâts mono-cible, la Mousquetaire et les Gargouilles fournissent deux sources continues de défense antiaérienne, le Canon permet de gagner du temps de dégâts, et les deux sorts sont responsables du dégagement et des dégâts complémentaires.
¶ Vérifier les coûts avec du code
Ne lisez pas uniquement average_elixir renvoyé par le modèle. Une méthode plus fiable consiste à : recalculer à partir des données d'entrée déjà vérifiées, puis effectuer une vérification croisée avec la sortie du modèle.
Ajoutez le code suivant après l’exemple précédent :
trusted_costs = {card["name"]: card["elixir"] for card in cards}
deck = result["deck"]
names = [card["name"] for card in deck]
if len(names) != 8 or len(set(names)) != 8:
raise ValueError("卡组必须恰好包含8张不同卡牌")
if set(names) != set(trusted_costs):
raise ValueError("模型更改了本次要求复核的卡组")
for card in deck:
if card["elixir"] != trusted_costs[card["name"]]:
raise ValueError(f"费用不一致:{card['name']}")
total = sum(trusted_costs[name] for name in names)
average = total / len(names)
if result["total_elixir"] != total:
raise ValueError("模型返回的总费用不一致")
if abs(float(result["average_elixir"]) - average) > 1e-9:
raise ValueError("模型返回的平均费用不一致")
print(f"总费用:{total},平均费用:{average}")
Le résultat de la vérification indépendante des coûts dans cet exemple est :
Coût total : 5 + 4 + 4 + 2 + 3 + 3 + 3 + 4 = 28
Coût moyen : 28 ÷ 8 = 3.5
Il est également possible de continuer à vérifier les combinaisons courantes :
| Combinaison | Coût total | Utilité |
|---|---|---|
| Géant+Bombardier | 7 | Poussée légère pour contrer les petites troupes terrestres |
| Géant+Mousquetaire | 9 | Poussée classique avec capacité antiaérienne |
| Mini P.E.K.K.A+Bombardier | 6 | Gèrent respectivement les tanks et les petites troupes terrestres |
| Canon+Mousquetaire | 7 | Attraction et dégâts à distance |
| Géant+Mousquetaire+Bombardier | 11 | Former progressivement une poussée complète grâce aux troupes survivantes ou à la régénération d’élixir |
Le dernier point mérite particulièrement l’attention : une combinaison à 11 élixirs ne peut pas être déployée entièrement immédiatement avec seulement 10 points d’élixir. Elle est plus adaptée à une Mousquetaire ou un Bombardier ayant survécu à la défense, associés à un Géant nouvellement déployé, plutôt que d’empiler les trois cartes d’un seul coup. Le coût de la combinaison n’est qu’un coût d’investissement et ne prouve pas qu’elle permet de gagner de l’élixir de manière stable.
¶ VI. Transformer l’analyse en un plan offensif et défensif exécutable
¶ Attaque : défendre d’abord, puis transformer les troupes survivantes en pression
L’axe principal de ce deck n’est pas de jouer le Géant dès le début, mais de :
- Utiliser le Canon ou des troupes pour gérer l’attaque ennemie.
- Observer les points de vie, la position et l’élixir actuel des unités survivantes.
- Lorsque les conditions sont réunies, placer un Géant devant les troupes survivantes.
- Après avoir vu la carte de défense de l’adversaire, décider d’ajouter des troupes ou de jouer un sort.
- Conserver la capacité de gérer une attaque sur l’autre voie.
Par exemple, si la Mousquetaire survit après une défense, déployez le Géant avant qu’elle ne traverse le pont, afin que le Géant encaisse d’abord les dégâts tandis que la Mousquetaire continue d’infliger des dégâts. Ici, le gain de ressources provient du fait qu’une unité déjà payée participe à la fois à la défense et à la contre-attaque, et non de l’obtention par magie d’une Mousquetaire gratuite.
¶ Défense : choisir les composants selon la menace
| Menace adverse | Priorité de gestion |
|---|---|
| Unités ciblant les bâtiments telles que le Chevaucheur de cochon | Utiliser rapidement le Canon au centre pour attirer, puis ajouter des cartes selon le soutien adverse |
| Cibles terrestres à hauts points de vie | Mini P.E.K.K.A avec les dégâts de la tour, utiliser d’abord un bâtiment pour modifier le trajet si nécessaire |
| Groupes de petites troupes terrestres | Les gérer avec le Bombardier, ou utiliser les Flèches au bon moment |
| Attaque aérienne | Déployer séparément la Mousquetaire et les Gargouilles, afin d’éviter qu’elles soient éliminées simultanément par des dégâts de zone |
| Soutien arrière regroupé | Ajouter des dégâts avec la Boule de feu, puis laisser les troupes prendre le relais |
Tous ces plans dépendent de la position, du niveau, du timing et du soutien adverse ; ils ne doivent pas être compris comme des formules fixes sans subir de dégâts. Bien que le Canon puisse attirer les unités aériennes qui n’attaquent que les bâtiments, il ne peut pas infliger de dégâts aux unités aériennes lui-même.
¶ Faiblesses qui doivent être conservées dans l’explication
Une sortie de stratégie IA qualifiée devrait clairement indiquer au joueur dans quelles situations le match deviendra difficile :
- Après l’élimination de la Mousquetaire et des Gargouilles, la pression aérienne augmentera nettement.
- Ce deck ne possède pas de sort de réinitialisation ; il ne faut pas empiler aveuglément les troupes face aux défenses de type Enfer.
- Après avoir investi le Géant, l’autre voie peut devenir une cible de pression pour l’adversaire.
- Un coût de 3.5 n’équivaut pas à une rotation extrêmement rapide ; lorsque les cartes de défense clés sont décalées dans la rotation, elles ne reviennent pas forcément à temps en main.
Par conséquent, ce que fournit le modèle est un point de départ pour s’entraîner ; il convient ensuite de l’ajuster en fonction de son niveau de cartes, des adversaires fréquemment rencontrés et de ses historiques de combat.
¶ VII. Générer une affiche pédagogique tactique en 4K
Le texte convient pour expliquer les raisons, tandis que les images conviennent davantage pour montrer les relations de positionnement et l’ordre de jeu des cartes. Ce cas n’utilise pas une disposition mécanique de huit grandes cartes, mais conçoit plutôt l’image comme trois étapes pédagogiques reliées :
Défense à faible coût → Géant devant, troupes survivantes qui suivent → Identifier clairement les cartes de défense, ajouter du soutien.
L’image ci-dessous est l’affiche pédagogique générée cette fois-ci par Image 2.0. Les dimensions du fichier image ont été vérifiées comme étant 3840×2160, 16:9.

Illustration : schéma pédagogique tactique généré par IA ; il ne s’agit pas d’une capture d’écran de partie réelle et il n’est pas destiné à représenter des portées précises ni un positionnement case par case.
¶ Le prompt doit décrire les « relations pédagogiques », et pas seulement le « style visuel »
« 4K, riche en détails, ambiance cinématographique » ne peut décrire que l’orientation visuelle et ne garantit pas que le résultat généré ait une valeur pédagogique. Par conséquent, le prompt doit également inclure :
- Relation entre les rôles : le Géant est devant, la Mousquetaire et le Bombardier sont derrière.
- Relation entre les phases : défense à gauche, contre-attaque à droite, reliées par des flèches.
- Contraintes de mécanisme : le Géant n’attaque que les bâtiments ; le Canon et le Bombardier ne peuvent pas attaquer les unités aériennes.
- Hiérarchie de l’information : titre, tutoriel en trois étapes, liste du deck, coûts, précautions.
- Description des limites : tutoriel pour la forme normale, l’effet dépend des niveaux de cartes et de l’exécution.
Voici un prompt concis adapté à la reproduction de l’idée, et non une retranscription mot à mot du long prompt original :
Créer une affiche pédagogique tactique en chinois, au format horizontal 16:9, 3840×2160.
Thème : « contre-attaque défensive Géant à 3,5 d’élixir » dans Clash Royale.
L’image ne doit pas être une grille de cartes, mais une scène pédagogique vivante d’arène en 3D cartoon.
À gauche : le Canon attire au milieu du terrain, le Mini P.E.K.K.A traite les tanks terrestres,
la Mousquetaire attaque les unités aériennes, le Bombardier nettoie les petites troupes terrestres.
À droite : le Géant avance tout devant vers les bâtiments ennemis,
la Mousquetaire et le Bombardier survivants de la défense suivent derrière en étant dispersés,
les Gargouilles apportent un soutien aérien.
Utiliser des flèches claires pour exprimer :
défense à faible coût → ajouter le Géant pour contre-attaquer → voir clairement la carte de défense avant d’ajouter du soutien.
Afficher les huit cartes et leurs coûts en bas :
Géant 5, Mini P.E.K.K.A 4, Mousquetaire 4, Bombardier 2,
Gargouilles 3, Canon 3, Flèches 3, Boule de feu 4.
Indiquer :
élixir moyen 3,5 ;
Géant + Bombardier = 7 d’élixir ;
Géant + Mousquetaire = 9 d’élixir.
Rappeler :
garder de l’élixir pour la défense, positionner l’arrière de manière dispersée, voir d’abord la carte de défense avant de jouer un sort.
S’assurer que le chinois est clair et que les indications tactiques sont exactes.
Ne pas dessiner le Géant attaquant des troupes, ne pas dessiner le Canon ou le Bombardier attaquant des unités aériennes.
¶ Configuration de l’interface d’image
La documentation de l’interface de génération d’images permet de spécifier les dimensions en pixels via size ; la spécification 4K en 16:9 est 3840x2160 ; écrire uniquement « 4K » dans le prompt ne peut pas remplacer le paramètre de taille.
La configuration principale du corps de la requête est la suivante, où prompt doit être remplacé par la description complète de l’affiche :
{
"model": "gpt-image-2",
"prompt": "此处填写完整的战术教学海报提示词",
"size": "3840x2160",
"quality": "high",
"n": 1,
"output_format": "png",
"response_format": "url"
}
L’interface correspondante est :
POST https://api.acedata.cloud/openai/images/generations
¶ Échecs et changement de modèle durant le processus de génération réel
Cette fois, Image 2.5 a d’abord été utilisé, mais la tâche s’est terminée par une erreur explicite du service en amont, sans produire d’image. Après confirmation du changement, gpt-image-2 a été utilisé à la place, en conservant les spécifications 4K et 16:9, et la génération a finalement réussi.
Voici un principe d’ingénierie important :
Lorsque la tâche est encore en cours d’exécution, interroger la même tâche ; une fois que la tâche a clairement échoué, décider ensuite s’il faut réessayer ou changer de modèle.
L’outil d’image MCP utilisé cette fois s’exécute sous forme de tâche asynchrone : après la soumission, un ID de tâche est obtenu, puis la tâche est interrogée jusqu’à sa réussite ou son échec. Lors d’un appel direct à l’interface HTTP, il faut traiter le retour synchrone ou le rappel asynchrone conformément à la documentation correspondante, sans mélanger les structures de retour de différentes méthodes d’appel.
¶ VIII. Comment en faire davantage un outil durable et itératif ?
Si ce cas doit être étendu pour devenir un véritable assistant de deck, trois niveaux de capacités peuvent être ajoutés.
¶ 1. Données versionnées
Enregistrer les noms des cartes, leurs coûts, leurs cibles d’attaque, leurs niveaux et la date de mise à jour des données. Pour les données susceptibles de changer facilement, telles que les dégâts, les points de vie et la portée, utiliser des données sourcées plutôt que de s’appuyer sur la mémoire du modèle.
¶ 2. Contraintes liées à la collection de cartes de l’utilisateur
Utiliser comme entrées les cartes déjà débloquées par l’utilisateur et leurs niveaux. Lorsque les écarts de niveaux sont très importants, une combinaison théoriquement raisonnable ne signifie pas nécessairement de meilleures performances réelles.
¶ 3. Retours de combat
Enregistrer continuellement les principaux moyens d’attaque de l’adversaire, à quel stade l’on a perdu l’avantage d’élixir, si les cartes antiaériennes clés ont été utilisées à contretemps, ainsi que si le problème vient de la structure du deck ou du positionnement et du timing.
Ensuite, laisser le modèle proposer des suggestions d’ajustement qui ne modifient qu’une ou deux variables à la fois en fonction de ces enregistrements, plutôt que de changer tout le deck après chaque défaite.
L’affiche doit également faire l’objet d’une validation indépendante : vérifier si les huit cartes sont complètes, si le chinois est correct, si les coûts sont cohérents et si les flèches pointent vers les bonnes cibles. Une génération réussie ne signifie pas que la validation du contenu est réussie, et une résolution correcte ne signifie pas non plus que le schéma tactique est entièrement exact.
¶ Conclusion
Ce cas ne présente pas « une IA qui calcule automatiquement le deck le plus puissant », mais une méthode d’utilisation plus fiable :
utiliser des contraintes pour délimiter la tâche, utiliser GPT-6 Astra pour expliquer les synergies, utiliser du code pour vérifier les valeurs, utiliser Image 2.0 pour présenter les tactiques, puis utiliser les retours de combat pour corriger le plan.
L’idée centrale du deck Géant finalement obtenu peut se condenser en une phrase :
Le Canon attire, le Mini P.E.K.K.A traite les tanks, la Mousquetaire gère l’aérien, le Bombardier nettoie les groupes ; après avoir tenu, laisser le Géant passer devant.
Par rapport au simple fait d’obtenir les noms de huit cartes, cette méthode a davantage de valeur en ce que les joueurs savent non seulement « quoi prendre », mais peuvent aussi comprendre « pourquoi les prendre ainsi, et à quel moment les jouer de cette manière ».
¶ Références
- Guide d’intégration de l’API Chat Completions
- Documentation des paramètres de l’API Chat Completions
- Guide d’intégration de la génération d’images GPT Image
- Documentation des paramètres de l’API de génération d’images
- Les références des coûts des cartes figurent dans les liens d’information de chaque carte du tableau du deck ; les valeurs en combat réel et les fonctionnalités disponibles sont celles des informations actuelles en jeu.
Cet article est un cas pratique de stratégie et de développement assistés par IA, et non un guide officiel de Supercell. La couverture et l’affiche pédagogique sont des illustrations générées par IA ; les personnages et marques liés à Clash Royale appartiennent à leurs détenteurs de droits respectifs.

