Rapport sur l’architecture et les tendances de la conception des logiciels InfoQ – 2025

17 Min de lecture

Principaux à retenir

  • Alors que les modèles de grandes langues (LLM) sont devenus largement adoptés, l’innovation liée à l’IA se concentre désormais sur des modèles de petits langues finement réglés et une IA agentique.
  • La génération (RAG) (RAG) (RAG) de la récupération est une technique commune pour améliorer les résultats des LLM. Les architectes conçoivent des systèmes afin qu’ils puissent plus facilement accueillir des chiffons.
  • Les architectes doivent envisager des outils de développement assistés par l’IA, s’assurant qu’ils augmentent l’efficacité sans diminuer la qualité. Ils doivent également être conscients de la façon dont les développeurs citoyens utiliseront ces outils, en remplacement des solutions à faible code.
  • Les architectes continuent d’explorer des moyens de réduire l’empreinte carbone des logiciels. Les réductions des coûts des cloud sont un indicateur de l’efficacité raisonnable, mais maximiser l’utilisation des énergies renouvelables est plus difficile.
  • Concevoir des systèmes autour des personnes qui les construisent et les entretiennent est en adoption. La prise de décision décentralisée est devenue un moyen d’éliminer les architectes comme des goulots d’étranglement.

Chaque année, les éditeurs InfoQ et les experts de l’industrie se rencontrent pour discuter des dernières tendances que nous observons dans l’architecture et la conception logicielles. Nous classons ces tendances en utilisant le modèle de passage du CHASM créé par Geoffrey A. Moore. Sur la base de notre opinion collective, les tendances identifiées comme innovatrices ou adoptants précoces sont le principal objectif du personnel éditorial de l’infoq pour l’année prochaine. Ce sont également les sujets auxquels les lecteurs InfoQ devraient prêter attention car ils peuvent fournir des idées pour vos solutions. En plus de ce rapport et du graphique des tendances, le podcast d’accompagnement présente une table ronde qui approfondit certaines des tendances.

Parce que les décisions d’architecture logicielle se résument toujours aux compromis, il n’y a jamais une bonne façon de résoudre tous les défis. Pour cette raison, il y a toujours eu un débat sain parmi les éditeurs car une tendance devrait évoluer le long de la courbe d’adoption. Tout comme ceux «cela dépend» des choix lors de l’architecture d’un système, cela revient parfois à des opinions subjectives sur les données quantifiables.

Un aspect qui aide à déterminer où la technologie ou la tendance correspond à sa stabilité. En règle générale, les idées innovantes évoluent rapidement, et le manque de maturité et de stabilité nécessite des investissements supplémentaires pour les réussir. Lorsque nous décidons qu’une tendance a traversé le gouffre des premiers adoptants à la majorité précoce, qui signale que plus d’entreprises devraient être en mesure de l’adopter, ou du moins considérer si cela a du sens pour leur situation.

Tendances de l’IA pour les architectes

L’année dernière a vu des sujets liés à l’IA évoluer à bien des égards, et cela continuera d’être au centre de l’innovation dans l’industrie. Les modèles de grandes langues (LLM) sont désormais suffisamment répandus pour que non seulement ils aient traversé le gouffre, mais ils sont passés de l’adoptant précoce à la majorité tardive. Les LLM sont la partie la plus fréquemment utilisée de la hauteur de toute entreprise qu’il utilise en IA. Cependant, avec cette ubiquité, il manque un manque de clarté sur ce que les LLM sont utilisés, et même s’ils sont le bon outil pour le travail. Ironiquement, cela révèle une autre façon d’identifier lorsqu’une nouvelle technologie a traversé le gouffre – elle commence à être utilisée de manière inappropriée.

Le rapport InfoQ AI, ML et Data Engineering Tends est plus en détail sur certains de ces sujets. Dans ce rapport sur l’architecture et les tendances de conception, nous soulignons certaines des principales tendances dont les architectes logiciels doivent être conscients. Considérez-les comme des boîtes sur un contexte ou un diagramme de composants. Bien qu’il ne soit pas nécessairement qualifié pour mettre en œuvre personnellement chaque composant et sous-système, un architecte doit comprendre comment un élément d’IA se rapporte à d’autres parties de son système. Quelles sont les entrées et sorties? Comment mesurer les performances, l’évolutivité, le coût et d’autres exigences interfonctionnelles?

Suivez le sujet AI, ML et d’ingénierie des données sur InfoQ pour plus d’informations.

AI d’origine – Innovateur

