Compiler.next: A Search-Based Compiler to Power the AI-Native Future of Software Engineering
Cogo, Oliva, Hassan
The rapid advancement of AI-assisted software engineering has brought transformative potential to the field of software engineering, but existing tools and paradigms remain limited by cognitive overload, inefficient tool integration, and the narrow capabilities of AI copilots. In response, we propose Compiler.next, a novel search-based compiler designed to enable the seamless evolution of AI-native software systems as part of the emerging Software Engineering 3.0 era. Unlike traditional static compilers, Compiler.next takes human-written intents and automatically generates working software by searching for an optimal solution. This process involves dynamic optimization of cognitive architectures and their constituents (e.g., prompts, foundation model configurations, and system parameters) while finding the optimal trade-off between several objectives, such as accuracy, cost, and latency. This paper outlines the architecture of Compiler.next and positions it as a cornerstone in democratizing software development by lowering the technical barrier for non-experts, enabling scalable, adaptable, and reliable AI-powered software. We present a roadmap to address the core challenges in intent compilation, including developing quality programming constructs, effective search heuristics, reproducibility, and interoperability between compilers. Our vision lays the groundwork for fully automated, search-driven software development, fostering faster innovation and more efficient AI-driven systems.
academic
Compiler.next : Un compilateur basé sur la recherche pour alimenter l'avenir natif de l'IA de l'ingénierie logicielle
Cet article propose Compiler.next, un compilateur basé sur la recherche conçu pour soutenir les systèmes logiciels natifs de l'IA à l'ère de l'ingénierie logicielle 3.0. Contrairement aux compilateurs statiques traditionnels, Compiler.next accepte les intentions écrites par l'homme et génère automatiquement des logiciels fonctionnels en recherchant des solutions optimales. Ce processus implique l'optimisation dynamique d'architectures cognitives et de leurs composants (tels que les invites, les configurations de modèles de base et les paramètres système), tout en trouvant un équilibre optimal entre plusieurs objectifs tels que la précision, le coût et la latence. L'article décrit l'architecture de Compiler.next et la positionne comme pierre angulaire pour démocratiser le développement logiciel en réduisant les barrières techniques, permettant des logiciels pilotés par l'IA évolutifs, adaptables et fiables.
Limitations de l'ingénierie logicielle assistée par l'IA existante :
Les développeurs font face à une surcharge cognitive
Intégration inefficace des outils
Capacités limitées des copilotes IA
Évolution du paradigme de l'ingénierie logicielle :
SE 1.0 : Ère de la programmation manuelle
SE 2.0 : Ère assistée par l'apprentissage automatique
SE 3.0 : Ère native de l'IA, collaboration transparente entre humains et IA
Complexité du FMware (logiciel de modèle de base) :
Bien plus qu'un simple encapsulage de modèles de base
Comprend des composants complexes tels que la configuration, la collecte de données, les systèmes RAG, la validation des données, les outils d'analyse, etc.
Nécessite une évolution continue en réponse aux données de rétroaction
Les compilateurs traditionnels sont conçus pour des environnements statiques et ne peuvent pas gérer les exigences d'adaptation en temps réel des systèmes pilotés par l'IA
Nécessité d'une nouvelle infrastructure de compilation pour soutenir la transformation des intentions en FMware optimisé
Réaliser un véritable développement piloté par l'intention, permettant aux développeurs de se concentrer sur le « quoi » plutôt que le « comment »
Proposition de l'architecture Compiler.next : Un cadre de compilateur basé sur la recherche capable de compiler les intentions humaines en FMware optimisé
Définition de la représentation des programmes FMware : Combinaisons modulaires incluant Promptware et Agentware
Conception d'un mécanisme d'optimisation multi-objectifs : Optimisation simultanée de la précision, de la latence et du coût et autres objectifs concurrents
Établissement de 10 appels à l'action : Fournir une feuille de route systématique pour le développement des compilateurs SE 3.0
Implémentation d'une preuve de concept : Validation de la faisabilité du système sur l'indice de référence HumanEval-Plus
Fourniture d'un mécanisme de cache sémantique : Amélioration significative de l'efficacité de la compilation et réduction des coûts
Entrée : Intention écrite par l'homme (description en langage naturel des exigences logicielles)
Sortie : Programme FMware optimisé (contenant des modèles d'invite, des configurations d'architecture cognitive, des paramètres système, etc.)
Contraintes : Optimisation multi-objectifs (compromis entre précision, latence et coût)
Optimisation Pareto multi-objectifs : Utilisation de l'algorithme NSGA-II pour optimiser simultanément les objectifs concurrents, plutôt qu'une simple combinaison pondérée
Mécanisme de cache sémantique : Cache basé sur la similarité d'intégration, équilibrant la vitesse de compilation et l'exploration de l'espace de recherche
Séparation des préoccupations : Séparation entre l'intention (ce qui doit être réalisé) et l'implémentation (invites optimisées et configuration)
Architecture composable : Prend en charge l'optimisation conjointe de plusieurs composants FMware interdépendants
L'implémentation actuelle se concentre principalement sur les composants Promptware uniques : L'optimisation de FMware complexes multi-composants nécessite des recherches supplémentaires
Dépendance aux étiquettes de référence : Nécessite des ensembles de données d'évaluation de haute qualité, ce qui peut limiter l'applicabilité
Défis de reproductibilité : Le comportement non-déterministe des FM rend la compilation entièrement reproductible difficile
Explosion de l'espace de recherche : Avec l'augmentation du nombre de composants, l'espace de recherche peut devenir difficile à gérer
L'article contient 94 références couvrant plusieurs domaines tels que l'ingénierie logicielle, l'apprentissage automatique, la conception de compilateurs et les algorithmes de recherche, fournissant une base théorique solide pour la recherche.
Évaluation globale : Cet article est un excellent travail avant-gardiste et systématique qui non seulement propose une solution technique innovante, mais fournit également une vision claire et une feuille de route pour le développement futur de l'ingénierie logicielle. Bien que certains aspects nécessitent un perfectionnement supplémentaire, ses idées fondamentales et sa conception de cadre ouvrent de nouvelles possibilités pour la pratique de l'ingénierie logicielle à l'ère de l'IA.