Писането на код в ерата на изкуствения интелект: Еднократна употреба и край на четенето
Изображение: Svetni.me / ИИ генерирано изображение
Според репортаж на технологичното издание InfoQ [1], масовото навлизане на изкуствения интелект променя фундаментално начина, по който се създава и поддържа софтуер. По време на конференцията QCon London, лекторът Филип Мортимър изрази тезата, че кодът вече се превръща в инструмент за еднократна употреба (disposable code), който се пише от машини и се чете все по-рядко от хора [1].
Този преход налага нова парадигма: вместо софтуерните инженери да прекарват часове в дебъгване и четене на сложен код, те трябва да се фокусират върху дефинирането на намеренията и тестването на крайния резултат. Изкуственият интелект елиминира бариерите в имплементацията, оставяйки на преден план чистата креативност [1].
Изображение: Svetni.me / ИИ генерирана инфографика
Кодът като „само за писане“
Мортимър аргументира, че кодът, генериран от изкуствен интелект, е изключително плътен и труден за четене, сравнявайки го с исторически примери като езика APL и сложните регулярни изрази [1]. Когато кодът е твърде сложен, единственият начин за неговото документиране и разбиране става чрез обширни тестови сценарии. В тази нова реалност тестовете се превръщат в основната надеждна документация за поведението на софтуера.
Следствие от това е концепцията за еднократния код: тъй като редактирането и дебъгването на генерирания код е твърде бавно, често е много по-лесно той да бъде изхвърлен изцяло и генериран отново от нулата. Разработчиците запазват тестовете, но подменят изцяло имплементацията чрез нови инструкции на естествен език [1].
Автоматизирано самолекуване на системи
Човешкият капацитет бързо се превръща в тясно място при прегледа на огромните обеми код, генерирани от ИИ. Решението е автоматизирано ревю на код (adversarial reviews), при което специализиран ИИ агент тества и анализира промените в CI/CD тръбопроводите, използвайки различни подкани и контекст [1].
Освен прегледа на код, Мортимър предлага софтуерът да се възстановява сам чрез съчетаване на агенти и платформи за наблюдаемост [1]:
Агентът следи в реално време алармите и метриките от производствената среда.
Алармите се групират и анализират в определен времеви прозорец.
Системата автоматично генерира заявки за сливане (pull requests), които поправят най-често срещаните дефекти.
В крайна сметка, ролята на разработчиците се трансформира от писачи на синтаксис в оркестратори на намерения, чиято основна задача е творческото решаване на проблеми.
Източници:
[1]: How Code in the Age of Artificial Intelligence Becomes Write-Only and Disposable - InfoQ