Chargement de l'image...Kiro

Produit

  • À propos de Kiro
  • IDE
  • CLI
  • Web
  • Mobile
  • Crew
  • Tarification
  • Téléchargements

Pour

  • Entreprise
  • Startups
  • Étudiants

Communauté

  • Aperçu
  • Ambassadeurs
  • Discord
  • Événements
  • Powers
  • Boutique
  • Vitrine

Ressources

  • Docs
  • Blogue
  • Journal des modifications
  • FAQ
  • Signaler un bogue
  • Suggérer une idée
  • Soutien à la facturation

Réseaux sociaux

Conditions d'utilisation du siteLicencePolitique d'IA responsableMentions légalesPolitique de confidentialitéPréférences relatives aux témoins
Chargement de l'image...Kiro
  • Entreprise
  • Tarification
  • Docs
SE CONNECTERTÉLÉCHARGER
Chargement de l'image...Kiro

Pour commencer

InstallationAuthentificationVotre premier projet

Modèles

AperçuModèles disponiblesEffort de raisonnement

Fonctionnalités

Comment fonctionne Kiro
Specs
Steering
Hooks
MCP
Autorisations
Agents personnalisés
Agent Skills
Powers
Sessions cloudCompactionKiroignorePoints de contrôle et rewind
Outils intégrés
Portées de configuration

IDE 1.x

Nouveautés de la version 1.0
Configuration et premier lancement
Éditeur
Chat
Expérimental
DépannageRéférence 0.x

CLI

Nouveautés de la version 3.0
Configuration et première exécution
Interface utilisateur du terminal
Clavardage
Mode vocalMode sans interfaceACPAutocomplétion
Expérimental
Référence 2.x

Crew

Démarrage rapideInstallationFonctionnement 24/7
Chat
Agent Capabilities
Fonctionnalités
Interfaces
Applications
ConfigurationSécuritéDépannage

Web - Aperçu

Configuration et première exécutionIdentity Center
Connectez vos dépôts
Utilisation de l'agent
Mode autonomeAutomatisationsMémoire
Sandbox

Mobile - Aperçu

Aperçu

Commandes et référence

Commandes CLICommandes à barre obliqueOutils intégrésCodes de sortieParamètres

Facturation

AperçuGestion de votre abonnementMise à niveau de votre forfaitRétrogradation de votre forfaitAnnulation de votre forfaitAchat de crédits supplémentairesGestion de vos paiementsGestion des notifications d'utilisationGestion de vos impôtsCommuniquer avec le soutien à la facturationSuppression de votre compteQuestions connexes

Entreprise

ConceptsDémarrage rapide de l'intégration
Connexion de votre fournisseur d'identité
Abonnez votre équipeGérer les abonnements
Governance
Surveillance et suivi
ParamètresMises à jour géréesFacturationIAMRégions prises en charge

Confidentialité et sécurité

AperçuProtection des donnéesRéférences de codeValidation de la conformitéSécurité de l'infrastructureAutorisations IAMPare-feu, mandataires et périmètres de donnéesPoints de terminaison VPC (AWS PrivateLink)

Guides

Aperçu
Prise en charge des langages
Apprendre en jouant
Configurer l'environnement de développement et lancer le jeu
Steering de Kiro et amélioration de la page d'accueil du jeu
Corriger un bogue de physique subtil
Corriger un bogue d'interactions dans plusieurs fichiers
La refactorisation intuitive représente 50 % de la programmation intuitive
Utilisation des specifications pour un travail complexe
Gérer les ressources du jeu avec les Agent Hooks
Étendre Kiro avec MCP
Conclusion

Migration

Migration depuis Q DeveloperMigration depuis VSCodeMise à niveau depuis Q CLI
  1. Docs
  2. Guides
  3. Apprendre en jouant
  4. Corriger un bogue d'interactions dans plusieurs fichiers
Afficher en Markdown

Corriger un problème complexe touchant plusieurs fichiers

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et la version anglaise originale, la version anglaise prévaudra.
Afficher en Markdown

Ce module suppose que vous avez déjà lancé le jeu localement, en suivant les instructions de configuration.

Dans les modules précédents, nous avons :

  • Écrit du HTML et du CSS pour améliorer la page d'accueil
  • Corrigé un bogue de physique dans le cœur du moteur physique du jeu

Ces deux tâches étaient assez autonomes. Essayons quelque chose d'un peu plus compliqué, qui touche plusieurs fichiers.

