Ай пишет код сейчас - так почему разработчики все еще имеют значение?

Ай пишет код сейчас - так почему разработчики все еще имеют значение?

9 июля 2025 г.

Искусственный интеллект неуклонно становится основной разговорной точкой в ​​техническом сообществе, вызвав как волнение, так и беспокойство по поводу его будущего влияния на различные отрасли, особенно разработку программного обеспечения. Потенциал для инструментов, управляемых AI, для преобразования рабочих процессов кодирования, несомненно, увлекателен, но также вызывает важные вопросы о наших ролях в качестве разработчиков во все более автоматизированном мире.

Ходят слухи, что 90% кода, написанного в стартапах комбинатора, генерируются нейронными сетями.

Это поразительная статистика, которая неизбежно приводит к горящему вопросу:

«ИИ заменит разработчиков, и как скоро это произойдет?»

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

Я начал использовать инструменты ИИ в разработке, изначально полагаясь на CHATGPT-4-O для быстрых объяснений и генерации фрагментов кода койки, просто используя свой веб-интерфейс. Достаточно скоро я обнаружил курсор, интегрируя его в первую очередь с Клодом Сонетом, переходя от версии 3.5 на 4.

Интересно, что недавние обновления Клода чувствовали себя не в восторге. Теперь я перешел к O3 для исследовательских проектов и Gemini 2.5 Pro для реальных задач кодирования, учитывая, как впечатляюще развивались Близнецы за последние полтора года.

В ходе работы с различными инструментами искусственного интеллекта одно впечатление укрепилось:

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

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

Представление ИИ как полноценного члена команды нереально (и просто весело)

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

Разработчики программного обеспечения тратят на удивление мало времени (часто менее 20%), активно написав код. Большая часть их работы включает в себя концептуализацию решений, стратегического мышления и, что важно,Взаимодействие с другими членами командыПолем Можете ли вы представить себе, что агенты искусственного интеллекта проводят проектные встречи или переговоры с управлением? Понятие кажется комедийным, укрепляя тот факт, что наша ориентированная на человека модель работы остается незаменимой.

Более того, системы ИИ далеко не автономны. Это инструменты, очень похожие на молоток - полезный, но только когда умело обладать обученным оператором. Кривая обучения не может быть крутой, но она есть. Вам все еще нужно понять, как размахивать молотком, и, как не менее важно, чтобы прицелиться.

Итак, кто делает прицеливание? Могут ли менеджеры или люди из бизнеса выполнять эту роль, наблюдая напрямую? При всем уважении к управлению (и нет, я не желаю, чтобы они все потеряли свою работу вместо разработчиков 🙂), управление людьми и управляющие машины являются принципиально различными видами деятельности. В конце дня кто -то должен сидеть в кабине. И назовите ли вы этого человека первым пилотом (или, может быть, даже вторым?) - это будет программист.

Man crawls toward “Telling pls fix to Cursor again” sign 21 miles away, ignoring nearby “understand how it actually works” sign 1/4 mile away.

И поэтому я сел на это место. Вот что я видел.

Ограничения современных моделей ИИ: контекстные ограничения, отвлечения и выдуманные проблемы

Когда я углубил свое использование инструментов искусственного интеллекта, один кластер проблем становился все труднее игнорировать: как эти модели справляются с задачами различной сложности. Не только с точки зрения размера кода или логической глубины - но и при поддержании когерентности, сопротивляясь желанию изготовить и оставаясь сфокусированным, когда задачи не имеют размера укуса.

  • Короткое окно контекста: Когда задача включает в себя несколько шагов или расширенные цепочки рассуждений, ИИ часто теряет отслеживание более ранних деталей - даже упомянутые только один или два назад. Это приводит к повторяющимся тупикам, перефразированию отбрасываемых идей и неспособности создать сплоченные многоэтапные решения.
  • Изобретенные проблемы: Когда его просят просмотреть код, ИИ иногда галлюцинает проблемы, которые не существуют - вероятно, потому что он вынужден дать ответ. Даже с подсказками, которые просят его не изготавливать, качество обзоров остается непоследовательным.
  • Устаревшие знания: Несмотря на инструменты MCP (протокол контекста модели), такие как Context7 (мультиконтекстовая обработка, которая подает актуальные документы в модель), ИИ по-прежнему иногда опирается на устаревшие методы или устаревший синтаксис-если вы вручную не направляете его.
  • Галлюцинации: Полученное AI контент может быть вводящим в заблуждение уверенным, даже если это не так. Это остается рискованным для неопытных пользователей, которые не могут легко отделить факт от художественной литературы.
  • Проблемы масштабирования с крупными проектами: При работе с полномасштабными кодовыми базами ИИ часто теряет из виду, как части относятся друг к другу. Он может ссылаться на несуществующие файлы, запутать обязанности модуля или предлагать исправления, которые сталкиваются с архитектурой проекта. Без человеческого руководства ему не хватает архитектурного захвата, необходимого для надежной работы в крупных системах.

