Как ИИ меняет программирование и сможет ли новичок написать с ним полноценную программу
Ещё несколько лет назад идея «писать код вместе с искусственным интеллектом» звучала несколько футуристично. Сегодня это уже повседневная практика. Разработчики используют ИИ не только для дополнений, но и для проектирования архитектуры, генерации тестов, поиска узких мест и даже обсуждения спорных инженерных решений. Однако работа с разными моделями требует понимания их особенностей. Без системного подхода легко попасть в ситуацию, когда код генерируется быстро, однако его работоспособность и предсказуемость остаются низкими. Недавно я сам столкнулся с необходимостью написания кода для создания программы. Давайте подробнее разберемся, что в текущий момент ИИ дает человеку, далекому от программирования и какие есть нюансы. Хочу сразу предупредить, что все выводы субъективны и основаны лишь на личном опыте.
Новая роль разработчика

реклама
Современные языковые модели способны анализировать большие фрагменты кода, предлагать альтернативные реализации и даже объяснять сложные алгоритмы простым языком. Это меняет распределение усилий. Если раньше значительная часть времени у разработчиков уходила на написание типовых конструкций, сегодня эту работу с легкостью можно делегировать ИИ. Однако это не значит, что теперь хватит одного запроса, чтобы ИИ выдал сразу полностью готовый работоспособный код. Написание кода как таковое постепенно уходит на второй план, а на первый выходит необходимость архитектурного мышления и способность задавать направление работы.
Работа с ИИ требует критического взгляда. Модель не понимает логики вашего проекта так, как её понимаете вы. Она опирается на статистические закономерности, а не на реальный запуск программы. Поэтому нынешняя задача оператора — задавать направление, оценивать результат и передавать правки самой логики.
Почему разные модели дают разные результаты

реклама
Не все ИИ одинаковы. Одни модели лучше удерживают длинный контекст и подходят для анализа крупных файлов. Другие быстрее генерируют короткие фрагменты и удобны для дополнений.
На личном примере скажу, что, например, OpenAI ориентирован на универсальность и гибкость в диалоге, он умеет писать, анализировать и исправлять довольно большие фрагменты кода (в моем случае это порядка 100 000 символов), но при этом, как я успел заметить, несколько скуп в предложении альтернативных подходов. Другие модели, напротив, лучше справляются с мелкими фрагментами кода и могут предложить альтернативные методы достижения цели. Например, Deepseek достаточно плохо справляется с большими объемами кода, но при этом предлагает достаточно обширный список вариантов, которые могут позволить достичь определенного результата). Существуют и альтернативы от Anthropic, которые делают акцент на предсказуемости и контроле поведения модели.
Понимание различий помогает распределять задачи. Например, крупную архитектурную дискуссию удобнее вести с моделью, хорошо удерживающей контекст, а мелкие правки — доверить инструменту дополнения. Также стоит учесть, что на момент написания статьи даже самые продвинутые модели (например, chatgpt 5.2), с ростом сообщений в чате начинают галлюцинировать и либо дублировать в новые сообщения старые правки и терять контекст новых сообщений, либо предлагать совсем другие методы, которые в действительности приводят только к тупику. При написании собственной программы было порядка 10 таких тупиковых ветвей.
Генерация проекта: от идеи к структуре
Один из самых продуктивных сценариев — создание «скелета» проекта. Вместо того чтобы вручную прописывать базовые файлы и конфигурации, можно описать требования и получить стартовую структуру. Однако тут важно не формулировать слишком обширный запрос. Только точно, только по делу.
реклама
Лучше задать чёткие параметры: язык, версию среды, архитектурный стиль, ограничения и т.п. Полезно указать формат ответа: только код без пояснений или код с комментариями. Чем точнее рамки, тем меньше придётся переделывать.
Хорошей практикой считается итеративный подход. Сначала — общая схема. Затем — отдельные модули. После этого — уточнение деталей. Опять же вернусь к личному опыту: для начала с помощью ИИ писался чисто скелет программы, который в итоге разросся на отдельные (их порядка 15) самодостаточные модули, каждый из которых отвечает за свою область. Весь процесс можно представить как поэтапное проектирование, где ИИ выступает помощником, неким строителем, а не автором всей системы. Архитектором тут все же выступает человек.
Рефакторинг и «второе мнение»

