Leaders d’opinion

L’explosion des API est réelle – et la programmation par ambiance est l’allumette

mm
Ajouter Unite.AI à vos sources préférées sur Google
L’essor de l’IA nous a apporté de nombreuses choses : des gains de productivité, de nouveaux flux de travail créatifs et, plus récemment, une avalanche d’API. Si vous avez l’impression que le nombre d’API internes et externes dans votre entreprise a doublé du jour au lendemain, vous n’imaginez rien. Nous vivons une explosion d’API, et l’IA générative est un accélérateur principal.

Il y a quelques années à peine, la création d’un nouveau point de terminaison d’API dans une base de code mature était une entreprise difficile. Vous deviez naviguer dans la propriété de plusieurs domaines de code, obtenir des approbations d’architectes grincheux et effectuer des examens qui pouvaient parfois durer des semaines ou des mois. La friction était douloureuse, mais elle garantissait que chaque nouvelle API était accompagnée d’un niveau d’examen et de mémoire institutionnelle.

Maintenant ? Les outils de développement alimentés par l’IA ont éliminé ce goulet d’étranglement.

Les agents d’IA générative peuvent consommer de grandes quantités de données contextuelles et générer des modifications de code sur des centaines de fichiers en quelques secondes. Cela a démocratisé la capacité de créer des API – pas seulement pour les ingénieurs, mais également pour les rôles non techniques (choquer l’horreur) comme les gestionnaires de produits et les équipes de support qui peuvent maintenant se sentir habilités à expédier des expériences directement en production.

C’est un changement massif dans la répartition du pouvoir dans le processus de développement logiciel. Et ce n’est pas nécessairement une mauvaise chose, en particulier dans un environnement commercial qui donne la priorité à la vitesse et à l’itération. Mais le résultat est un incendie de feu de forêt d’API déployées rapidement : de nombreuses lancements en tant qu’« expérimentaux » ou cachés derrière des drapeaux de fonctionnalités, mais devenant rapidement des infrastructures essentielles à mesure que les besoins commerciaux évoluent. Ce qui commence comme un prototype rapide devient une intégration clé. Et maintenant, il est trop tard pour défaire.

L’essor de la « programmation par ambiance »

Cette nouvelle génération d’API générées par l’IA arrive souvent avec peu d’architecture, de documentation ou de tests. Nous appelons ce phénomène « programmation par ambiance » – écrire du logiciel en fonction d’une intuition approximative, de sollicitations lâches et d’une idée générale de ce qui « devrait fonctionner », plutôt que d’une compréhension profonde des systèmes ou des modèles de conception.

Malheureusement, les API créées de cette manière ont tendance à suivre des conventions incohérentes, manquent de validation robuste et ignorent souvent les normes internes établies. Pire encore, elles peuvent introduire de graves risques de sécurité ou de réglementation, en particulier lorsqu’elles sont connectées à des données sensibles ou à des points de terminaison externes. L’IA ne connaît pas le modèle de gouvernance de votre entreprise – ou vos exigences de conformité. À moins d’être explicitement indiqué, elle n’écrira pas en tenant compte de ceux-ci.

Et les problèmes s’accumulent rapidement. L’IA est également de plus en plus utilisée pour générer des tests. Mais lorsque du code cassé est testé avec des validations générées par l’IA, les tests ne font que confirmer un comportement défectueux. Les développeurs hésitent à écrire des tests pour du code qu’ils n’ont pas écrit, et encore moins pour du code généré par des machines, donc l’IA comble le vide. Le résultat ? Une boucle de rétroaction récursive de code de mauvaise qualité testé et « validé » par une structure de scaffolding tout aussi fragile.

Les API en patchwork et la crise de propriété

