GoSuda

AI-нативни методологии за разработка

By gosunuts
views ...

AI и разработчиците

Възприятието на разработчиците към AI е сложно. Това е така, защото AI дава възможност за безпрецедентно увеличение на производителността и придобиване на информация, но в същото време ролята на разработчика се променя фундаментално. Някои предвиждат, че AI ще се развие в AGI и ще замени мнозинството от разработчиците, докато други отхвърлят AI като надценен инструмент и твърдят, че същинската стойност на разработчика остава непроменена. На пръв поглед тези нагласи изглеждат напълно противоположни, но те си приличат поразително по това, че съдят за AI през призмата на съществуващите мисловни модели.

Важното тук обаче не е да се съди или оценява AI. Истинската същност се крие в това как трябва да се промени мисловният модел на разработването, базиран на AI, и как в съответствие с тази промяна да бъдат преструктурирани ролите на разработчиците и организациите. За тази цел методологията за разработване с AI е обобщена в трите стъпки за анализ по-долу.

Разработване, зависимо от AI

Разработването, зависимо от AI, е етап, в който AI се приема за субект на преценка и неговите резултати се възприемат некритично. Разработчиците на този етап възприемат AI като същество, което организира и реализира техните идеи, и в допълнение го приемат като заместител, на който могат да делегират дори преценката и отговорността.

Повърхностно погледнато, този метод изглежда така, сякаш повишава производителността експлозивно. В действителност обаче бързо се натрупват кодове, които не могат да бъдат обяснени и за които не може да се носи отговорност. Когато възникнат проблеми в така създадения код, никой не може да направи уверена преценка за това защо се е стигнало до такава структура или кои избори са били правилни.

На този етап AI произвежда единствено ненадеждни резултати, а разработчикът остава в ролята на потребител на тези резултати. В резултат на това както AI, така и разработчикът се използват по нецелесъобразен начин, без реалният капацитет да се натрупва където и да било.

Разработване с използване на AI

Разработването с използване на AI е етап, който се наблюдава при по-умелите разработчици. На този етап разработчикът възприема AI не като заместител на преценката, а като мощен инструмент за повишаване на производителността. Разработчикът на този етап остава субект на проектирането и крайната преценка, като делегира на AI повтарящи се и ресурсоемки задачи като генериране на код, рефакториране, дебъгване и резюмиране на документация. Този метод значително намалява дела на повтарящите се задачи на разработчика и може драстично да повиши производителността, като същевременно запази доверието.

Въпреки това този метод притежава структурно ограничение, при което контекстът на проектирането и преценката не циркулират. Тъй като посоката на разработване и процесът на преценка остават само в рамките на личните разсъждения на разработчика и не се споделят с AI, AI не успява да натрупа промените и растежа на разработчика. В резултат на това контекстът на проектирането и способността за преценка остават изолирани у разработчика.

Поради това не се формира цикъл на обучение между разработчика и AI, а способността за използване на AI не се развръща отвъд съществуващия капацитет на разработчика. Растежът е присъщ на индивида и с течение на времето пропастта в способностите между разработчиците се разширява. Освен това се разкрива ограничението, че такива способности трудно се натрупват или възпроизвеждат на организационно ниво.

AI-нативно разработване

AI-нативното разработване надхвърля етапите на гласуване на доверие към AI или използването му като инструмент, като означава структура, в която AI е вплетен в структурата на разработване и в процеса на преценка, а AI и хората си взаимодействат и растат взаимно. На този етап AI функционира като участник, който взаимодейства, споделяйки преценката и контекста на разработчика.

Същността на тази структура се състои в това, че AI и разработчикът циркулират в двупосочна, а не еднопосочна връзка. Разработчикът непрекъснато споделя намерението на дизайна и основанията за преценка с AI, а чрез това AI натрупва мисленето на разработчика и организационния контекст. В резултат на това AI надхвърля рамките на обикновен инструмент за обработка на заявки и се развива в посока на предлагане на персонализирани за организацията опции, както и подпомагане и коригиране на преценката на разработчика.

AI-нативното разработване не зависи от уменията или триковете на определен индивид. Ако AI контекстът се запази дори при смяна на членовете, могат да бъдат зададени въпроси от сходна перспектива по същия проблем и да се вземат по-добри решения въз основа на минали избори и причините за тях. Развойният капацитет не принадлежи на индивида, а се натрупва в цялата организация и става възпроизводим.

В крайна сметка целта на AI-нативното разработване не е конкретна архитектура или методология за разработване, а самият процес на разработване, при който преценката и обучението на AI и хората непрекъснато се усъвършенстват. В рамките на тази структура разработчикът и AI не се заменят взаимно. Вместо това те споделят едно и също проблемно пространство и се развиват в отношения, в които заедно създават по-добри преценки и по-стабилни структури.