AI-агенты и будущее разработки
Что реально изменилось в моей работе за этот год, чего агенты пока не могут и что я сказал бы сейчас начинающему инженеру.
Что изменилось, конкретно
Год назад добавление четвёртого языка на этот сайт означало полдня механических правок. Недавно это была одна инструкция и один проход ревью. Это реально меняет то, что может дать рабочий день, и произошло без единого изменения в том, насколько хорошо я понимаю систему.
Дешёвыми стали те части, которые мне никогда не нравились: переименовать понятие везде, протащить новое поле через пять слоёв, написать тот же тест в другой форме. Дорогими остались те, что решают, хорош ли софт вообще.
Узкое место переехало в спецификацию и проверку
Когда кода много, не хватает точного знания, что строить, и умения доказать, что оно существует.
Сейчас я больше времени трачу на точную постановку задачи, чем на код, и больше на проверку поведения в проде, чем на чтение диффа. За последний месяц дважды изменение компилировалось, проходило проверку типов и не делало ничего: сериализатор терял поле, а сгенерированный файл создавался раньше данных, которые ему нужны.
Агент закрыл бы оба тикета как сделанные. Ни один не был сделан.
Что я делаю иначе
Изменения мельче. Дифф, который читается за один заход и проверен в проде до того, как начнётся следующий. Откат, который я реально проверил. Тесты, которые проверяют заметное клиенту поведение, а не детали реализации, льстящие цифре покрытия.
И жёсткое правило про факты: я не позволяю сгенерированному тексту утверждать то, на что не могу показать пальцем. Кейсы на этом сайте собраны из данных, которые уже были, а не придуманы, потому что уверенный абзац о клиенте, которого нет, хуже пустого раздела.
Чего агенты пока не могут
Они не решают, каким должен быть продукт. Они не скажут, что запрошенная фича запутает пользователя или что бизнес-правило неверное. Они не узнают, что число в абзаце ложное, если в репозитории ничто не говорит об обратном.
Ещё они ненадёжны в отказах. Модель сообщит об успехе, потому что операции, которые она видит, прошли, а реальный результат потерялся тремя слоями ниже.
Прогноз, который я готов дать
Думаю, команды разработки разделятся по дисциплине, а не по численности. Команды, у которых уже были тесты, ревью и путь отката, будут двигаться быстрее, чем когда-либо. Команды, которые выпускали на интуиции, будут выпускать больше кода, который не понимают, а падения будут тише и дороже.
Технология не меняет, что такое хорошая инженерия. Она меняет, как быстро приходят последствия.
Что я сказал бы сейчас начинающему инженеру
Учите систему под инструментом. Понимайте запрос, очередь, границу транзакции, деплой. Модель напишет код быстрее вас; важным всё равно останется тот, кто может сказать, почему это неверно.