En regardant les LLM au-delà, deux domaines d’innovation pour l’IA auxquels les architectes logiciels devraient prêter attention sont des modèles d’IA et de petits langues agentiques (SLM). Auparavant appelée «agents d’IA», l’idée de l’IA agentique est de concevoir des modèles d’IA qui peuvent accomplir des tâches de manière autonome. Dans certains cas, plusieurs agents peuvent collaborer pour obtenir de plus grands résultats. Dans les logiciels traditionnels, nous pouvons voir des modèles d’orchestration ou de chorégraphie pour gérer les flux de travail. Une approche agentique peut commencer par des agents effectuant des tâches spécifiques et pourrait évoluer vers une approche de superviseur où l’IA détermine les étapes à suivre dans le processus métier. Cette approche reste une tendance innovante car il existe un écart important pour que les entreprises fassent confiance aux logiciels non déterministes pour prendre des décisions importantes.

Les architectes concevant des flux de travail agentiques peuvent suivre certains des modèles de microservices, chaque agent ayant des limites et des modèles d’interaction clairement définis. Ces conceptions conduisent à de meilleurs résultats car la qualité des réponses et des actions entre les agents peut être observée et réglée. La maintenabilité s’améliore également, les modules d’agent individuels étant mis à niveau ou remplaçables à mesure que les modèles plus récents deviennent disponibles. Pour s’assurer que l’agent répond de manière appropriée, les tests en cours doivent être effectués à mesure que l’agent ou ses actions possibles évoluent.

Regardez le Keynote QCon San Francisco de Shruti Bhat: Pionnier de l’avenir: Avocation de l’infrastructure pour les agents de l’IA pour plus d’informations.

Modèles de petit langage (SLMS) – Innovateur

Les architectes considèrent les SLM comme une option pour utiliser les fonctionnalités des LLM, tout en améliorant certains de leurs inconvénients. Les SLM sont généralement plus spécialisés que les LLM et sont donc capables de surpasser les LLM pour certaines tâches. Cette spécialisation signifie également qu’elles sont plus faciles et moins chères à former, permettant à plus d’entreprises de créer des modèles spécialisés. Leur plus petite taille entraîne également une baisse des coûts opérationnels et une empreinte carbone plus petite, ainsi que des options de déploiement supplémentaires. Au lieu d’accéder à un LLM via une API hébergée par le cloud, les SLM peuvent être déployés sur du matériel auto-hébergé ou sur des ordinateurs de bord, éliminant ainsi la latence du trafic réseau et l’augmentation de la sécurité des données.

Suivez le sujet du modèle grand langage sur InfoQ (la plupart du contenu SLM se rapporte à LLMS) pour plus d’informations.

GÉNÉRATION AUGURSEUR-AUGUMÉ DE RETRAITE (RAGE) – Adoptère précoce

La technique la plus courante pour obtenir des résultats de meilleure qualité d’un LLM est d’ajouter un chiffon. Bien que le chiffon soit rapidement devenu une approche de facto, une mise en œuvre efficace nécessite toujours des efforts. Les architectes logiciels adaptent leurs systèmes pour fournir des données qui peuvent être plus facilement consommées pour les cas d’utilisation du chiffon. À l’avenir, nous pouvons voir des systèmes conçus avec des données qui devraient être consommées à des fins de chiffon. Cela concerne la tendance plus large de l’architecture basée sur les données.

Suivez le sujet de génération de la récupération sur InfoQ pour plus d’informations.

Développement assisté par AI – majorité précoce

Auparavant, InfoQ a suivi le code bas / sans code en tant que tendance architecturale car les API bien définies ont fourni une extensibilité aux développeurs de citoyens. Nous avons décidé de remplacer cette tendance par un développement assisté par l’IA car les cas d’utilisation ont un chevauchement significatif. Alors que de nombreux ingénieurs logiciels professionnels utilisent des outils d’IA pour aider à écrire du code, l’utilisation des programmeurs citoyens est un domaine nécessitant l’attention des architectes. Lors de la conception d’un système pour faciliter le développement à faible code, des soins supplémentaires ont généralement été pris pour s’assurer que les API étaient en sécurité à utiliser. Les assistants de codage de l’IA ont encore réduit la barrière au démarrage, et, à certains égards, facilitent l’utilisation d’API qui n’étaient peut-être pas destinés à des solutions à faible code ou par des développeurs non professionnels. Bien que le développement assisté par l’IA puisse être répandu, le fait qu’il soit arrivé si rapidement peut signifier que les architectes sont derrière la courbe en ce qui concerne la conception de systèmes préparés pour que le code soit écrit pour y accéder.

