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 не се заместват взаимно. Вместо това те споделят същото проблемно пространство и еволюират във връзка, която заедно създава по-добра преценка и по-стабилна структура.