ИИ агенти рефакторираха 300 000 реда C код за три седмици: Емпирично изследване на CodeScene

Снимка: InfoQ / CodeScene Research
Компанията за анализ на софтуерни кодови бази CodeScene публикува детайлно емпирично изследване, при което автономни софтуерни агенти са рефакторирали над 300 000 реда наследен C код за период от три седмици [1]. Експериментът е струвал приблизително 4 000 долара в изразходвани токени и е използвал специализирана тестова система за възпроизвеждане кадър по кадър (frame-by-frame replay harness) за валидация на резултатите [1].

Инфографика: Светни.ме
Методология на експеримента и технически резултати
В рамките на проекта автономните агенти първоначално са изградили специализирано локално ръководство (playbook) с архитектурни правила, извлечени от кодовата база, след което са пристъпили към поетапно рефакториране на отделни модули [1]. Всяка промяна е преминавала през строг набор от регресионни тестове преди да бъде интегрирана, а при откриване на несъответствие системата автоматично е връщала промените назад [1].
Анализът на CodeScene показва категорично подобрение в класическите метрики за качество на кода: цикломатичната сложност на най-тежките функции е намаляла значително, премахнати са хиляди редове неизползван код и са унифицирани стиловете за обработка на системни грешки [1].
Въпреки инженерния успех обаче, изследването предизвика разгорещени дискусии сред софтуерните инженери [1]. Практикуващите програмисти отбелязват, че проверката на стотици генерирани pull requests е предизвикала силно когнитивно изтощение у хората одитори, а в някои гранични случаи са наблюдавани фини семантични отклонения, които са останали незабелязани от автоматизираните тестове [1].
Когнитивният данък на автоматизираното инженерство: Между високата производителност и загубата на архитектурен контрол
Резултатите от опита на CodeScene илюстрират фундаменталния парадокс на съвременното ИИ програмиране. Способността за пренаписване на стотици хиляди редове код срещу нищожна финансова сума създава илюзия за безкрайна продуктивност, но в действителност измества тесното място от писането на код към неговата верификация и разбиране.
Когато човек софтуерен инженер прекарва седмици в рефакториране на система, той изгражда подробен ментален модел за нейните зависимости, скрити компромиси и поведение при гранични натоварвания. Когато същата задача бъде делегирана на агенти, този когнитивен контекст се губи. Екипът остава с код, който формално покрива съществуващите тестове, но чиято вътрешна логика вече не е интуитивно позната на нито един жив член на организацията.
Това явление, определяно като „когнитивен данък“, заплашва да увеличи дългосрочния архитектурен дълг на компаниите. Ако никой не разбира цялостната система в детайли, всяка бъдеща промяна или отстраняване на критичен бъг ще изисква повторно наемане на агенти за анализ, създавайки пълна институционална зависимост от изкуствения интелект.