Tout cela conduit à une couche d’API étendue et fragmentée au sein de la plupart des organisations. Les API s’étendent maintenant sur des domaines chevauchants, effectuent des fonctions similaires de manières légèrement différentes et manquent souvent de propriété claire. Beaucoup ont été écrits sans une compréhension profonde des modèles de données sous-jacents, des limites de service ou des chartes d’équipe. Il n’est pas surprenant que la maintenance devienne un cauchemar. Qui possède ce point de terminaison ? Qui peut le modifier ? Qui sait même qu’il existe ?

Les outils d’IA donnent la priorité à l’utilité et à la vitesse. Laissez-les sans contrôle, et ils créeront le chemin le plus court pour la livraison, que cela corresponde ou non à votre vision architecturale. Au fil du temps, le poids de cette dette technique peut ralentir le progrès.

Des étapes pratiques à prendre

1. Visibilité

La réponse n’est pas de ralentir tout ou d’interdire l’IA. Ce n’est pas réaliste, et cela laisserait une valeur énorme sur la table. Au lieu de cela, nous devons évoluer dans la manière dont nous gérons les logiciels à l’ère du développement génératif.

La première étape fondamentale est la visibilité. Vous ne pouvez pas gouverner ce que vous ne pouvez pas voir. Les organisations ont besoin d’une découverte d’API continue, et non d’une documentation statique qui est obsolète dès sa publication.

Les outils qui surveillent les API – à l’exécution et dans le code – deviennent essentiels. Une fois que vous pouvez cartographier votre paysage d’API réel, vous pouvez évaluer les risques, identifier les duplications et commencer à construire une gouvernance fiable.

Ironiquement, l’IA elle-même peut aider à ce processus. En utilisant des modèles d’IA sollicités pour analyser et auditer les cartes d’API, nous pouvons découvrir des anomalies, des expositions risquées et des opportunités de consolidation. C’est l’IA qui aide non pas à construire plus, mais à nettoyer ce que nous avons déjà.

2. Mise en place d’une normalisation organisationnelle de l’ingénierie de sollicitation et de l’outillage

Un meilleur contrôle de la sortie et de l’entrée dans les outils d’IA va loin dans le maintien d’un niveau de contrôle sur le code généré. Des étapes simples comme l’alignement sur les IDE et les modèles d’IA approuvés pour une utilisation à l’intérieur d’une organisation aideront à la variation. Cela a également l’avantage de faciliter le déploiement de nouveaux modèles et de rendre plus probable que les sollicitations soient reproductibles sur les postes de travail des ingénieurs.

Plus puissant encore est l’alignement sur les fichiers de type rules.md que vous exigez que les codeurs d’IA fournissent comme contexte à leur agent. Plus la base de code est complexe, plus il est utile que tous les ingénieurs travaillent avec le même ensemble de règles, en fournissant un contexte à l’agent d’IA sur la façon de générer correctement du code qui fonctionne le mieux avec les structures existantes.

Nous ne allons pas remettre le génie génératif dans la bouteille. Mais nous pouvons le guider, contenir le rayon d’explosion et l’utiliser pour alimenter l’innovation responsable. Ce travail commence non pas avec du code, mais avec de la clarté, en fournissant un contexte à l’agent d’IA sur la façon de générer correctement du code qui fonctionne le mieux avec les structures existantes. Nous ne allons pas remettre le génie génératif dans la bouteille. Mais nous pouvons le guider, contenir le rayon d’explosion, et l’utiliser pour alimenter l’innovation responsable. Ce travail commence non pas avec du code, mais avec de la clarté.

Bio: Benji Kalman, VP de l'ingénierie et co-fondateur de Root, a plus d'une décennie d'expérience dans la recherche et le développement en cybersécurité et en DevTools. Un ancien de l'unité 8200 qui s'est spécialisé dans les opérations cybernétiques, Benji a rejoint Snyk dès le début, où il a travaillé pendant plus de cinq ans en tant que directeur du groupe RnD de Snyk, responsable de la curation et de la création des bases de connaissances en matière de sécurité de l'entreprise.