Tradycyjny Rozwój
- Ludzie piszą kod ręcznie.
- Kontrola deterministyczna już istnieje.
- Wydajność pozostaje ograniczona prędkością człowieka.
Napisane przez człowieka, deterministyczne
Teza strategiczna 01
euphile postrzega rozwój oprogramowania AI jako ewolucję poprzez poziomy kontroli. Ważnym pytaniem jest nie tylko to, ile kodu sztuczna inteligencja może wyprodukować, ale także to, jak deterministyczny, zarządzalny i możliwy do ponownego wykorzystania staje się otaczający system, gdy sztuczna inteligencja przejmuje więcej pracy.
Od tradycyjnego programowania do generowania kodu bliżej maszyny realny postęp nie polega tylko na szybkości. To przesunięcie w stronę większej kontroli, większego determinizmu i silniejszej formalnej dźwigni.
Napisane przez człowieka, deterministyczne
Szybki, sterowany przez sztuczną inteligencję, bardziej kruchy
Sterowanie oparte na sztucznej inteligencji i sprzężeniu zwrotnym
Dźwignia narzędziowa zgodnie z projektem
Produkcja formalna, świadoma domeny
Wymaga innej generacji modeli AI
Co mówi modelka
Na początku ludzie piszą oprogramowanie bezpośrednio. Na wyższych poziomach organizacje wykorzystują sztuczną inteligencję do tworzenia systemów deterministycznych, walidatorów i formalnych interfejsów domenowych. Pomiędzy tymi punktami kluczową zmienną jest poziom niezawodnej kontroli nad produkcją oprogramowania.
Każdy poziom zmienia osobę tworzącą kod, ale ważniejszym pytaniem jest to, co ogranicza, weryfikuje i reguluje tę produkcję.
Autouzupełnianie i sugestie wbudowane pozostają lokalnymi akceleratorami, podczas gdy programista pozostaje za kierownicą. Przydatny, ale jeszcze nie oparty na sztucznej inteligencji.
Testy, lintery, kontrole kompilacji, skany bezpieczeństwa, walidatory i zestawy regresji tworzą deterministyczną pętlę sprzężenia zwrotnego niezbędną do bezpiecznej korekty.
Wspólne ontologie, DSL, kompilatory, generatory i silniki polityk przekształcają ukrytą wiedzę dziedzinową w systemy, które skalują się bardziej niezawodnie niż sama nieformalna interpretacja.
Poziomy kontroli
Sekwencja ta w mniejszym stopniu skupia się na celebrowaniu autonomii samej w sobie, a bardziej na zrozumieniu, gdzie prędkość staje się krucha, gdzie konieczne stają się poręcze i gdzie formalne systemy zaczynają przewyższać nieformalne przepływy pracy związane z kodowaniem.
Bezpośrednimi autorami oprogramowania pozostają ludzie. Przepływ pracy jest w dużej mierze deterministyczny, ale przepustowość jest ograniczona wysiłkiem ręcznym.
Sztuczna inteligencja przyspiesza działania lokalne, takie jak autouzupełnianie, wbudowane sugestie i małe refaktoryzatory, podczas gdy programista pozostaje głównym podmiotem tworzącym kod.
Sztuczna inteligencja staje się głównym podmiotem wytwarzającym kod poprzez kodowanie wibracyjne, autonomiczne pętle, przepływy pracy oparte na planowaniu lub kompleksowe żądania funkcji.
Sztuczna inteligencja nadal pisze dużą część kodu, ale teraz działa w ramach kontrolowanego przepływu pracy, który sprawdza jego pracę i kieruje następną korektą.
Cel przesuwa się z wielokrotnego generowania kodu na generowanie narzędzi, które mogą tworzyć, przekształcać, weryfikować, łatać i testować kod w powtarzalny sposób.
Organizacje formalizują samą domenę i pozwalają GenAI pomóc w projektowaniu i rozwijaniu łańcucha narzędzi wokół tego formalnego modelu.
Z czasem AI może generować artefakty bliższe temu, co maszyny faktycznie wykonują, niż dzisiejszym abstrakcjom zorientowanym na człowieka, takim jak pliki, repozytoria i kod źródłowy kształtowany przez frameworki.
Implikacja strategiczna
euphile uważa, że ewolucja rozwoju oprogramowania opartego na sztucznej inteligencji w coraz większym stopniu polega na proszeniu sztucznej inteligencji o pomoc w budowaniu deterministycznych systemów zapewniających niezawodne tworzenie oprogramowania. Bezpośrednie generowanie kodu nadal ma znaczenie, ale bardziej trwała korzyść wynika z regulowanych przepływów pracy, narzędzi wielokrotnego użytku i formalnych interfejsów domeny. Ponieważ tworzenie tych deterministycznych narzędzi staje się znacznie łatwiejsze, możliwe staje się budowanie znacznie bardziej złożonych systemów z większą pewnością. To z kolei może ostatecznie pozwolić na skupienie się wokół nowej generacji modeli sztucznej inteligencji, które działają znacznie niżej w stosie, bliżej reprezentacji na poziomie maszyny niż dzisiejszych abstrakcji kodu źródłowego zorientowanych na człowieka.