Недавно Макс Вульф, старший ученый для данных в BuzzFeed, провел увлекательный эксперимент, чтобы изучить эффекты улучшения кода, неоднократно запрашивая ИИ. В эксперименте он использовал языковую модель Claude3.5 и предложил классическую задачу программирования: написание кода Python, чтобы найти максимальные и минимальные значения суммы чисел в миллионах случайных чисел.

В первоначальной версии Claude сгенерировал код на уровне 657 миллисекунд. Однако, поскольку Вольф продолжал вводить простую инструкцию «Написать лучший код», полученный код был сокращен до 6 миллисекунд, а производительность была улучшена на полные 100 раз. Этот результат не только привлекателен, но и показывает неожиданные изменения в процессе определения «лучшего кода».
По четвертому запросу «написать лучший код», Клод неожиданно превратил код в структуру, аналогичную предприятию, добавив некоторые типичные объекты предприятия, о которых Woolf не просил. Это говорит о том, что ИИ может связать «лучший код» с «программным обеспечением на уровне предприятия», отражая знания, поглощаемые в процессе обучения.
Разработчик Саймон Уиллисон провел углубленный анализ этого явления итеративного улучшения, полагая, что языковая модель исследует код с совершенно новой точки зрения в каждом новом запросе. Хотя каждый запрос содержит контекст предыдущего разговора, Клод анализирует его так, как будто это был первый раз, когда увидел код, который позволяет его постоянно улучшать.
Тем не менее, Вульф обнаружил в попытке сделать более конкретные запросы, что, хотя это приведет к лучшим результатам быстрее, в коде все еще были некоторые тонкие ошибки, которые нуждались в человеческих исправлениях. Поэтому он подчеркнул, что точная оперативная техника все еще имеет решающее значение. Хотя простые последующие вопросы могут изначально улучшить качество кода, целевые подсказки принесут значительное улучшение производительности, хотя риски также будут соответствующим образом возрастать.
Стоит отметить, что в этом эксперименте Клод пропустил некоторые шаги оптимизации, которые человеческие разработчики принимают как должное, такие как дедупликация или номера сортировки. Кроме того, тонкие изменения в том, как задавать вопросы также значительно повлияют на результат Клода.
Несмотря на эти впечатляющие результаты, Вульф напоминает нам, что человеческие разработчики по -прежнему являются необходимыми в проверке решений и устранении неполадок. Он указал, что, хотя ИИ-сгенерированный код не может быть использован напрямую, его способность к творческим рекомендациям и рекомендациям по инструментам заслуживает внимания.
Ключевые моменты:
ИИ улучшает производительность кода с помощью повторяющихся инструкций, и исходное время выполнения кода упало с 657 миллисекунд до 6 миллисекунд.
ИИ автоматически добавляет корпоративные функции в код, демонстрируя свое уникальное понимание «лучшего кода».
Обратная техника все еще важна, и точные запросы могут ускорить получение результатов, но это все еще требует проверки и ремонта ручными разработчиками.