Рубрика «генерация кода»

Нет, ваша генеративная модель меня не заменит - 1

Введение

За последние три недели я устранил пару проблем с производительностью, что потенциально сэкономило компании несколько сотен тысяч долларов (я подрядчик, поэтому, к сожалению, не получаю никаких премий).

Читать полностью »

Могут ли LLM писать более качественный код, если их об этом просто попросить? - 1


В ноябре 2023 года, когда OpenAI добавила в ChatGPT возможность генерации изображений DALL-E 3 через веб-интерфейс ChatGPT, на короткое время возник мем: пользователи отправляли LLM базовое изображение и несколько раз просили «сделать его более X», где X могло быть чем угодно.

Примеры

Могут ли LLM писать более качественный код, если их об этом просто попросить? - 2

Обычный парень становится всё более «бро».

Могут ли LLM писать более качественный код, если их об этом просто попросить? - 3

Санта становится всё более «серьёзным».

Тренд быстро сошёл на нет, потому что все эти изображения были очень похожими и скучными; к тому же они необъяснимым образом все сводились к чему-то космическому, вне зависимости от исходного изображения и промта. Тем не менее, этот тренд достаточно любопытен с научной точки зрения тем, что столь бессмысленный и нечёткий промт каким-то образом влияет на конечное изображение, и что это изменение очевидно для пользователя.

А что будет, если я попробую похожий способ с кодом? Сгенерированный LLM код вряд ли будет мусорным (хоть это и возможно), поскольку он следует строгим правилам, и в отличие, например, от изображений, его качество можно измерить объективнее.

Если код в самом деле можно улучшить, просто при помощи интерактивного промтинга, попросив LLM «написать код получше» (хоть это и очень глупо), то это приведёт к огромному росту продуктивности. А если это так, то что произойдёт, если таких итераций с кодом будет слишком много? Каким станет эквивалент «космического» кода? Есть только один способ это выяснить!Читать полностью »

Сгенерированный ИИ код сделает вас плохим программистом - 1


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

Для начала уточню, что под использованием сгенерированного ИИ кода я подразумеваю ситуацию, когда ИИ пишет код за вас, а не когда вы используете ИИ как инструмент обучения, чтобы лучше познать тонкости языков программирования и библиотек (по этому поводу у меня тоже есть своё мнение). Но если вы когда-нибудь применяли эти инструменты для того, чтобы ИИ писал код на основании имён методов или комментариев с нечётко описанной функциональностью, или вы используете ИИ для изучения и понимания собственной кодовой базы, чтобы не делать этого самостоятельно, то эта статья — про для вас.Читать полностью »

Я работал над созданием инструмента под названием rustsn, который позволяет генерировать, компилировать и тестировать код с использованием LLM (Large Language Models). Изначально идея заключалась в том, чтобы автоматизировать процесс написания небольших фрагментов кода — так называемых сниппетов — для разных языков программирования на основе объяснений, предоставленных пользователем. Этот инструмент стал развиваться и обрастать новыми возможностями, такими как генерация полного кода для приложений и объяснение существующего кода на основе векторных представлений (эмбеддингов).

Когда я только начинал работу над Читать полностью »

На днях мне потребовалось написать решение задачи поиска максимально возрастающей последовательности цифр на C.

Однако я решил что решать эту задачу привычным методом будет скучно и я решил слегка усложнить себе задачу, чтобы поинтереснее было. Так и появилась идея написать этот код на brainfuck, а на C интерпретатор для него.

Естественно делать это голыми руками будет больно и не приятно, поэтому я решил написать генератор brainfuck кода на Java.

Немного про сам Brainfuck

Читать полностью »

Добрый день, уважаемый читатель ! Меня зовут Вартанян Артур, и я являюсь Java-разработчиком в компании “Рексофт”. Совсем недавно мне под руку попался плагин, который помогает генерировать код при написании программ - это JPA Buddy. В этой статье я не буду транслировать официальную документацию проекта или показывать на примере видеороликов, как нужно с ним работать, а приведу примеры своих рабочих кейсов, где плагин действительно выручил и сэкономил мое время. Спойлер: в создании POJO-классов, репозиториев для тучи сущностей, DTO-классов.

Читать полностью »

Иногда мы пишем SQL-запросы, мало задумываясь над тем фактом, что сначала они должны быть по сети как-то доставлены до сервера, а затем их результат - обратно в клиентское приложение. Если при этом на пути до сервера присутствует еще и пулер соединений типа pgbouncer, дополнительно "перекладывающий" байты между входящими и исходящими коннектами, ситуация становится еще тяжелее...

Поэтому сегодня рассмотрим некоторые типичные ситуации, в которых разработчики иногда принимают не самые оптимальные решения, гоняя по сети мегабайты трафика при общении с сервером PostgreSQL - а заодно посмотрим, Читать полностью »

В предыдущей статье про модельно ориентированное проектирование было показано, что не все методики одинаково полезны. И объясняется как делать правильно, что бы не было потом мучительно больно. Но в конце статье был поставлен вопрос, провокационный как Шарон Стоун на допросе у следователей:
Модельно ориентированное проектирование это конечно хорошо, но как доказать, что модель соответствует объекту? Какие ваши доказательства?
Модельно ориентированное проектирование. Электропривод с бесколлекторным двигателем постоянного тока - 1
Общий ответ на данный вопрос еще готовится, но про частный зато реальный и свежий пример могу привести прямо сейчас. Оказался тут у меня в руках, как всегда случайно, текст от ведущего специалиста нашей страны по электроприводу Калачева Юрия Николаевича, вместе с его любезным согласием на публикацию. Данный текст еще готовится к публикации в специализированных издания, но читатели хабра увидят его первые.
Далее под катом
Калачев Ю. Н., Ланцев В.Ю., Окулов Е.В.
Электропривод с бесколлекторным двигателем постоянного тока
(практика применения моделирования и кодогенерации в АО «Аэроэлектромаш»)

Читать полностью »

Объектно-ориентированное программирование (ООП) – концепция, которая призвана облегчить разработку сложных систем, за счет введения новых понятий, более приближенных к реальному миру, чем функциональные и процедурные языки программирования. Как пишет википедия, «Обычный человеческий язык в целом отражает идеологию ООП, начиная с инкапсуляции представления о предмете в виде его имени и заканчивая полиморфизмом использования слова в переносном смысле, что в итоге развивает выражение представления через имя предмета до полноценного понятия – класса.»

Обектно ориентированное програмирование в графических языках - 1

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js