Développement multimodal avec Kiro : de la conception à la réalisation
Kandyce Bohannon
Developer
L'architecture logicielle et l'ingénierie sont à la fois un art et une science. Nous concevons des designs élégants qui résolvent des problèmes complexes, mais quelque part entre la conception initiale et le déploiement final, cette vision peut se perdre dans la traduction. Si vous êtes comme la plupart des développeurs et architectes, vous avez vécu cela directement. Vous passez des heures à perfectionner des diagrammes système, pour ensuite voir l'implémentation dériver de votre conception originale. Les exigences changent, les développeurs interprètent vos diagrammes différemment, et avant même de vous en rendre compte, votre architecture élégante devient un patchwork de compromis désuets avant même d'être déployée.
Le développement de systèmes traditionnel est brisé. L'écart entre les diagrammes et le code déployé gaspille du temps, crée de la dette technique et livre des systèmes qui manquent la cible. Mais ça n'a pas à être ainsi.
J'ai récemment relevé ce défi de front en construisant un système de négociation financière avec Kiro. C'est le genre de projet où les faux pas architecturaux signifient de l'argent réel perdu et des cauchemars de conformité potentiels. Au lieu des semaines traditionnelles passées à traduire des ERD (diagrammes entité-relation) en schémas de bases de données et des diagrammes UML (Unified Modeling Language) en interfaces de service, le clavardage d'agent multimodal de Kiro a transformé mes esquisses de tableau blanc en code de production en quelques jours, pas en semaines.
Laissez-moi vous montrer comment la capacité de Kiro à traiter des diagrammes visuels en parallèle avec le code et la documentation a tout changé – et comment cela peut aussi transformer votre processus de développement.
J'ai commencé là où la plupart des projets débutent - avec un tableau blanc et quelques marqueurs. L'ERD que j'ai esquissé montrait les entités centrales d'un système de négociation financière : des utilisateurs connectés à des comptes, qui détiennent des positions et exécutent des ordres qui deviennent des transactions, tout cela alimenté par des données de marché en temps réel.
C'est là que les capacités multimodales de Kiro brillent. Au lieu de traduire manuellement mon diagramme, j'ai téléversé une photo de mon tableau blanc directement dans Kiro et j'ai entamé une conversation sur ce que je voulais construire.

Kiro n'a pas seulement vu une image; il a compris les entités, les relations et la logique d'affaires représentées dans mon diagramme dessiné à la main. En quelques minutes, il a analysé l'entrée visuelle et créé des spécifications complètes qui capturaient non seulement ce que j'avais dessiné, mais aussi les exigences implicites d'un véritable système de négociation financière.
Le diagramme visuel a fourni à Kiro le contexte structurel, et à travers notre conversation par clavardage, j'ai pu ajouter des nuances d'affaires qu'aucun diagramme n'aurait pu capturer. Nous avons discuté des exigences de conformité et réglementaires, des attentes en matière de latence et des considérations de sécurité. À chaque interaction, Kiro mettait à jour les spécifications tout en maintenant un alignement parfait avec ma conception visuelle originale.

C'est ici que l'approche multimodale de Kiro prouve sa valeur. Kiro a pris mon ERD et généré de véritables modèles TypeScript correspondant à mon esquisse de tableau blanc. Le code généré n'était pas seulement syntaxiquement correct – il incluait la logique d'affaires, les relations et les contraintes implicites dans mon diagramme original. Des entités comme User, Account, Order, Trade et Position sont devenues des classes TypeScript entièrement formées avec une validation, des relations et des méthodes appropriées.
En examinant les classes générées et le schéma de base de données que j'ai demandé à Kiro de créer en cours de route, j'ai pu voir comment le simple ERD que j'avais dessiné sur un tableau blanc avait évolué vers un système prêt pour la production. Des types d'objets et des relations additionnels ont été découverts, que je n'avais pas initialement envisagés : des pistes d'audit, des permissions d'utilisateur, des hiérarchies de portefeuille et des champs de conformité réglementaire essentiels pour un véritable système de négociation financière.

En se basant sur notre conversation sur la scalabilité, la sécurité et les exigences de déploiement d'un système de négociation financière, Kiro a créé une architecture Kubernetes complète et indépendante du fournisseur d'infonuagique. Avec ce plan, Kiro a créé une documentation qui incluait un diagramme Mermaid pour visualiser l'architecture du système. Bien que le diagramme était informatif, j'ai demandé à Kiro de le convertir en format SVG pour améliorer la lisibilité et permettre une meilleure mise à l'échelle sur différentes plateformes de visualisation.