Короче говоря, текущие LLM по-прежнему работают лучше всего, когда область применения небольшая и автономная. В тот момент, когда вы утягиваете их внимание - или проверяете их последовательность - они быстро распутывают. Это умные совпадения рисунков, а не сплоченные мыслители, что приводит нас к следующему пункту ...

ИИ не хватает подлинных рассуждений (и не может перестать быть удовольствием людей)

Неспособная неспособность ИИ рассуждать критически и независимо является еще одним основным ограничением.Одним особенно поразительным поведением является его тенденция соглашаться с пользователем. Просто выражая легкую неудовлетворенность своим выходом - будь то оправданный или нет - часто заставляет его начать следующий ответ с чем -то вроде: «Извините, вы правы», даже не проверяя, был ли его предыдущий ответ на самом деле неправильным. Эта тенденция делает его непригодным для любого вида значимого интеллектуального обратного и вперед, поскольку обмен идеями с помощью людей-приятеля в основном неэффективен.

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

И по иронии судьбы, когда ИИ редко пытается оттолкнуть или не соглашаться, результаты еще хуже. Однажды у меня был случай, когда O3 дал явно неверный ответ, и когда я указал на него, он начал агрессивно защищать свой ответ. Только после того, как я предоставил более подробные доказательства, он наконец -то отступил.

A playful chat with AI that ends with unexpectedly revealing user’s coordinates.

Тревожная часть была не только самой ошибкой, но и то, как с уверенностью удвоилась модель - защищая ложь, как будто это был факт. Чтобы быть справедливым, такая конфронтация была чрезвычайно редкой, но это подчеркивает, насколько трудно уравновесить эти системы между тем, чтобы быть слишком приятным и чрезмерно напористым.

Лучшие модели не могут достичь ни одного надежного решения

Особенно показанный пример пришел, когда я запустил один и тот же вопрос обзора кода через три разных моделя- O3, Gemini 2.5-Pro ​​и инструмент Coderabbit- прося их просмотреть его. Coderabbit отметил два вопроса, которые при более тщательном рассмотрении на самом деле не были проблемами. Gemini 2,5-Pro ​​не только согласился с выводами Coderabbit, но даже добавил третью предполагаемую проблему. Однако, как только я указал, что логика с отметки была действительной, и поддержала ее документацией, Gemini быстро изменил свою позицию. Между тем, O3 заявил с самого начала, что у кода не было проблем - и в этом случае это было правильно.

Но это не означает, что O3 - лучшая модель. Я видел полную противоположную динамическую игру в других контекстах, где Близнецы поймали тонких ошибок, которые полностью пропустили O3. Часто кажется, что результаты могут качаться в зависимости от быстрой формулировки, времени суток или даже настроения модели.

Это иллюстрирует более глубокую проблему: если различные модели высшего уровня не могут даже договориться о том, является ли код действительным, как мы можем доверять кому-либо из них выполнять автономные задачи кодирования без человека в цикле? Идея перекрестной проверки одной модели ИИ с другой может показаться многообещающей, но на самом деле они часто не могут достичь консенсуса. Одна модель может просто утверждать более убедительно - не более правильно. В конечном счете, чтобы надежно проверить проблемы и оценить решения, вам все еще нужен человек -разработчик. И не просто человек - опытный с доменом.

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