Les architectes et les ingénieurs sont également préoccupés par la qualité du code produit par les outils d’IA, même entre les mains de développeurs professionnels. Étant donné que la sortie dépend de la qualité de l’invite, les architectes trouvent des moyens de fournir de bonnes invites qui aident à garantir que les directives de codage et d’architecture sont confirmées. L’outillage émerge pour aider à façonner le développement assisté par l’IA, mais n’est pas encore au niveau d’autres normes pour les styles de codage tels que Linting ou EditorConfig.

Software Green – Innovateurs

Le logiciel économe en carbone et en carbone continue d’être une tendance innovante à regarder. De nombreuses entreprises se concentrent sur la réduction des coûts d’hébergement cloud, ce qui peut être un bon indicateur pour réduire la consommation d’énergie. Bien que cette réduction soit un avantage utile, il y a beaucoup moins de concentration sur la conduite de l’empreinte carbone d’un système logiciel. La réflexion de niveau supérieur oblige les architectes à considérer à la fois où et quand leur logiciel s’exécute pour profiter des énergies renouvelables.

Le temps et l’emplacement sont tous deux des facteurs importants pour rendre les logiciels plus verts, car cela dépend de la façon dont l’électricité est générée pour les centres de données. « Suivez le soleil » est généralement approprié lorsque vous essayez de maximiser l’énergie solaire. Cependant, le fonctionnement des serveurs plus proche de la capacité est généralement plus économe en énergie que de les laisser dans un état d’inactivité, il peut donc être préférable d’exécuter certaines tâches après les heures, lorsque la demande est inférieure et que la capacité est déjà provisible. Le trafic réseau peut également être un consommateur important d’énergie, de sorte que les données doivent être traitées localement chaque fois que possible. Ces quelques exemples démontrent la complexité entourant les logiciels verts et montrent pourquoi il y aura de l’innovation.

Suivez le logiciel vert et les sujets informatiques durables sur InfoQ et écoutez un podcast avec les auteurs de Building Green Software pour plus d’informations.

Ingénierie de la vie privée – Innovateurs

L’ingénierie de la vie privée a été ajoutée au graphique Trends en 2024 pour mettre en évidence les entreprises qui considèrent la confidentialité comme une caractéristique principale, plutôt que quelque chose qu’ils mettent en œuvre en réaction à des réglementations ou à d’autres incidents. À certains égards, l’émergence de l’IA est de plus en plus forte pour considérer la vie privée à l’avance. Avant de mettre en œuvre un LLM, les architectes demandent quelles données seront transmises sur le réseau, seront-elles utilisées pour former de futurs modèles et l’utilisation est conforme aux termes d’utilisation précédemment approuvés.

Suivez le sujet de confidentialité sur InfoQ pour plus d’informations.

Architecture socio-technique – adoptant précoce

L’évolution du rôle de l’architecte et de la façon dont l’architecture est pratiquée est toujours un sujet auquel faire attention. Des systèmes logiciels complexes doivent être conçus autour des personnes qui construisent, prendront en charge et évolueront le logiciel. Le mouvement « Shift-Left » est une façon dont cela se produit, avec divers aspects du cycle de vie du logiciel abordé plus tôt dans le processus. Cela ne doit pas être interprété comme un passage à la gestion de projet en cascade et à un grand design à l’avance. Au contraire, les architectes discutent des préoccupations avec les parties prenantes plus tôt et de la conception de systèmes capables d’évoluer et d’éviter les retouches de dernière minute pour répondre aux besoins de chacun.

Les architectes innovants tentent également d’être moins un goulot d’étranglement pendant le processus de prise de décision. Plutôt que les architectes étant les seuls décideurs, les architectes peuvent aider à faciliter les décisions d’architecture qui sont prises par d’autres coéquipiers. En fournissant des conseils et en aidant les autres à naviguer dans le processus de prise de décision, les équipes sont en mesure de se déplacer plus rapidement, de prendre des décisions plus contextuellement appropriées et d’avoir plus de compréhension et de confiance dans la conception.

La façon dont les équipes construisent et publient un logiciel contribue à ce qu’elles sont capables de construire. Pour cette raison, l’architecture de la plate-forme est quelque chose que les architectes doivent considérer. Les plates-formes d’ingénierie sont passées de solutions sur mesure à presque une marchandise « plate-forme en tant que produit ». L’application d’une lentille socio-technique lors de l’évaluation des décisions de construction par rapport à l’achat garantit que les architectes et autres parties prenantes examinent comment ces solutions bénéficieront aux personnes qui rédigeront, déploieront et entretienont des logiciels.

Partager cet article
Leave a Comment