Повторяющиеся команды «напиши код лучше» могут ускорить код, сгенерированный AI, в 100 раз. ai.. ai. llm.. ai. llm. Блог компании BotHub.. ai. llm. Блог компании BotHub. искусственный интеллект.. ai. llm. Блог компании BotHub. искусственный интеллект. код.. ai. llm. Блог компании BotHub. искусственный интеллект. код. Машинное обучение.

Простая просьба «напиши код лучше» помогла Sonnet 3.5 создать код, работающий в 100 раз быстрее, чем его первая версия, при этом добавив неожиданные функции, обычно встречающиеся в корпоративном программном обеспечении.

Старший научный сотрудник BuzzFeed Макс Вульф недавно провел эксперимент: что происходит, когда вы неоднократно просите Claude 3.5 «напиши код лучше»? Результаты оказались неожиданными — не только с точки зрения прироста производительности, но и в том, что LLM решил, что означает «лучший».

Повторяющиеся команды «напиши код лучше» могут ускорить код, сгенерированный AI, в 100 раз - 1

Вулф начал с классической задачи программирования: написать код на Python, который находит разницу между самым большим и самым маленьким числами с суммой цифр 30 в одном миллионе случайных чисел от 1 до 100 000. Получив первое решение от Claude,он просто продолжал подсказывать ему «написать лучший код».

Результаты были впечатляющими. Исходный код выполнялся за 657 миллисекунд. К финальной итерации это время сократилось до всего 6 миллисекунд — ускорение в 100 раз. Но это была не единственная неожиданность.

В четвертой и последний раз данного эксперимента Claude спонтанно превратил код во что-то похожее на корпоративное приложение, добавив типичные корпоративные функции без предварительного запроса. Это предполагает, что LLM каким-то образом связал понятие «лучший код» с «корпоративным программным обеспечением» — интересное окно в его обучение.

Разработчик Саймон Уиллисон предлагает объяснение, почему это итеративное улучшение работает: языковые модели, такие как Claude, начинают с чистого листа с каждым новым запросом — они не накапливают знания или память со временем, как это делают люди. Когда их просят «пиши лучший код», Claude получает весь предыдущий разговор в качестве контекста, но анализирует его как незнакомый код, с которым видит впервые.

Это объясняет постоянные улучшения — LLM подходит к коду свежим взглядом каждый раз, не ограничиваясь предыдущими попытками или предвзятыми представлениями о том, что должно быть «правильным» решением.

Когда Вулф попробовал снова с более конкретными запросами, он получил лучшие результаты быстрее, но столкнулся с тонкими ошибками, которые требовали исправлений человеком. Он подчеркивает, что тщательная инженерия запросов оправдывает усилия, и утверждает, что по мере того как модели AI становятся более сложными, точное руководство становится более важным, а не менее.

«Хотя это и контринтуитивно и не очень весело, небольшое количество направляющих запросов, где вы конкретно указываете, что хотите, и даже приводите несколько примеров того, что вам нужно, объективно улучшит результат работы LLM больше, чем усилия, затраченные на составление этих запросов», — пишет Вульф.

В то время как простые контрольные вопросы изначально улучшают качество кода лишь минимально, целенаправленная разработка подсказок приводит к значительному повышению производительности сразу после установки — хотя и с повышенным риском ошибок.

В то время как простые контрольные вопросы изначально улучшают качество кода лишь минимально, целенаправленная разработка подсказок приводит к значительному повышению производительности сразу после установки — хотя и с повышенным риском ошибок.

Интересно, что в обоих экспериментах Claude пропускал оптимизации, которые казались очевидными для человеческих разработчиков, такие как удаление дубликатов или предварительная сортировка чисел. И даже незначительные изменения в формулировке запросов могут радикально повлиять на результат Claude.

Вулф осторожен, чтобы не переоценить возможности AI. Хотя прирост производительности впечатляет, разработчики по-прежнему необходимы для проверки решений и устранения неполадок. Несмотря на то, что некоторые энтузиасты AI могут утверждать обратное, мы еще не достигли эры идеального автоматически генерируемого кода.

«Даже если LLM могут ошибаться, один важный вывод, который я сделал из этих экспериментов, заключается в том, что у них есть интересные идеи и предложения по инструментам, даже если выводимый код нельзя использовать как есть», — пишет Вульф.

Источник

Автор: dilnaz_04

Источник

Rambler's Top100