GoSuda

Методология за разработка, роден за ИИ: двупосочна циркулация на контекста отвъд използването на инструменти

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