Границите на ИИ и реалността на софтуерното инженерство: Грейди Буч срещу илюзията за последния ред код
В рамките на популярен видео разговор софтуерният инфлуенсър Кент С. Додс интервюира легендарния компютърен учен, съавтор на UML и съосновател на Rational Software Грейди Буч относно бъдещето на разработката [1]. Дискусията е провокирана от есето на Додс „The Last Software Engineer“, в което той излага хипотезата, че изкуственият интелект постепенно ще поеме изцяло имплементацията на системи. Буч категорично отхвърля тази теза, настоявайки за ясно разграничение между простото писане на код с ИИ и цялостната дисциплина на софтуерното инженерство.
Архитектурата и границите на имплементацията
Изображение: Svetni.me / Авторско изображение
Основният аргумент на Буч се основава на факта, че имплементацията е само малка част от жизнения цикъл на един софтуерен продукт. Той дефинира понятието софтуерна архитектура като съвкупност от най-значимите дизайнерски решения, чиято същественост се измерва директно чрез цената на тяхната промяна [1]. Докато писането на код с ИИ може да ускори рутинните задачи, инженерните предизвикателства обхващат управлението на риска, спазването на законовата рамка, икономическите ограничения и организационния мащаб.
Според Буч, критичните системи в сфери като отбраната или данъчните платформи не могат да бъдат оставени на произвола на автоматизирани алгоритми. Грешките там водят до реална загуба на животи или финансов хаос, което налага строг контрол. Инженерът трябва непрекъснато да балансира между статичните хардуерни лимити и динамичните потребителски натоварвания.
Несигурният разказвач: Проблемът с големите езикови модели
Буч споделя своя личен опит от работата с Claude за разработване на скриптове на Python, придобивайки представа за поведението на технологията [1]. Той описва модела като прекалено ентусиазиран младши програмист, който не съзнава собственото си невежество и често генерира опасни за сигурността резултати. В тази връзка компютърният учен определя големите езикови модели (LLM) като „несигурни разказвачи“, които просто навигират в латентни пространства на вероятности.
За разлика от детерминистичните компилатори, които гарантират точно съответствие по твърди правила, LLM произвеждат приближения и са склонни да „конфабулират“ [1]. Поради тази причина кодът, получен чрез писането на код с ИИ, се нуждае от постоянна човешка проверка чрез ревю на код. Това е необходимо за навременното идентифициране на скрити „кодови миризми“ и потенциални уязвимости.
Илюзията за бърз изкуствен общ интелект (AGI)
По отношение на темата за съзнанието и изкуствения общ интелект (AGI), Буч прави важно теоретично уточнение. Макар да споделя виждането, че човешкият ум е изчислим в рамките на физическите закони, по негово мнение сме на поколения разстояние от постигането на реален AGI [1]. Настоящите архитектури на изкуствени невронни мрежи са изключително прости и се оптимизират предимно за архитектурата на съвременните графични процесори (GPU) с цел паралелни изчисления.
Човешкият мозък функционира на базата на импулсни неврони, глиални клетки и сложни химически процеси, които в момента изобщо не се симулират. Буч е бил дългогодишен сътрудник и съмишленик в лабораториите на IBM Research, където е изследвал архитектурата на ума [1]. Той смята големите езикови модели за архитектурен тупик по пътя към AGI, а бъдещето принадлежи на хибридни системи, съчетаващи невронни мрежи и символен ИИ.
Трайните умения на инженера
В края на разговора Буч очертава профила на уменията, които ще останат трайни и незаменими за хората. Вместо разработчиците да се затварят в рамките на единични фронтенд библиотеки, те трябва да развиват безгранично любопитство и широк кръгозор. Буч съветва инженерите да изучават разнообразни архитектури на реални системи, като ядрото на Linux, графичния редактор Mac Paint или изходния код на Wikipedia [1].
Развиването на архитектурен вкус и етична преценка са истински трайните умения за бъдещето. Софтуерното инженерство не може да бъде отделено от това да бъдеш пълноценен човек, тъй като всеки ред код в реалния свят представлява морално и етично решение [1].
Източници: