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: Поисковый компилятор для поддержки AI-ориентированного будущего разработки программного обеспечения
В данной статье предлагается Compiler.next — поисковый компилятор, предназначенный для поддержки AI-ориентированных программных систем эпохи Software Engineering 3.0. В отличие от традиционных статических компиляторов, Compiler.next принимает намерения, написанные человеком, и автоматически генерирует работающее программное обеспечение путём поиска оптимальных решений. Этот процесс включает динамическую оптимизацию когнитивной архитектуры и её компонентов (таких как подсказки, конфигурация базовых моделей и системные параметры), одновременно находя оптимальный компромисс между несколькими целями: точностью, стоимостью и задержкой. В статье описывается архитектура Compiler.next и позиционируется как краеугольный камень демократизации разработки программного обеспечения путём снижения технических барьеров, обеспечивая масштабируемое, адаптивное и надёжное AI-управляемое программное обеспечение.
Многоцелевая оптимизация Парето: использование алгоритма NSGA-II для одновременной оптимизации конкурирующих целей вместо простого взвешенного комбинирования
Механизм семантического кеширования: кеширование на основе сходства встраиваний, балансирующее скорость компиляции и исследование пространства поиска
Разделение забот: отделение намерения (что реализовать) от реализации (оптимизированные подсказки и конфигурация)
Композиционная архитектура: поддержка совместной оптимизации нескольких взаимозависимых компонентов FMware
Текущая реализация в основном ориентирована на отдельные компоненты Promptware: оптимизация сложных многокомпонентных FMware требует дальнейших исследований
Зависимость от золотых стандартов: требуется высококачественный набор данных оценки, что может ограничить применимость
Вызовы воспроизводимости: недетерминированное поведение FM делает полностью воспроизводимую компиляцию сложной
Взрыв пространства поиска: с увеличением количества компонентов пространство поиска может стать неуправляемым
Статья содержит 94 ссылки, охватывающие важные работы в области разработки ПО, машинного обучения, проектирования компиляторов, алгоритмов поиска и других областей, обеспечивая прочную теоретическую основу для исследования.
Общая оценка: это отличная статья с дальновидным и систематическим подходом, которая не только предлагает инновационное техническое решение, но, что более важно, предоставляет чёткое видение и дорожную карту для будущего развития разработки ПО. Хотя в некоторых аспектах требуется дальнейшее совершенствование, её основные идеи и проектирование структуры открывают новые возможности для практики разработки ПО в эпоху AI.