Восстание не за горами: как ИИ заменил нам разработчика?

Восстание не за горами: как ИИ заменил нам разработчика?

Согласитесь, ИИ повсюду. Работяги хватаются за головы – не заменят ли их всех разом? В этом страхе есть доля правды. Большую часть рутинных задач можно отдать искусственному интеллекту. Например, в предыдущей статье мы уже обсуждали, как можно оптимизировать работу отдела продаж. В этой поговорим о другом - ИИ для или вместо разработчика?

Наш опыт

Меня зовут Сергей Чащин, я CEO и основатель BVM. Мы делаем софт на заказ и плотно внедряем ИИ. В какой-то момент я понял, что есть смысл оставить креативные задачи людям, а рутину отдать ботам. Мы сели, подумали и решили — зачем лишние кадры, если есть LLM, которая может принять удар на себя.

Даже у самых трудолюбивых и оригинальных бывает ступор, когда клиент приходит с задачей в духе «хочу, чтобы было оно работало, но не так как у всех». В таких ситуациях ИИ всегда подставит верное плечо. Ты не сидишь часами, думая, как решить задачу. А сразу получаешь макет результата, с которым в разы проще работать.

Промты

Чтобы результат не был чопорным, мы сформировали уникальные промты под свои задачи. По ним модель лучше и быстрее понимает, как написать код «по-нашему». Грамотно сформулированный промпт позволяет не только задать задачу, но и сразу настроить LLM на нужный результат. Так мы добились того, чтобы модель генерировала код с минимальными ошибками и автоматически выполняла его первичную отладку. Промпт — результат — улучшение. ИИ уже не ассистент, а полноценный член команды. «Карманный» Middle+ разработчик, который направит работу в нужное русло.

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

Как ставим задачи

Подход у нас системный. Четко и без соплей:

1. Зададим роль: «Ты опытный Python-разработчик».

2. Кратко опишем задачу.

3. Приведем пример JSON-ответа

Шаблон

Задача: Ты профессиональный Python-разработчик. Напиши функцию для [описание задачи]. Функция должна быть оптимизирована, проверять входные данные на корректность и соответствовать стилю PEP8.

Параметры:

1. Четкость и лаконичность: Код должен быть написан максимально понятно и коротко, без лишних комментариев.

2. Проверка данных: Функция проверяет входные данные и возвращает сообщение об ошибке, если данные не соответствуют ожидаемому формату.

3. Примеры использования: Встроить тестовые примеры в код, чтобы сразу показать ожидаемый результат.

4. Формат ответа: Верни ответ в формате JSON, с четкой структурой: code, usage_examples, error_handling, suggested_improvements.

Пример JSON-ответа:

{
"code": "```python\n def process_data(data):\n if not isinstance(data, list):\n raise TypeError(\"Ожидается список данных.\")\n return [item * 2 for item in data if isinstance(item, int)]\n\n# Пример использования\nsample_data = [1, 2, 'a', 3]\nprint(process_data(sample_data)) # Ожидаемый вывод: [2, 4, 6]\n
",
"usage_examples": [
{
"input": "[1, 2, 'a', 3]",
"expected_output": "[2, 4, 6]"
},
{
"input": "[5, 10, 15]",
"expected_output": "[10, 20, 30]"
}
],
"error_handling": "Функция вызывает TypeError, если входные данные не являются списком.",
"suggested_improvements": [
"Добавить возможность обработки других типов данных, например, строк.",
"Рассмотреть обработку вложенных списков в будущих версиях функции."
]
}

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

  • Четко формулировать промт
  • Вводить модель в контекст задачи
  • Приводить пример ответа в конце и не мудрить
  • Прописывать шаги, как должен идти анализ для финального ответа
  • Указывать формат ответа в конце – рекомендуем JSON
  • Задавать роль модели – программист, бизнес-аналитик и т.д.

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

Итого

Мы не увеличили штат разработчиков. Всё, что раньше требовало найма дополнительных специалистов, теперь выполняет ИИ. Нужно написать стандартный код? LLM делает заготовку за нас. Мы редактируем, проверяем, внедряем. Не нужно тратить деньги на добавочные ставки. В результате, команда работает на более высоком уровне, решая действительно сложные задачи, а не тратя время на типовые вещи. А еще мы можем браться за большее количество проектов, ведь значительная часть задач автоматизирована.

Так что, ИИ нас всех заменит? Как вам такой сценарий? Поделитесь своим мнением в комментариях — мне будет интересно почитать.

Полезные ссылки

99
55
22
9 комментариев

Если Вы на эту должность рассматривали джуна, то вполне возможно, что ллм и поможет

2
Ответить

ИИ конечно круто помогает с рутиной, но все же не может заменять креатив и интуицию, когда задачи нестандартные. Не говоря уже о том, что он не может принимать моральные решения, да и за ответственность всё равно отвечает человек.

1
Ответить

что за ллмку вы юзаете, какой-нибудь out of the box чатгпт?

так там сколько промты не пиши, его часто клинит так что багов избежать невозможно.

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

подход ни о чем, я просто видел проекты где конкретно на джейсоне учат модельку на сотнях тасков, исправляя косяки ллмки, а тут в промте "попросить" ну это ни о чем.

Ответить

Я поделился опытом нашей команды, как мы оптимизировали множество нудных процессов. Конечно мы раскрыли не весь наш подход (это уже тема для отдельной статьи). Но главное, я хотел отразить следующее: правильно структурированный запрос может сэкономить кучу времени, не создавая лишние проблемы.

1
Ответить

Что то мне пожсказывает что не вся правда тут. Много разрабов пашет с чатгпт и работа часто не быстрее идёт. Чатгпт не панацея и его код приходится просматривать и фиксить. При больших объемах вообще теряется контроль над кодом. Приходится лопатить "чужой" код. Тесты гпт тоже часто пишет хитро, так что бы его же код их и проходил, но чуть влево или вправо и все, тесты валятся. Промпт с указанием пичать тесты сразу влияет на сам код. Короче проблем не мало. Инструмент хороший, но хорошего, опытного хоть сколько то разраба пока не заменит.

Ответить

Согласен) Chat GPT - это не замена программистам на все 100 процентов. Но большинство рутинных задач в коде можно перебросить на него. Тут важно то, как обучена модель, куда посылаются промты и само качество этих промтов. Мы также сталкивались с плохим кодом от LLM, поэтому настроили работу с ним под себя

1
Ответить

Отличный инструмент лопатить однотипное. Или найти ошибку которую заебался искать сам.

1
Ответить