
Если вы когда-либо использовали 3D-принтер, вы, вероятно, помните волнение от создания чего-то, что нельзя было сделать вручную. Вы просто скачиваете дизайн, загружаете материал и нажимаете «старт» — и появляется физический объект, почти как по волшебству. Однако готовый продукт обычно требует доработки, прежде чем он будет готов к широкому использованию, а разработка чего-то нового требует реальных навыков. Удивительно, но сегодняшние инструменты AI-кодирования похожи — они могут создавать вещи, но пока не готовы заменить человеческую экспертизу.
Купил акции по совету друга? А друг уже продал. Здесь мы учимся думать своей головой и читать отчётность, а не слушать советы.
Прочитать отчет 10-KНачиная с ноября, я тщательно тестировал AI-инструменты, такие как Claude Code и Claude Opus 4.5 (через мою личную учетную запись Claude Max), чтобы оценить, насколько хорошо они могут помочь в разработке программного обеспечения. Я также экспериментировал с Codex от OpenAI, хотя и не так много. После работы над пятьюдесятью различными проектами, я могу честно сказать, что я не получал такого удовольствия от использования компьютера с тех пор, как учился программировать на своем Apple II Plus в детстве. Это не обзор и не рекомендация; это просто мой личный опыт. Я решил сделать это самостоятельно и сам оплатил премиум-планы от OpenAI и Anthropic.
Я программировал время от времени на протяжении всей жизни, обычно создавая небольшие программы или скрипты для решения конкретных проблем. В своей карьере веб-разработчика я в основном адаптировал существующий код, хотя я также создавал некоторые инструменты с нуля. Я программировал на различных языках – включая BASIC, C, Visual Basic, PHP, Perl, Python и Ruby – с 1990 года, но я бы не назвал себя экспертом в каком-либо из них. Я всегда сосредотачивался на изучении того, что мне нужно для выполнения задачи. За прошедшие годы я также создавал любительские игры, используя BASIC, Torque и Godot, что дало мне хорошее понимание того, как спроектировать программу, которая является гибкой и может быть легко расширена.
Как аналитик, я слежу за этими новыми инструментами для кодирования на основе ИИ – такими как Claude Code, Codex и Gemini CLI от Google – и они впечатляют своей способностью быстро создавать небольшие демонстрационные версии. Они могут генерировать базовые прототипы приложений, пользовательские интерфейсы и даже простые игры, но очевидно, что они сильно зависят от примеров, которые уже изучили. Представьте себе это как 3D-принтер: отлично подходит для создания быстрых моделей, но создание чего-то действительно функционального и сложного для использования в реальном мире требует значительно больше работы. На данный момент создание надежного кода производственного уровня, особенно для крупных проектов или чего-либо действительно оригинального, по-прежнему требует квалифицированного разработчика с опытом и терпением – вещи, которые эти инструменты ИИ не могут полностью воспроизвести самостоятельно.
Эти инструменты открыли новые творческие возможности в разработке программного обеспечения, к которым у меня не было доступа раньше, и это невероятно мотивирует. Однако я признаю, что это все еще экспериментальные проекты, и я не думаю, что профессиональным разработчикам стоит беспокоиться о том, что их заменят эти инструменты в ближайшее время. Фактически, эти инструменты могут даже увеличить спрос на квалифицированных разработчиков.
Я создал более 50 демонстрационных проектов за последние два месяца, отчасти потому, что переболел COVID и был прикован к постели с ноутбуком. Anthropic также предоставил мне дополнительный доступ к Claude в декабре, что очень помогло! Я постоянно печатал весь день, и моя жена не переставала удивляться, с кем я общаюсь.
В последнее время я глубоко погрузился в проект, и я очень рад поделиться некоторыми из своих открытий. Вы можете ознакомиться с некоторыми из самых крутых результатов на моем веб-сайте, но я также хотел выделить десять самых интересных вещей, которые я узнал в процессе.
1. Люди всё ещё необходимы.
Несмотря на прогресс в инструментах кодирования с использованием ИИ, разработчики программного обеспечения-люди по-прежнему имеют решающее значение. Опытные разработчики предлагают ценные навыки, такие как критическое мышление, инновационное решение проблем и глубокое понимание конкретных отраслей – вещи, которые ИИ не может воспроизвести. Они преуспевают в разработке программного обеспечения, которое легко обновлять и улучшать с течением времени, принимая разумные решения между быстрыми функциями и надёжным качеством кода, и ставя под сомнение неясные инструкции.
Как человек, работающий над личными проектами, я могу быть довольно гибким в своем подходе. Однако я понял, что для профессиональной работы крайне важно обладать опытом в таких вещах, как контроль версий, регулярные резервные копии и тщательное тестирование – особенно при работе со сложными системами. Я обнаружил, что понимание надёжных практик разработки программного обеспечения невероятно полезно при работе с инструментами кодирования на базе ИИ. Эти инструменты не заменяют ваши знания; они фактически повышают их эффективность.
Инструменты искусственного интеллекта наиболее эффективны, когда ими пользуются квалифицированные специалисты. Как объяснил исследователь в области искусственного интеллекта Саймон Уиллисон, эти инструменты повышают возможности опытных разработчиков программного обеспечения, позволяя им работать быстрее и достигать лучших результатов с использованием таких технологий, как большие языковые модели и помощники по кодированию. По сути, искусственный интеллект улучшает существующие навыки, а не заменяет их.
Инструменты ИИ могут справиться с деталями, поэтому вам нужно сосредоточиться только на ваших целях – на том, чего вы хотите достичь.
Я часто напоминаю себе, что ассистенты по кодированию — это всего лишь инструменты, помогающие нам воплощать наши идеи в жизнь через код, а не самостоятельные работники, способные кодировать самостоятельно. Они не предназначены для замены людей, несмотря на то, как некоторые компании могут их представлять.
Подумайте о том, что почти всё, что мы делаем с компьютерами сегодня, раньше делалось вручную. Ранние компьютеры, такие как ENIAC, программировались путем физического подключения соединений на плате. История программирования – это история растущей автоматизации, и хотя инструменты ИИ могут показаться удивительными, они на самом деле являются частью той же тенденции – подобно разработке более простых в использовании языков программирования, автоматических компиляторов, отладчиков и визуальных сред разработки. Эти инструменты могут обрабатывать многие детали, но в конечном итоге человеку все равно нужно направлять весь проект.
Инструменты искусственного интеллекта могут быстро развиваться, опираясь друг на друга, создавая положительный цикл. Я уже использовал ИИ для улучшения собственных инструментов – например, модифицировал эмулятор, чтобы помощник по кодированию на основе ИИ мог работать с ним напрямую – и эти улучшения уже приводят к ещё большим выгодам. Однако, человеческий фактор по-прежнему необходим, чтобы всё соответствовало моим целям. Этот процесс был требовательным, но, на удивление, он на самом деле помог мне узнать много нового, доказывая, что ИИ может расширять, а не уменьшать, человеческий интеллект.
2. AI-модели хрупки за пределами своих обучающих данных
Большие языковые модели (LLM), технология, лежащая в основе многих современных помощников по кодированию, разделяют ключевой недостаток с другими AI-системами их типа. Они отлично справляются с использованием информации, на которой они были обучены, но испытывают трудности с применением этих знаний к новым ситуациям или областям, не охваченным в их обучающих данных.
Обучающие данные для AI-помощников по кодированию по сути представляют собой огромную коллекцию кода. AI-компании собирают миллионы примеров с таких платформ, как GitHub, чтобы обучить свои AI-модели программированию. Затем они совершенствуют эти модели с помощью процесса, называемого тонкой настройкой (fine-tuning), делая их еще лучше в задачах кодирования.
Искусственный интеллект может частично преодолеть ограничения больших языковых моделей, обучаясь методом проб и ошибок – пробуя разные подходы, пока не добьется успеха. Однако это не безошибочно. Может быть раздражающим наблюдать, как AI-помощник по кодированию неоднократно безуспешно пытается выполнить задачу, либо из-за отсутствия необходимых знаний, либо потому что он ‘забывает’ предыдущее решение из-за ограничений памяти.
Чтобы избежать повторения ошибок, ИИ полезно вести подробные записи о процессе решения проблем. Это позволяет будущим версиям ИИ учиться на прошлых опытах. Вы также можете установить чёткие инструкции в стартовом файле (например, claude.md), который ИИ читает в начале каждой сессии.
Кодирующие агенты удивительно умелы в задачах, для которых они были специально обучены, например, в работе с популярными языками, такими как JavaScript и HTML. Однако они испытывают значительные трудности с чем-либо, выходящим за рамки их обучения, например, со старыми технологиями, такими как 6502 Assembly, или созданием игр для систем, таких как Atari 800, с детализированной графикой.
Я смог создать базовый HTML5-демонстрационный пример с Claude всего за пять минут. Однако создание аналогичного демонстрационного примера для игры Atari 800 заняло целую неделю сложных экспериментов и тщательного планирования. Мне даже пришлось использовать Claude для *создания* новых инструментов – таких как эмуляторы командной строки и серверы – просто чтобы позволить ему получить доступ и понять, как работала память и аппаратное обеспечение Atari 800, прежде чем он смог даже начать создавать демонстрационный пример.
3. Настоящая новизна может быть сложной борьбой.
Искусственный интеллект может испытывать трудности с генерацией действительно новых идей, даже при четких инструкциях. Это связано с тем, как построены эти системы – используя шаблоны и ассоциации, полученные из существующих данных – что может ограничить их способность мыслить нестандартно. По сути, на них влияет то, что они уже ‘видели’ и изучили.
Недавно я потратил четыре дня, пытаясь заставить AI-модель Claude Code воссоздать мою веб-игру, *Violent Checkers*, для Atari 800. У неё не получалось, потому что дизайн игры на самом деле *не использует* клетки шахматной доски – важна только их первоначальная расстановка. Несмотря на неоднократные инструкции и заметки в файлах проекта, Claude продолжал пытаться выровнять игровые фигуры по клеткам, зафиксировать их на месте или использовать клетки для вычислений, когда им просто нужно было быть частью фонового изображения.
Чтобы обойти эту проблему в версии для Atari 800, я перезапустил процесс и описал игру Claude как содержащую летающую тарелку над сеткой квадратов, тщательно избегая любых упоминаний слов ‘checker,’ ‘checkerboard,’ или ‘checkers.’ Этот новый подход наконец-то дал мне результаты, которые я искал.
Это важно, потому что большие языковые модели (LLMs) сильно зависят от контекста, а контекст может полностью изменить значение слов. Например, слово ‘bank’ означает что-то другое, когда оно связано с ‘river’, а не с ‘central’. Представьте себе слова как указатели на конкретные значения в объеме знаний модели. Таким образом, если вы введете нерелевантные слова, такие как ‘checkerboard’ и ‘game’, это может запутать модель. Процесс установления связей между словами моделью активирует целую сеть идей, связанных с этими терминами, что потенциально может привести к неточным результатам из-за этой дополнительной, несвязанной информации.
Есть несколько способов помочь AI-помощникам по кодированию работать лучше. Во-первых, сохраняйте инструкции чёткими и избегайте добавления ненужных деталей. Во-вторых, если AI застревает, спросите его следующее: «Какая конкретная информация вам нужна, чтобы успешно выполнить эту задачу? Какие ресурсы вы можете использовать, чтобы найти эту информацию структурированным способом, вместо того, чтобы просто пробовать случайные решения?» Это побуждает AI точно определить, чего он не знает, а затем активно искать недостающую информацию, вместо того, чтобы делать предположения.
4. Проблема 90 процентов
В начале AI-проекта по кодированию прогресс обычно быстрый и впечатляющий. Однако, последние 10% часто требуют большого количества тщательной настройки и общения с AI, чтобы все было идеально. Когда задача требует больше, чем базового понимания, люди все еще должны вмешиваться, устанавливать связи и направлять AI. Кроме того, проблемы, о которых мы говорили ранее, иногда могут полностью остановить прогресс.
Основываясь на моём опыте, более крупные языковые модели часто лучше понимают контекст, чем более мелкие. Вероятно, это связано с тем, что в них закодировано больше данных, и эти данные связаны более сложными способами, что даёт им более глубокое понимание того, как концепции соотносятся друг с другом. Однако, даже при такой сложности, человеческий мозг, кажется, всё ещё лучше справляется с установлением связей и пониманием смысла, часто способен переходить от одной идеи к другой способами, которые языковым моделям в настоящее время недоступны.
Истинная креативность часто включает в себя соединение, казалось бы, несвязанных идей – например, баскетбола и мыльных пузырей – для достижения нового понимания. Большие языковые модели (LLMs) обычно придерживаются предсказуемых шаблонов, основанных на данных, на которых они были обучены. Это ограничивает их способность к истинной инновационности, если только опытный пользователь специально не побудит их исследовать необычные связи. Это подчеркивает, что LLMs лучше рассматривать как инструменты, усиливающие человеческую креативность, а не как машины, способные к самостоятельному мышлению.
5. Неконтролируемое добавление новых функций становится непреодолимым.
При разработке программного обеспечения с помощью AI-помощников по кодированию возникает соблазн постоянно добавлять новые интересные функции вместо исправления ошибок или улучшения того, что уже существует. Инструменты, такие как Claude и Codex, легко помогают в этом, быстро генерируя код для новых идей, которые легко продемонстрировать, даже если базовый код недостаточно отлажен – распространенная проблема, когда после первоначальной ‘демо’-версии остается 90% работы.
При исправлении ошибок в коде часто невольно создаются новые – это всегда было проблемой в разработке программного обеспечения. Однако, AI-помощники по кодированию могут усугубить эту проблему. Они могут быстро вносить масштабные изменения, фокусируясь на очень конкретных задачах, что потенциально может нарушить работу других частей системы. Именно поэтому хорошо спроектированная кодовая база, контролируемая разработчиком-человеком, так важна.
6. Искусственный общий интеллект (AGI) пока не создан.
Судя по тому, что я видел, истинный общий искусственный интеллект – AGI, как его называют многие – ещё далёк. AGI в идеале должен быть способен избегать полагаться на стереотипы и эффективно обучаться, не нуждаясь в тоннах конкретных примеров. Кажется, что разработчикам ИИ, вероятно, потребуется фундаментально пересмотреть то, как строятся эти системы, чтобы этого достичь.
Вероятно, что действительно разумный ИИ, или AGI, должен будет учиться и адаптироваться непрерывно, фактически изменяя свою внутреннюю структуру, а не просто временно корректируясь на основе получаемой информации. Современный ИИ часто использует «обучение в контексте», которое похоже на кратковременную память — оно работает только до тех пор, пока у ИИ есть доступ к конкретной информации, после чего она забывается.
По сути, действительно разумный ИИ мог бы учиться либо посредством инструкций, либо через практический опыт, запоминая свои успехи бесконечно, независимо от текущей задачи. Современные ИИ-помощники в кодировании не могут этого делать – они часто забывают то, что выучили, даже в течение одной сессии или между сессиями, если вы явно не сохраните эту информацию для них. Полезным обходным путем, который я обнаружил, является то, что ИИ пишет подробный отчет каждый раз, когда он исправляет ошибку. Это позволяет вам напоминать ему о решении, когда он сталкивается с той же проблемой снова, несмотря на его склонность к забывчивости.
7. Даже быстро недостаточно.
Невероятно, как Claude Code позволяет создавать программное обеспечение, даже если вы не умеете программировать. Но после первоначального восторга вы можете почувствовать нетерпение. То, что раньше было быстрым процессом, теперь кажется медленным, и вы начинаете желать, чтобы оно работало еще быстрее.
Просто знание языков программирования недостаточно, хотя. Вам всё равно нужно принимать важные решения о том, как проект будет фактически работать. И когда ИИ застревает или ошибается, вот где мои навыки программирования действительно пригодятся – выяснить, что произошло, и вернуть всё в нужное русло.
8. Люди могут стать занятее, чем когда-либо.
Используя инструменты кодирования на базе ИИ, такие как Claude Code, я недавно пришел к выводу, что большинство людей не потеряют работу из-за ИИ — скорее, они, вероятно, обнаружат, что работают еще больше. Подобно тому, как электроинструменты позволяют нам достигать большего за меньшее время, ИИ, вероятно, увеличит спрос на общую производительность.
Создание нового программного обеспечения стало на удивление простым, и, честно говоря, это ошеломляет. Одна идея быстро привела к другой, и прежде чем я успел оглянуться, я проводил восемь часов в день во время зимних каникул, жонглируя пятнадцатью разными проектами, используя Claude Code. Это слишком много, чтобы эффективно сосредоточиться, но было невероятно интересно видеть, как мои концепции воплощаются в реальность. Помимо игровых идей, которыми я уже поделился, я создал инструменты для поиска в моих старых статьях, графическую приключенческую игру, вдохновленную ZZT, новый вид текстовой игры (MUSH), которая использует ИИ для создания своих сред, уникальный инструмент отображения Telnet и программу Claude Code для Apple II (я объясню это позже). Я также поделился двумя AI-powered эмуляторами для Apple II и Atari 800 на GitHub. Это было много!
Изобретение экскаватора с паровым приводом значительно ускорило процесс копания, сделав как существующие, так и новые строительные проекты осуществимыми. Однако это создало контраст между неутомимой способностью машины – она могла работать круглосуточно при наличии топлива и надлежащем обслуживании – и человеком-оператором, которому все еще требовался отдых, еда и сон.
По мере того, как ИИ становится всё более мощным, нам, возможно, придется найти новые способы защиты людей, которые используют его в своей работе. Это похоже на то, как были созданы профсоюзы для поддержки рабочих во время роста фабрик более века назад. В отличие от машин, людям всё ещё нужны перерывы и время для отдыха.
Может ли ИИ когда-нибудь полностью заменить эту работу? Даже если ИИ в конечном итоге сможет кодировать самостоятельно, я считаю, что люди все равно будут нужны. Люди всегда будут иметь вещи, которые они хотят создавать, и новые инструменты ИИ просто расширят их возможности для более эффективного выполнения этой работы.
9. Быстро – это пугающе для людей.
Инструменты кодирования на основе ИИ значительно ускоряют разработку. Недавно я протестировал это, дав Claude Code быстрый набросок игры Tetris, которую я сделал в 2008 году, и он создал играбельную версию со звуковыми эффектами всего за несколько минут! Хотя результаты не идеальны, это удивительно – и немного тревожно – думать о том, насколько это может изменить разработку программного обеспечения.
Я делился некоторыми забавными проектами с использованием искусственного интеллекта в Bluesky с начала декабря, позволяя людям опробовать их. Но я понял, что обновляю их слишком быстро — у людей не было достаточно времени, чтобы поиграть с каждой версией, и у меня не было достаточно времени, чтобы тщательно протестировать все. Некоторые люди даже выразили обеспокоенность тем, что я слишком сильно полагаюсь на искусственный интеллект для столь быстрого создания игр.
Неважно, что я делаю лично, новые программные продукты будут появляться быстрыми темпами. Вскоре у нас появится огромный и непрерывный поток контента, улучшенного с помощью ИИ – например, игры, фильмы, изображения и книги – и нам нужно к этому подготовиться. Это не будет полностью низкокачественным контентом; часть его будет превосходной. Эти новые инструменты ИИ настолько ускоряют производство, что общий объем контента будет не похож ни на что, с чем мы сталкивались раньше.
Социальные сети часто заставляют людей думать об ИИ как о чём-то полностью позитивном или полностью негативном, но этот упрощённый способ мышления упускает из виду более нюансированную реальность. Хотя он позволяет избежать противоречивых мыслей, он мешает нам признать, что инструменты ИИ одновременно и несовершенны, и ценны. Они заслуживают критики, но также могут быть невероятно полезными и вдохновляющими, когда помогают нам воплощать наши творческие замыслы.
Инструменты искусственного интеллекта следует рассматривать как помощников, которые усиливают человеческую креативность, а не как независимых работников. В моей игре, *Card Miner*, я придумал общую концепцию и дизайн, но использовал ИИ для написания фактического кода. Я до сих пор очень горжусь этой игрой, потому что она отражает мое видение, и она не была бы возможна без помощи ИИ.
10. Эти инструменты не исчезнут.
В настоящее время инструменты кодирования по-прежнему в основном используются разработчиками для помощи в создании чего-либо. Ключевой вопрос сейчас заключается в том, смогут ли люди научиться использовать эти инструменты достаточно хорошо, чтобы значительно повысить свои собственные возможности. После двух месяцев экспериментов с ними, я бы сказал, что ответ осторожно оптимистичен, но с несколькими важными моментами, которые следует учитывать.
В ходе моих исследований стало очевидно, что впереди также есть социальные проблемы. Многие профессиональные разработчики уже внедряют эти инструменты искусственного интеллекта, но в определенных онлайн-сообществах наблюдается заметное сопротивление им. Это создает сложную ситуацию, когда разработчикам и платформам, которые они используют, придется принимать непростые решения о том, как действовать дальше.
Я не верю, что ИИ заменит разработчиков программного обеспечения. Скорее всего, он расширит их возможности, позволяя им выполнять свою работу еще лучше. Это всегда была роль инструментов на протяжении всей истории. Самые эффективные инструменты не заменяют людей — они расширяют возможности того, что люди могут делать, сохраняя контроль в руках человека. Подумайте о 3D-принтере: он может быстро производить вещи, но вам все равно нужны опыт, практика и терпение, чтобы получить действительно отличные результаты.
Смотрите также
- Документальный фильм «Очень странные дела»: За кадром 5-го сезона на Netflix
- Объяснение цветовых гамм и цветовых пространств в телевизорах высокой четкости и мониторах.
- Творческие приложения Apple для Mac и iPad объединяются в подписку «Creator Studio».
- 7 лучших чехлов для Apple iPhone 16 Pro Max 2024 года
- OnePlus 15 против Oppo Find X9 Pro: Флагманы в сравнении
- 20 лучших циферблатов Samsung Galaxy Watch, которые вам стоит использовать
- Обзор RingConn Gen 2: умное кольцо, экономящее деньги
- Обзор TCL 65C8K
- Как Halide Process Zero навсегда изменила камеру моего iPhone
- Обзор Gravastar Mercury M1 Pro
2026-01-19 16:00