La conception architecturale de Kiro répondait aux contraintes spécifiques de performance et de conformité des systèmes de négociation financière. Des services de négociation à faible latence ont été déployés sur des groupes de nœuds dédiés, avec épinglage de processeur (CPU pinning) et des configurations réseau optimisées. La couche de données a atteint une haute disponibilité grâce à PostgreSQL et TimescaleDB fonctionnant dans des StatefulSets répartis sur plusieurs zones de disponibilité. La messagerie pilotée par événements utilisait Kafka pour le traitement des ordres et la diffusion en continu des données de marché en temps réel, tandis qu'une sécurité complète mettait en œuvre des politiques réseau, des normes de sécurité des pods et HashiCorp Vault pour la gestion des secrets. Le système a été conçu en tenant compte de la conformité réglementaire grâce à la journalisation d'audit immuable, aux contrôles de résidence des données et à la surveillance automatisée de la conformité.
Kiro a compris qu'un système de négociation financière nécessite une portabilité entre les environnements de déploiement. L'architecture qu'il a conçue fonctionne sur AWS EKS, Google GKE, Azure AKS ou des grappes Kubernetes sur place sans modification, en intégrant les meilleures pratiques de l'industrie pour les applications conteneurisées tout en restant indépendante du fournisseur d'infonuagique.
Ce diagramme d'architecture est ensuite devenu l'entrée de la phase suivante. En utilisant à la fois l'architecture Kubernetes visuelle et le contexte de notre discussion, Kiro a généré des manifestes Kubernetes complets qui mettaient en œuvre nos décisions architecturales. L'infrastructure en tant que code (IaC) générée comprenait une organisation d'espaces de noms avec un étiquetage approprié pour la gestion de la conformité et des environnements, des déploiements de service avec des règles d'anti-affinité et des limites de ressources optimisées pour chaque composant, ainsi que des configurations StatefulSet pour les bases de données avec des demandes de volumes persistants. Les politiques réseau mettaient en œuvre une microsegmentation entre les services, tandis que des autoscaleurs horizontaux de pods (Horizontal Pod Autoscalers) avec des métriques personnalisées étaient gérés pour les charges de travail financières. Tout cela a été sécurisé en suivant les meilleures pratiques Kubernetes.
Les ressources Kubernetes générées comprenaient des configurations prêtes pour la production telles que des budgets de perturbation de pods, des quotas de ressources et des annotations de surveillance. Kiro a traduit notre conversation architecturale de haut niveau en une infrastructure déployable qui suivait les meilleures pratiques infonuagiques natives tout en répondant aux exigences spécifiques de performance et de conformité des systèmes de négociation financière.
Ce qui rendait cette approche si puissante n'était pas seulement que Kiro pouvait traiter des images; c'était que Kiro pouvait simultanément comprendre les diagrammes visuels, maintenir le contexte de nos conversations, référencer les fichiers de code générés et assurer une cohérence entre tous ces différents types d'entrées, tout en me poussant à réfléchir au-delà des détails d'implémentation.
Les outils de développement en IA traditionnels auraient exigé des interactions distinctes pour chaque phase : un outil pour interpréter les diagrammes, un autre pour générer les spécifications, un troisième pour la génération de code, et un autre encore pour la planification de l'infrastructure. Chaque transfert aurait perdu du contexte, créé des incohérences et nécessité une réconciliation manuelle. Le résultat aurait été des semaines de temps de développement supplémentaire et un remaniement important au fur et à mesure que la sortie de chaque outil divergeait de l'intention de conception originale.
L'approche basée sur les agents de Kiro a maintenu la traçabilité tout au long du processus de développement. Après trois jours et environ 15 heures de temps de développement, j'avais un système de négociation financière presque complet qui correspondait à ma conception visuelle originale. Le code généré reflétait directement les entités et les relations que j'avais esquissées, tout en incorporant toute la complexité additionnelle découverte au fil de nos conversations. Chaque phase informait la suivante tout en maintenant une traçabilité jusqu'à mes esquisses de tableau blanc originales, et Kiro a travaillé à mes côtés pour résoudre des problèmes d'ingénierie complexes liés à la conformité, à la performance et à la scalabilité avec confiance.
Plus important encore, les agents de Kiro n'ont pas seulement généré du code; ils ont remis en question des décisions architecturales, suggéré des améliorations pour la conformité réglementaire et identifié des goulots d'étranglement potentiels en matière de performance que je n'avais pas initialement envisagés. Cette approche collaborative a aidé à préserver la vision de conception initiale tout au long des améliorations que nous avons apportées, plutôt que de la perdre dans la traduction entre plusieurs sessions et outils déconnectés.
Cette expérience illustre ce qui est possible lorsque des agents en IA peuvent véritablement comprendre et traiter plusieurs types d'entrées simultanément. Des photos de tableau blanc au code généré, des diagrammes d'architecture aux configurations d'infrastructure – chaque étape s'appuie sur la précédente tout en maintenant l'intégrité de la conception.
Si vous êtes fatigué de voir vos belles conceptions devenir des implémentations déconnectées, essayez le développement multimodal. Commencez par un diagramme dessiné à la main, téléversez-le dans Kiro, et laissez-le comprendre votre conception visuelle et vous aider à maintenir cette intégrité jusqu'à la production. L'avenir n'est pas de choisir entre la conception visuelle et la génération de code; il s'agit d'une IA qui peut travailler de façon fluide avec les deux, en veillant à ce que votre vision originale se rende intacte en production.
Prêt à simplifier votre parcours des diagrammes au déploiement? Commencez avec Kiro gratuitement et découvrez le développement multimodal par vous-même! Téléversez vos propres diagrammes et découvrez la transition fluide de la conception visuelle au code fonctionnel.
Partagez votre expérience avec nous sur X ou LinkedIn, et joignez-vous à notre communauté Discord pour communiquer avec d'autres développeurs qui utilisent le développement multimodal pour transformer leurs flux de travail.
L'écart entre la conception et l'implémentation n'a plus à exister. Avec l'IA multimodale, votre diagramme peut devenir votre code, et votre vision peut devenir réalité plus rapidement et plus précisément que jamais.