NavVis | Blog | BUILD BETTER REALITY

L'importance de l'humain dans cette nouvelle ère de l'ingénierie alimentée par l'IA

Écrit par Tim Runge | Sep 17, 2025

Les grands modèles de langage sont déjà monnaie courante dans le développement de logiciels. Chaque NavVis les a adoptés dans son travail quotidien et, dans la mesure du possible, les utilise pour l'autocomplétion de fonctions, la génération de code de routine et même la rédaction de documentation.

Mais le contexte constitue une limite persistante : ces systèmes ne se "souviennent" pas de ce qui a été appris d'une session à l'autre, et ils ont du mal à se coordonner lorsque plusieurs outils ou tâches sont impliqués.

A NavVisnous recherchons constamment des moyens d'améliorer l'intégration de l'IA dans le cycle de développement de nos produits. C'est pourquoi deux de nos chefs d'équipe ont étudié des approches complémentaires de ce problème contextuel.

Martin Friedli a étudié la manière dont les banques de mémoire pourraient donner à un assistant IA une connaissance persistante du projet, tandis qu'Ivano Alvino a testé des cadres multi-agents qui coordonnent des agents spécialisés pour accomplir des tâches de de bout en bout Ensemble, ces expériences soulignent à la fois les opportunités et les questions non résolues concernant les flux de travail d'ingénierie basés sur l'IA.

Mais il y a une autre raison pour laquelle cela est important pour nous. L'environnement dans lequel nous travaillons chez NavVis (applications mobiles multiplateformes, code C++ partagé et vastes ensembles de données 3D) constitue un terrain d'expérimentation particulièrement exigeant.

Par rapport aux industries où des données de formation abondantes et normalisées soutiennent les tâches de codage, nos flux de travail de capture de la réalité peuvent être particulièrement désordonnés et complexes. Cela ne rend pas nécessairement l'IA intrinsèquement meilleure ou pire, mais cela signifie que les enjeux sont plus importants et les leçons plus précieuses. Si les flux de travail réussissent dans ce contexte, on peut espérer qu'ils sont suffisamment robustes pour être utilisés partout.

Ils soulignent également un aspect plus large : comment gérer et dimensionner les équipes d'ingénieurs dans un environnement où non seulement des personnes, mais potentiellement des dizaines d'agents d'intelligence artificielle, contribuent au code ? C'est là que le thème du système sociotechnique devient central.

Préserver la connaissance des projets

Les travaux de Martin se sont concentrés sur le concept de banque de mémoire. Les outils de codage traditionnels de l'IA fonctionnent sans état d'âme : chaque fois que vous démarrez une nouvelle session, l'assistant n'a pas conscience de ce qui s'est passé auparavant. Cela signifie que la connaissance du projet, les conventions de l'équipe et les corrections passées doivent être réintroduites encore et encore.

Pour y remédier, Martin a créé une banque de mémoire à l'intérieur du projet Go iOS de projetIVION Go iOSqui se trouve dans le projet NavVisde NavVis. mono-répo (c'est-à-dire une base de code unique qui contient plusieurs projets côte à côte, y compris iOS, Android et des bibliothèques C++ partagées). Une mono-répo facilite le partage du code et la synchronisation des données, mais elle soulève également des questions sur l'étendue de ce type d'expériences. La banque de mémoire doit-elle couvrir uniquement iOS, ou également le code partagé ?

Martin a créé un dossier .clinerules dédié, a ajouté un fichier projectbrief.md avec des instructions structurées, et a utilisé la commande "initialize memory bank" de Cline pour générer la première série d'entrées. Ces fichiers markdown font office de "journal" de projet que l'IA peut lire au début de chaque session. Par exemple, si un développeur découvre que de longs résultats de tests submergent le modèle, il peut enregistrer une règle telle que "ne lire que la section pertinente des résultats de tests". Le coéquipier suivant en bénéficie automatiquement - sans même savoir que le problème a existé.

Il en résulte un partage invisible des connaissances. Au lieu de réapprendre les mêmes leçons à plusieurs reprises, l'IA commence chaque tâche avec une conscience persistante des normes et des pièges du projet.

Martin a également soulevé plusieurs questions ouvertes :

  • Comment les banques de mémoire doivent-elles fonctionner dans une mono-répo où le code est partagé entre plusieurs plates-formes ?
  • Les instructions doivent-elles être dupliquées dans les projets iOS et Android, ou unifiées en un seul endroit ?
  • Comment les banques de mémoire peuvent-elles être intégrées dans des environnements autres que VSCode, tels que Xcode ou Android Studio ?
  • Qui est responsable de leur maintenance : l'IA, l'ingénieur ou les deux ?

Ces questions soulignent que si les banques de mémoire peuvent fonctionner dans la pratique, elles requièrent également une discipline partagée. Il s'agit tout autant de créer la bonne culture d'ingénierie que de la configuration technique.

Coordonner plusieurs agents

Alors que Martin s'est concentré sur la profondeur des connaissances, les expériences d'Ivano ont porté sur l'étendue, plus précisément sur la mesure dans laquelle plusieurs agents d'intelligence artificielle peuvent travailler ensemble. Pour que cela fasse partie du projet NavVis n'était pas son objectif premier. Son objectif était la recherche.

Il a donc créé une petite "équipe" d'agents à l'aide du cadre Python Agno:

  • Un agent Jira pour récupérer les détails des tickets.
  • Un agent du système de fichiers pour lire et éditer les fichiers sources.
  • Un agent coordinateur pour orchestrer le workflow.