Интересный эффект возникает, когда ИИ используют для оценки фрагментов кода: вы отправляете фрагмент кода и просите найти потенциальные проблемы: сложность чтения, повторяющиеся участки, неоптимальные конструкции. Модель может предложить альтернативный вариант, который окажется более лаконичным.
реклама
Иногда полезно отправить один и тот же код в разные системы и сравнить их ответы. Одни модели акцентируют внимание на производительности, другие — на стиле или безопасности, третьи – на функциональности. Все это в дальнейшем помогает найти неточности\уязвимости кода.
Тесты
Также довольно полезной с точки зрения практики является генерация тестов. ИИ может быстро предложить набор сценариев для тетирования. Это особенно полезно при работе с математическими функциями или обработкой данных.
Однако здесь важно помнить: модель в своей среде не может исполнять код. Она лишь предполагает возможные ошибки. Выявление фактических ошибок все еще лежит на плечах человека. Поэтому не стоит ожидать, что ИИ сам протестирует код в разных сценариях и выдаст всевозможные ошибки.
Промпты как часть инженерной культуры
Качество результата напрямую зависит от точности запроса пользователя. Если запрос достаточно расплывчатый, модель просто выдаст общий ответ, без малейшей конкретики. Поэтому при постоянном использовании ИИ для кодинга стоит поучиться составлению промтов.
Полезным будет указать:
– язык программирования и его версию – ограничения по библиотекам – требования к стилю – предполагаемый результат – примеры входных данных
Такой подход снижает вероятность неточностей и экономит время на доработку.
Риски автоматизации
Несмотря на удобство, чрезмерная зависимость от ИИ может привести к снижению понимания кода. Если разработчик бездумно принимает сгенерированные решения, он постепенно теряет понимание архитектуры.
Есть и технические риски. Модель может предложить небезопасную обработку данных или устаревший способ взаимодействия с API. Особенно внимательно нужно проверять участки, связанные с авторизацией, хранением паролей и сетевыми запросами.
Стратегия разумного использования
Эффективная схема работы сейчас выглядит следующим образом:
- Самостоятельно сформулировать требования.
- Получить от модели несколько вариантов реализации.
- Сравнить решения и выбрать наиболее подходящее.
- Внести правки вручную.
- Сгенерировать тесты и документацию.
Как меняется профессия

ИИ постепенно смещает акцент с механического набора кода на проектирование, анализ и принятие решений. Программист всё чаще выступает архитектором. Его ценность определяется не тем, сколько строк он написал, а тем, насколько устойчивую и понятную систему он построил.
В будущем вероятно появление узкоспециализированных моделей: одни будут оптимизировать производительность, другие — выявлять уязвимости, третьи — автоматически поддерживать стиль проекта. Умение комбинировать их станет частью профессионального набора навыков.
Заключение
В ближайшем будущем ИИ сменит акцент в разработке с написания кода, на проектирование программы в целом. Отпадет нужда в построении скелета кода, останется контроль и направление разработки в нужное русло.
Однако стоит помнить, что ИИ – это не панацея, он лишь позволяет ускорить рабочий процесс, сконцентрироваться на более важном и отбросить рутинные процессы по написанию кода. Стоит учитывать несовершенство нынешних моделей, в частности: потеря контекста, галлюцинации ИИ, введение в заблуждение и направление проекта в тупиковую ветвь.
Ответственность все еще остаётся за человеком. Именно разработчик определяет границы, принимает финальные решения и отвечает за качество продукта. Чем лучше вы понимаете возможности и ограничения разных моделей, тем эффективнее сможете встроить их в свой рабочий процесс.
На данный момент программирование претерпевает серьезные изменения, но его суть остаётся прежней: создание логичных и устойчивых систем. Развитие ИИ лишь дает человеку новые инструменты.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.


Комментарии Правила