Categories: Aktualności

Nowa wizja oprogramowania: Naukowcy z MIT proponują modułowe, przejrzyste podejście do ery sztucznej inteligencji

Poruszanie się po złożonym świecie kodowania w erze zdominowanej przez sztuczną inteligencję

As we sail through the era of Artificial Intelligence (AI), coding techniques are undergoing significant transformations. One evident shift comes courtesy of large language models (LLMs). These advanced tools have shown us both the promise and challenges inherent to present-day coding practices. While LLMs are dramatically simplifying how we execute software development, they’re also shining a glaring light on some critical issues in our existing methods—codebases that are muddled, laden with dependencies, and complicated to sustain. Researchers at MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) are facing these issues head-on, pioneering an innovative approach built on a strong foundation of modularity and human-centric design.

Taking the center stage of this innovation are MIT professor Daniel Jackson and PhD scholar Eagon Meng. Their groundbreaking method restructures software around two essential building blocks—’concepts’ and ‘synchronizations’. The former refers to self-contained functionality units (like liking, sharing, or commenting), each possessing its state and behavior. Contrarily, synchronizations are clear-cut rules determining how these concepts interact.

Rewolucja w krajobrazie rozwoju oprogramowania

This bifurcation aims to simplify software, making it more transparent and comprehensible. Developers no longer need to peel back layers of code to understand its workings. Instead, they can view a high-level blueprint of the system structure, facilitated by synchronizations expressed in a domain-specific language (DSL)—a format that’s easily understandable by humans and effortlessly generated by LLMs.

However, in modern software infrastructures, features are seldom self-contained. A simple ‘share’ button logic on any social media platform, for instance, spans across several services—posting, notifications, authentication, and more. This scattered logic makes understanding and modifying features a complex and mistake-prone process. This predicament—coined as ‘feature fragmentation’ by Jackson—is an inherent hurdle in constructing dependable software.

The duo’s fresh approach addresses this issue directly by encapsulating functionality and elucidating the interactions between components. It ensures software is accessible, not just to machines, but humans as well. Concepts mimic real-world phenomena, synchronizations mirror our natural understanding of these phenomena’s interactions. With clearer mappings of these relationships, developers can reason more effectively, and LLMs can tailor code to accurately serve developer intents. This dramatically reduces the risk of hidden bugs.

Korzyści te wykraczają poza samą poprawę czytelności. Dzięki deklaratywności synchronizacje mogą być analizowane, potwierdzane, a nawet generowane automatycznie. Sprzyja to bezpieczniejszym przepływom pracy wspomaganym przez sztuczną inteligencję, w których można pewnie integrować nowe funkcje. Ten sam aspekt można również wykorzystać do skutecznego zarządzania systemami rozproszonymi, kontrolowania współdzielonych baz danych i utrzymywania ostatecznej spójności, przy jednoczesnym zachowaniu integralności architektury.

Ujawnienie innowacyjnego podejścia

W rzeczywistym studium przypadku zespół z powodzeniem zastosował swoje podejście do systemu obejmującego funkcje takie jak polubienia, komentowanie i udostępnianie. Konwencjonalnie funkcje te byłyby rozproszone w wielu usługach. Jednak dzięki modelowi koncepcji i synchronizacji każda funkcja została skonsolidowana w jedną koncepcję z jasno określonymi synchronizacjami, usprawniając interakcje. Nowy system był łatwiejszy do testowania, zrozumienia i modyfikacji. Ponadto typowe kwestie, takie jak obsługa błędów i trwałość danych, zostały rozwiązane za pomocą synchronizacji, a nie replikacji między usługami.

Spojrzenie w przyszłość

Jackson przewiduje, że programiści będą tworzyć aplikacje, wybierając wstępnie zdefiniowane koncepcje i ustawiając synchronizacje - oferując nowy paradygmat programowania wysokiego poziomu, który priorytetowo traktuje ludzkie zrozumienie. Jak słusznie zauważa Thomas Ball, profesor honorowy Uniwersytetu Lancaster, ta transformacyjna zmiana - przy jednoczesnym zapewnieniu większej współpracy między sztuczną inteligencją a ludźmi - zapewnia solidne, godne zaufania podstawy dla przyszłego rozwoju oprogramowania.

Badanie to zawdzięcza swój sukces częściowo inicjatywie Machine Learning Applications (MLA) CSAIL Alliances i jej zwolennikom - British Telecom, Cisco oraz Ernst and Young. Aby uzyskać bardziej szczegółowy wgląd w to rewolucyjne badanie, sprawdź oryginał Artykuł w MIT News.

Max Krawiec

This website uses cookies.