Мой тест на кодирование AI Python: удивительные результаты

Вы знаете, что это наступит.

Вы слышали ворчание.

Вы читали записки и слушали переговоры.

ИИ пишет код.

Поверь мне, я получаю беспокойство. Я также писатель, и я читал рассказы о других писателях, которые используют ИИ, чтобы избавиться от книг со скоростью, по которой человек не может не отставать. Серебряная подкладка, предпринимаемые с ИИ, предпринимаются довольно плохими.

Но как насчет кодирующей стороны вещей?

Я решил проверить Ollama и попросить его написать несколько программ Python, чтобы увидеть, как это ушло.

Я не был впечатлен.

Во -первых, позвольте мне рассказать вам, как я это сделал.

Что я использовал

Начнем с того, что я решил использовать местный экземпляр Ollama с MSTY frontend. Я решил добавить фронт в микс, потому что хотел, чтобы он был максимально эффективным. Хотя использование терминала Ollama довольно простое, MSTY делает некоторые функции более доступными (например, добавление новых моделей и стеков знаний и использование библиотеки подсказок).

Первоначально я решил использовать модель Llama-3.2 для первого раунда тестирования. Я накормил Олламу следующую подсказку:

Напишите приложение Python, которое спрашивает пользователя, сколько кубиков бросают, сколько сторон на каждом кубиках, а затем накатайте кубики, введенный пользователем 1 Напишите приложение Python, которое спрашивает пользователя, сколько кубиков накапливается, сколько сторон. На каждом кости, а затем накатайте кубики, в которые вводился пользователь

Вот код Llama-3.2 Spit: Угадайте, что? Это не сработало. Это выглядело так, как будто он будет функционировать идеально, но потом он застрял в петле, спрашивая, сколько кубиков вы хотели бы катиться?

В коде было несколько очевидных ошибок. Взгляните на строку 49, и это:

first_half = «,» .join ([str(result)[:half_points] Для результатов в результате.split (‘,’)[0:-1]]) 1 first_half = ‘,’ .join ([str(result)[:half_points] Для результатов в результате.split (‘,’)[0:-1]])

Это должно быть:

first_half = «,» .join ([str(result)[:half_points] Для результата result.split (‘,’)[0:-1]]) 1 first_half = ‘,’ .join ([str(result)[:half_points] Для результата result.split (‘,’)[0:-1]])

Вывод Ollama имел результаты. Это довольно глупая ошибка, но она легко исправлена.

Есть еще одна похожая ошибка в строке ниже, которая есть:

second_half = [result[half_points:]для получения результатов.split (‘,’)]1 second_half = [result[half_points:]Для получения результатов.split (‘,’)]

Это должно быть:

second_half = [results[half_points:]для получения результатов.split (‘,’)]1 second_half = [results[half_points:]Для получения результатов.split (‘,’)]

После внесения этих изменений программа наконец -то работает.

Даже тогда, если вы введете большее число, когда спросите, сколько кубиков бросают, ошибка всплывает обратно, только на этот раз сообщает вам, что результаты. Split должен быть Result.split. Угадай, что … это тоже не будет!

Затем я попробовал то же самое с моделью GEMMA2: 2B. Как вы, вероятно, ожидали, сгенерированный код не будет работать. Опять же, это оказалось пойманным в петле, спрашивая, сколько кубиков катиться.

Если я придумываю программу, чтобы просто создать приложение для броска случайных номеров костей, GEMMA2: 2B получит это правильно.

Я вернулся к каждой модели и запускал разные запросы, чтобы он создавал различные приложения Python (различной степени сложности), и обнаружил, что они попадают и проходят. Например, я написал этот запрос для Gemma2: 2b:

Напишите программу Python, которая принимает ввод для выбора одежды пользователей, а затем сообщает, что им следует носить 1 Напишите программу Python, которая принимает вход для выбора одежды пользователей, а затем сообщает, что им следует носить

Вывод этого запроса работал нормально. Затем я запустил один и тот же запрос с моделью Llama 3.2, и созданный он код был совершенно другим, но он также работал.

Вот где все становится раздражающим.

Я добавил модель DeepSeek R1 в MSTY, и каждый раз, когда я запрашивал, ответ казался более длительным обсуждением о том, как писать код. То, что Лама и Джемма потребовали примерно 30 секунд, чтобы выплюнуть, Дипсеек бежал 10 минут и дал мне ничего, что я мог использовать, кроме многословного взад и вперед, который казался таким же случайным, как и руководство.

Что я обнаружил

В конце концов, вот что я обнаружил об использовании ИИ для написания кода:

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

Всякий раз, когда я использовал Ollama и MSTY, чтобы написать программы Python с вышеуказанной тактикой, результаты были намного лучше, чем погружение в нечто более сложное. Другой вывод — это то, что разные модели лучше подходят для этой цели. Например, пропустите прямо мимо DeepSeek и используйте одну из моделей QWEN (такую ​​как QWEN2.5 Coder). Когда я попытался провести тот же эксперимент, используя QWEN2.5 Coder LLM, все было немного более предсказуемым. Почти каждый раз, когда я использовал эту модель, результаты работали. Более того, созданный код был гораздо менее сложным, поэтому его было легче читать и отлаживать (когда это необходимо).

Другое дело не для того, чтобы ожидать идеальных результатов. Вам придется настраивать вещи и даже попробовать разные модели. Я даже столкнулся с проблемами с танком MSTY, что помогло мне сделать этот простой вывод:

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

Я был на самом деле взволнован тем, что написал эту часть, потому что я проверил Ollama и MSTY с некоторыми довольно основными приложениями, и она отлично выполнялась. Однако, когда все стало сложнее, ИИ подвел меня.

В конце концов, помните эти ключевые вещи:

Выберите правильную модель. Начните с простого. Проверить код. Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Джек Уоллен-это то, что происходит, когда генеральный разум с умом с современным Snark. Джек — искатель истины и писатель слов с квантовым механическим карандашом и разрозненным ударом звука и души. Хотя он проживает … читайте больше от Джека Валлена

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *