AI Blindspots

Научная отладка

Когда возникает баг, есть два основных подхода к его исправлению. Первый — рандомно пробовать разные штуки на основе интуиции и надеяться на удачу. Второй — систематически проверить свои предположения о том, как работает система, и выяснить, где реальность не совпадает с ожиданиями. Я обычно считаю, что второй подход — научная отладка — в долгосрочной перспективе лучше; даже если потратишь больше времени, уйдешь с лучшим пониманием кодовой базы на будущее.

Non-reasoning модель не будет применять научный метод. Она будет "угадывать", что за фикс нужен, и попробует one-shot. Если в agent loop'е, она может перезапустить test suite, чтобы посмотреть, сработало ли, а потом рандомно пробовать разные вещи, пока не получится (но скорее всего попадет в death loop).

Общий consensus — для дебага надо использовать reasoning модели (обычно люди предпочитают что-то вроде Grok 3 или DeepSeek-R1 для таких задач). Лично я при AI-кодинге все еще держу довольно детальную ментальную модель того, как код должен работать, поэтому считаю разумным пытаться диагностировать проблему самому (не обязательно фиксить — если скажешь модели, что не так, она обычно справляется).

Примеры