Le système a été testé sur un ticket réel : l'ajout d'une fonction d'écran d'accueil pour les clients de NavVis IVION Go. Normalement, une telle tâche peut prendre vingt minutes à un développeur. Dans l'essai d'Ivano, les agents sont allés chercher le ticket, ont localisé le code pertinent, ont créé un plan et ont proposé des modifications à deux fichiers, le tout en une douzaine de minutes.

Cette approche, souvent appelée codage agentique, modifie le modèle d'interaction. Au lieu d'un développeur itérant ligne par ligne avec un copilote, l'homme assigne une tâche et les agents se coordonnent entre eux pour fournir une solution.

Certes, cela nécessite encore une supervision, et les limites tarifaires ont empêché une démonstration en direct lors de la présentation d'Ivano, mais le potentiel est clair : les flux de travail multi-agents peuvent étendre ce qu'un seul agent d'IA peut faire.

Une interface visuelle (le "terrain de jeu") de l'équipe d'agents locaux d'Ivano.
La tâche ("IV-7503") qu'Ivano a confiée à l'équipe d'agents.
La liste des étapes que l'équipe agentique a franchies seule pour accomplir la tâche.

La convergence des projets

Les deux projets s'attaquent à la même limitation fondamentale : le contexte.

  • Les banques de mémoire de Martin garantissent qu'un assistant IA n'oublie pas ce qu'il a déjà appris sur un projet.
  • Les flux de travail multi-agents d'Ivano garantissent que les différents outils et agents peuvent se coordonner efficacement.

Ensemble, ils suggèrent un avenir où les systèmes d'IA auront une mémoire et la capacité d'agir comme une équipe cohésive, appliquant les connaissances de manière cohérente tout en répartissant les tâches entre des rôles spécialisés.

Le leadership dans un système sociotechnique

L'impact de ces expériences ne se limite pas aux outils. Comme Tom Renner, l'un des responsables de notre équipe d'ingénieurs, aime à le répéter : le développement de logiciels est un système sociotechniquece qui signifie que le succès dépend à la fois du système technique et du système social qui l'entoure.

L'introduction de l'IA modifie cet équilibre. Les machines contribuent désormais à des portions significatives du code, mais elles commettent des erreurs d'une manière très différente de celle des humains. Elles peuvent halluciner, générer des solutions plausibles mais incorrectes ou réintroduire des erreurs en toute confiance.

Parfois, ces erreurs sont enveloppées d'une sorte de charme artificiel. Tous ceux qui ont utilisé ChatGPT reconnaîtront le schéma : "Vous avez tout à fait raison, merci pour votre brillante perspicacité !". Dans le codage, l'effet peut être le même. Le modèle flatte, accepte plus qu'il ne le devrait, puis produit quelque chose qui pourrait encore être erroné. C'est assez drôle, mais cela souligne également le point suivant : ces systèmes n'inspirent pas la confiance comme le font les collègues, ce qui rend la supervision et la validation humaines essentielles.

Raison de plus pour faire évoluer les processus tels que l'examen du code et les tests.

A NavVisdes outils à mémoire vive comme CodeRabbit font déjà partie de notre workflow, tirant les leçons des retours d'expérience et s'améliorant au fil du temps. Dans cet environnement, le leadership consiste à concevoir des processus qui exploitent les atouts de l'IA tout en garantissant la fiabilité grâce à des contrôles et des équilibres adéquats.

Pour NavVis il s'agit d'un changement culturel autant que technique. On ne peut pas établir une relation de confiance avec une IA de la même manière qu'avec un coéquipier, mais on peut concevoir des systèmes qui tiennent compte de ses forces et de ses faiblesses uniques. En fin de compte, c'est l'essence même d'un système sociotechnique, et c'est quelque chose que nous nous efforçons de définir et de mieux créer chaque jour.

Les prochaines étapes

Il est évident que des obstacles subsistent. La fragmentation des outils rend l'intégration difficile. Les coûts informatiques risquent d'augmenter une fois que les fournisseurs auront dépassé le stade de l'utilisation subventionnée. Et quel que soit le degré d'avancement des outils, NavVis resteront dans la boucle pour traiter les cas particuliers et assurer la qualité.

Mais les opportunités sont tout aussi claires :

  • Itération plus rapide des tâches répétitives.
  • Des connaissances qui perdurent d'une session à l'autre et d'une équipe à l'autre.
  • Les ingénieurs libérés se concentrent sur l'architecture, la conception et l'innovation.

Comme l'a dit Tom, c'est exactement le bon moment pour expérimenter. Les coûts sont faibles(relativement), les outils évoluent rapidement et les leçons que nous tirons aujourd'hui nous prépareront à évaluer les offres futures de manière critique lorsque les conditions économiques changeront inévitablement.

Pourtant, la véritable histoire n'est pas seulement celle des banques de mémoire ou des systèmes multi-agents. Il s'agit de savoir comment les équipes d'ingénieurs évoluent lorsque les humains et les machines se partagent le travail. Comment faire évoluer une équipe lorsque certains de ses membres ne sont pas des humains ? De quelles nouvelles compétences les ingénieurs ont-ils besoin et quelles nouvelles responsabilités les dirigeants doivent-ils assumer ?

A NavVisnous ne prétendons pas avoir toutes les réponses. Mais grâce à des expériences comme celles-ci, nous améliorons constamment notre compréhension et l'intégration efficace des travaux de développement basés sur l'IA. Nous réalisons déjà des gains de productivité exponentiels et, étape par étape, nous en découvrirons certainement d'autres. Mais la clé est de créer des flux de travail où la créativité humaine guide et oriente l'utilisation de l'IA.

C'est le maintien de cet équilibre qui fait la qualité d'un système sociotechnique.