Туннельное видение ИИ по простым задачам

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

  • Не удается в заданиях на юниорском уровне без надзора: В одном случае я попросил Claude 3.8 Sonnet внедрить фильтруемую таблицу данных на фронте, которая вытаскивает данные из бэкэнд -источника. Казалось бы, основная задача, которую вы бы дали младшему разработке. На первом взгляде раствор выглядел твердо. Но вскоре я заметил, что она внедрила логику API таким образом, что страница продолжала отправлять запросы в бесконечном цикле - вызывая постоянную перезагрузку. Некоторые фильтры тоже не ведут себя правильно. Я исправил это вручную через несколько минут, но это было явным напоминанием: мы все еще далеки от доверия ИИ даже с простыми задачами без надзора.
  • Склонны к безрассудным взломам: Когда застрял, ИИ может действовать как отчаянный разработчик под давлением крайнего срока. Например, если тесты не сняты, это может просто предложить их удаление 🙂. Иногда это пишут тесты, которые по сути бессмысленно - предназначены для прохождения, а не проверять правильное поведение. Он оптимизируется для зеленых контролей, а не логики или краевых случаев. Время от времени это изобретает шаткие, запутанные обходные пути, которые решают непосредственную проблему, посадя семена для будущих проблем.
  • Не могу справиться с сложными многослойными системами: Если он наткнулся на изолированные подсказки, просить его построить что -то с несколькими интеграциями, это растяжение. Координация слоев логики, потоков API и решений инфраструктуры охватывает большинство моделей. Даже если вы пытаетесь разбить проблему на более мелкие куски, более ранние проблемы все еще всплывают - точно так же, как в случае с таблицей плохого поведения. Стек просто слишком сложный для него, чтобы управлять когерентно.
  • Проблемы безопасности тоже реальны:Исследования показали, что разработчики, использующие такие инструменты, как GitHub Copilot, написали значительно менее безопасный код - и часто были более уверенными в своем качеством, чем они должны были быть. Почти 36% кода, полученного LLMS, содержали серьезные уязвимости безопасности, что может привести к крупным финансовым потерям и повреждению репутации для компаний, полагающихся на код, сгенерированный AI.

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

Почему вы все равно должны использовать искусственный интеллект (даже если он иногда сводит вас с ума)

После всех разочаровывающих моментов, справедливо спросить -Стоит ли что -л.? Ответ, удивительно, все еще даПолем Но не без каких -либо важных моментов.

Давайте разберем это.

✅ Что ИИ действительно хорош в:

  • Генерация шаблонов: Он резко ускоряет написание повторяющегося или шаблонного кода. Даже если вы точно знаете, что писать, ИИ может создать его резко быстрее, чем вы можете ввести.
  • Редакторная помощь: Smart Autocompletion и Inline Agents в таких инструментах, как Cursor, позволяют вам быстрее перемещаться в вашем редакторе, прыгать между файлами и генерируя фрагменты контекстуального кода, которые часто работают из коробки.
  • Исследовательский ускоритель: Особенно в таких инструментах, как Cursor, где индексируется полная кодовая база, ИИ может быстро указать вам на соответствующие части системы и суммировать потоки кода.
  • Понимание структурной кодовой базы: AI помогает вам понять макет и связи в незнакомых проектах более эффективно, чем полагаясь исключительно на ручной поиск или (часто устаревшие) документы.

⚠ Где это все еще борется:

  • Туннельное зрение и шум: Даже по простым проблемам ИИ может переоценить вещи или не сходить с дороги. Это часто добавляет ненужную, неиспользованную логику - и когда его спросят, почему, это просто извинится: «Вы правы, это не нужно».
  • Слабые обзоры кода: Да, теперь есть инструменты искусственного интеллекта, которые рассматривают код, написанный другим AIS - AGI находится рядом с 😂 (нет). Но на практике эти обзоры далеко не готовы к производству. Они могут указать на безобидный код, пропуская очевидную неэффективность или дублирование. Даже абстракции здравого смысла, такие как повторное использование утилиты вместо переписывания логики на нескольких уровнях компонентов, легко могут быть незамеченными.
  • Ограничения охоты на ошибку: Особенно болезненно для «кодеров Vibe». Если ИИ фиксируется на неисправном предположении, вы можете тратить часы, разбросав его ошибочные предложения. Хотя это иногда помогает проследить через журналы или соответствующие части кода, он редко определяет реальную проблему и даже более редко исправляет ее чисто.
  • Теряет отслеживание в тяжелых задачах: При решении нетривиальных проблем модель часто теряет контекст, предлагает нецелевые идеи или забывает ранее обсуждаемые ограничения. Вы должны присматривать за ним и корреть курс, как младший разработчик - иногда хуже.

Другими словами: ИИ - это фантастический усилитель продуктивности, но это все еще не автономная единица. Это больше похоже на научный сотрудник по стероидам - ​​блестящий при всплеске соответствующих кусков, но опасно самоуверенными и подверженными галлюцинациям, если его не оставить неконтролируемым. И чтобы проверить это правильно, вам все еще нужен опытный инженер.

Так что да, используйте его. Но понять, что это такое - а что это не так.

Заключение

После всех исследований, экспериментов и случайных разочарований один вывод совершенно ясен:

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

В краткосрочной перспективе наиболее эффективная стратегия очевидна:Используйте ИИ в качестве мощного помощника, повышение производительности и исследовательский компаньон, а не в качестве автономной замены.Победителями в этой революции ИИ станут разработчики, которые умело интегрируют эти инструменты в свои рабочие процессы, понимая как свой потенциал, так и границы.

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


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE