GoSuda

Metodika vývoja natívnych AI aplikácií

By gosunuts
views ...

AI a vývojár

Pohľad vývojára na AI je komplexný. Hoci AI priniesla bezprecedentné zvýšenie produktivity a získavania informácií, zároveň sa radikálne mení úloha vývojára. Niektorí predpovedajú, že AI sa vyvinie do AGI a nahradí väčšinu vývojárov, zatiaľ čo iní AI podceňujú ako preceňovaný nástroj a tvrdia, že inherentná hodnota vývojára zostáva nezmenená. Hoci sa tieto postoje navonok zdajú byť protikladné, sú prekvapivo podobné v tom, že posudzujú AI na základe existujúcich spôsobov myslenia.

Dôležité však nie je posudzovať alebo hodnotiť AI. Skutočná podstata spočíva v tom, ako by sa malo zmeniť myslenie o vývoji s predpokladom AI a ako by sa mali predefinovať úlohy vývojárov a organizácií v súlade s touto zmenou. Za týmto účelom sme zhrnuli metodológiu vývoja AI prostredníctvom trojfázovej analýzy uvedenej nižšie.

Vývoj závislý od AI

Vývoj závislý od AI je fáza, v ktorej sa AI považuje za hlavný subjekt rozhodovania a jej výsledky sa bez kritiky prijímajú. V tejto fáze vývojár vníma AI ako entitu, ktorá organizuje a implementuje jeho nápady, a dokonca ju akceptuje ako náhradu, ktorej možno delegovať rozhodovanie a zodpovednosť.

Tento prístup sa na prvý pohľad zdá, že exponenciálne zvyšuje produktivitu. V skutočnosti sa však rýchlo hromadí kód, ktorý nemožno vysvetliť ani zaň niesť zodpovednosť. Ak nastane problém s takto vytvoreným kódom, nikto nemôže s istotou posúdiť, prečo má takúto štruktúru alebo ktoré rozhodnutie bolo správne.

V tejto fáze AI produkuje len nespoľahlivé výsledky a vývojár zostáva v úlohe spotrebiteľa týchto výsledkov. V dôsledku toho sa AI aj vývojár vyčerpávajúcim spôsobom spotrebúvajú a skutočné kapacity sa nikde nehromadia.

Vývoj s využitím AI

Vývoj s využitím AI je fáza, ktorá sa prejavuje u skúsenejších vývojárov. V tejto fáze vývojár vníma AI nie ako náhradu za rozhodovanie, ale ako silný nástroj na zvýšenie produktivity. Vývojár v tejto fáze zostáva subjektom návrhu a konečného rozhodovania a deleguje opakujúce sa a nákladné úlohy, ako je generovanie kódu, refaktorovanie, ladenie a sumarizácia dokumentov, na AI. Tento prístup môže výrazne znížiť podiel opakujúcich sa úloh vývojára a dramaticky zvýšiť produktivitu pri zachovaní spoľahlivosti.

Tento prístup má však štrukturálne obmedzenie v tom, že kontext návrhu a rozhodovanie sa necyklujú. Keďže smer vývoja a proces rozhodovania zostávajú len v sfére uvažovania vývojára a nie sú zdieľané s AI, AI nedokáže akumulovať zmeny a rast vývojára. V dôsledku toho sú kontext návrhu a schopnosť rozhodovania izolované u vývojára.

V dôsledku toho sa nevytvára cyklus učenia medzi vývojárom a AI a schopnosť využívať AI sa nerozširuje nad rámec existujúcich schopností vývojára. Rast sa pripisuje jednotlivcovi a s časom sa rozširuje rozdiel v schopnostiach medzi vývojármi. Okrem toho sa prejavuje obmedzenie, že takéto schopnosti sa ťažko akumulujú alebo reprodukujú na úrovni organizácie.

AI Native Vývoj

AI Native vývoj presahuje fázu dôverovania AI alebo jej používania ako nástroja a znamená štruktúru, v ktorej sa AI začleňuje do vývojovej štruktúry a procesu rozhodovania a AI a ľudia sa vzájomne ovplyvňujú a spoločne rastú. V tejto fáze AI funguje ako interakčný komponent, ktorý zdieľa rozhodnutia a kontext vývojára.

Kľúčom k tejto štruktúre je, že AI a vývojár cyklujú obojsmerne, nie jednosmerne. Vývojár nepretržite zdieľa zámer návrhu a dôvody rozhodovania s AI a AI prostredníctvom toho akumuluje myslenie vývojára a kontext organizácie. V dôsledku toho sa AI vyvíja nad rámec nástroja, ktorý jednoducho spracúva požiadavky, a navrhuje prispôsobené možnosti pre organizáciu a pomáha a koriguje rozhodnutia vývojára.

AI Native vývoj nezávisí od zručností alebo šikovnosti konkrétneho jednotlivca. Ak sa kontext AI zachová, aj keď sa zmenia členovia, je možné klásť podobné otázky k rovnakému problému a robiť lepšie rozhodnutia na základe minulých volieb a ich dôvodov. Vývojové kapacity sa nepripisujú jednotlivcovi, ale kumulujú sa a sú reprodukovateľné v celej organizácii.

Napokon, AI Native vývoj sa nezameriava na konkrétnu architektúru alebo metodológiu vývoja, ale na samotný vývojový proces, v ktorom sa neustále posilňuje rozhodovanie a učenie AI a človeka. V tejto štruktúre sa vývojár a AI navzájom nenahradzujú. Namiesto toho zdieľajú rovnaký problémový priestor a vyvíjajú sa do vzťahu, v ktorom spoločne vytvárajú lepšie rozhodnutia a robustnejšie štruktúry.