1

Comprendre le problème

Les joueurs du jeu rapportent que parfois, l'invite « E » ne fonctionne pas comme prévu. Cela semble se produire lorsqu'on se trouve près des murs :

Afficher la transcription : Recording of the interact-prompt bug near a wall

Dans cet enregistrement, vous pouvez voir que l'invite « E » disparaît même si le joueur est suffisamment proche du coffre et de l'objet.

Essayez de demander à Kiro de résoudre ce problème. Par exemple :

Parfois, lorsque le joueur est plus proche du mur que d'un objet interactif comme un item ou le coffre, l'invite d'interaction n'apparaît pas au-dessus de l'objet interactif.

2

Réfléchir à la solution proposée

Kiro devrait être capable d'identifier correctement le problème. La fonction qui trouve quel objet est le plus proche du joueur ne filtre pas les murs; par conséquent, lorsque le joueur est près d'un mur, elle marque le mur comme étant l'objet le plus proche, même si le mur n'est pas réellement interactif.

Chargement de l'image...alt !!alt

Le modèle a proposé de corriger le bogue en introduisant une vérification pour exclure les objets dont la masse physique est Infinity. Bien que cela résolve techniquement le problème à court terme, est-ce la meilleure correction? Que se passe-t-il s'il y a des objets non interactifs qui ont une masse finie? Ou que se passe-t-il s'il y a des objets qui ont une masse Infinity mais qui sont tout de même interactifs?

Cette solution de code proposée ajoute une logique déclenchée par une propriété dont la signification sémantique n'est pas directement liée à cette logique. Bien que cette correction fonctionne temporairement, le comportement surchargé finira assurément par causer des ruptures ou des bogues subtils plus tard.

Astuce

Lorsque vous utilisez une IA, vous devez rester mentalement engagé. N'acceptez pas simplement la première suggestion de l'IA à l'aveugle. Pensez aux pratiques exemplaires et aux solutions plus simples que l'IA aurait pu négliger.

3

Refactorisation à l'échelle du projet

Plutôt que d'essayer de traiter cela comme un problème entièrement autonome dans le fichier game-object-system.ts, effectuons une refactorisation plus vaste. Partout où des objets de jeu sont créés, nous devrions probablement indiquer d'emblée si l'objet créé est destiné à être interactif.

Essayez une requête comme :

Dans #GameObject, ajoutez une nouvelle propriété obligatoire interactive. Dans #updatePlayerProximity, filtrez les objets non interactifs. Tous les appels à #addObject dans le code doivent définir interactive à true ou false

Astuce

Essayez d'utiliser # pour faire apparaître le sélecteur de contexte. Vous pouvez faire référence à des types, des classes, des fonctions et d'autres primitives de code dans votre requête, ce qui augmente la précision des résultats en assurant que le modèle peut aller directement examiner le bon contexte.

Vos résultats devraient ressembler à quelque chose comme ceci :

Chargement de l'image...alt !!alt

Au lieu d'une seule modification, il y a 22 modifications touchant de nombreux fichiers du projet. Cette refactorisation garantira que l'API des objets de jeu contient une signification sémantique appropriée pour exprimer si un objet est destiné à être interactif.

Le LLM pourra utiliser cette signification sémantique à l'avenir, chaque fois qu'il devra implémenter une fonctionnalité.

Dans ce module, vous avez appris trois concepts clés :

  1. Vérifiez le code généré par l'IA avant de passer à la suite. Même si le code peut fonctionner correctement aujourd'hui, vous devez tout de même réfléchir quelques étapes à l'avance, car le LLM ne pense qu'au problème qu'il voit à l'instant présent.
  2. Lorsque vous rédigez une requête dans Kiro, utilisez le sélecteur de contexte pour mentionner des fonctions, des classes ou des types précis dans votre code. Cela améliore le contexte du modèle et produit des résultats plus précis.
  3. La nomenclature est importante. Assurez-vous que l'« API » de votre code a une signification sémantique exacte. Évitez de surcharger les propriétés avec plusieurs types de comportement qui ne sont pas directement liés à leur signification sémantique.

Passons à la prochaine tâche :

La refactorisation intuitive représente 50 % de la programmation intuitive

Page mise à jour : 11 août 2026
Corriger un bogue de physique subtil
La refactorisation intuitive représente 50 % de la programmation intuitive