Présentation
Le développement de logiciels natifs IA nécessite un nouveau modèle d'ingénierie, car les outils d'intelligence artificielle (IA) sont désormais omniprésents dans le développement de logiciels modernes. Les assistants de codage, les outils de complétion de code et les environnements de développement intégrés (IDE) alimentés par l'IA sont maintenant largement disponibles.
Contexte technique
Environ 65 % des organisations signalent que les équipes d'ingénieurs consacrent seulement 0 à 20 % de leur temps à l'innovation nette. La majorité de la capacité des développeurs est toujours consacrée à la maintenance, aux migrations, aux examens, à la corvée opérationnelle et au commutateur de contexte. Le problème n'est plus l'accès aux outils d'IA, mais plutôt la manière dont les organisations conçoivent le développement de logiciels natifs IA autour de ces outils.
Implications et limites
Les équipes qui réfléchissent au développement de logiciels lui-même, plutôt que d'insérer l'IA dans les flux de travail existants, peuvent augmenter leur productivité de 15 % à 30 %, voire de trois à dix fois ou plus. Cela représente un changement significatif dans l'ingénierie logicielle d'entreprise, car l'IA évolue d'un assistant de codage à un système d'ingénierie collaboratif.
Analyse scientifique
Les modèles de base comprennent les langages de programmation, mais ils ne comprennent pas l'architecture d'une organisation, les normes de codage, les pratiques opérationnelles ou les priorités commerciales. Les équipes qui se concentrent sur la mise en place de ces connaissances peuvent débloquer les agents pour qu'ils prennent en charge un travail plus important. La confiance est également essentielle à l'adoption de l'IA, car les organisations ne permettront pas aux agents autonomes de fonctionner à grande échelle à moins que les ingénieurs fassent confiance au processus et à la sortie.
Les équipes d'ingénieurs utilisent déjà des agents d'IA pour prioriser les tâches, résumer les conversations Slack, analyser les tickets, générer des spécifications et automatiser des parties des opérations d'ingénierie quotidiennes.