Новая бумага и ручка, новые художники

Когда код становится промежуточным артефактом, кто является автором программного обеспечения?

12 мин

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

Я не написал ни одной строки кода. И не прочитал ни одной.

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

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

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

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

Когда реализация перестанет быть самой дефицитной частью, что станет с человеческим трудом?

Это вопрос данного эссе.

Граница ИИ движется

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

Мой собственный путь также проходил по этой границе. В средней школе и университете я работал над колесными роботами, используя датчики и систему управления с обратной связью, чтобы заставить их следовать по маршруту, избегать препятствий и координировать свои действия. В аспирантуре я изучал компьютерное зрение, а также присоединился к недавно основанной компании SenseTime в качестве одного из первых сотрудников. Я помог внедрить технологии определения живости лиц и промышленного зрения в крупномасштабные приложения, включая смартфоны и высокоскоростные железные дороги. Сегодня универсальные модели фундаментов и агенты, которыми они управляют, снова раздвинули границы. Эти системы больше не решают только отдельные проблемы. Они начинают понимать цели, использовать инструменты и продолжать действовать в ответ на обратную связь; моя работа также была направлена на эти продукты. Оглядываясь назад, можно сказать, что от управления движением и понимания изображений до выполнения целых задач машины берут на себя более длинные и полные цепочки работы.

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

В 2025 году Андрей Карпати использовал термин «вайб-кодинг», чтобы описать свободный стиль программирования: сообщите ИИ, чего вы хотите, примите сгенерированный код, верните ему сообщения об ошибках и даже забудьте о существовании самого кода. [1] Но зайти так далеко можно лишь при одном условии: цена неудачи должна быть низкой. В то время для серьёзных продуктов мы всё ещё использовали Cursor. Разработчики руководили работой и оставались ответственными за код; агент лишь помогал.

К началу 2026 года мы увидели, что граница снова сдвинулась вперед. Позже Карпати назвал новый способ работы «агентной разработкой»: разработчики больше не просто используют ИИ для завершения кода, но организуют и контролируют агентов во время выполнения ими инженерных задач, сохраняя при этом ответственность за проверку и качество. [2] Имя не имеет значения. Важно то, что ИИ переходит от предложений по одному к устойчивым действиям в рамках ограничений.

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

Код становится промежуточным артефактом

История вычислений — это также история добавления уровней абстракции.

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

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

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

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

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

Это меняет то, что нам нужно прояснить.

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

Затем: "Разговоры дешевы. Покажите мне код".

Теперь: "Код стоит дешево. Покажите мне документацию".

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

ИИ не избавляет нас от необходимости думать. Это только усложняет прятать смутные идеи за суетой реализации.

Другая половина «Бумаги и ручки»

В 2025 году Ван Цзянь сравнил ИИ с «новой бумагой и ручкой» человечества: не мыслью как таковой, а продолжением человеческой мысли. [3] Мне нравится эта метафора.

В нем заключена интересная историческая симметрия. В 1948 году Алан Тьюринг представил человека, вооружённого бумагой, карандашом и ластиком, следующего набору правил, поведение которого можно рассматривать как поведение универсальной машины. [4] Затем люди использовали бумагу и карандаш, чтобы объяснить, как человек может моделировать машину. Почти восемьдесят лет спустя направление, похоже, изменилось. Машина становится новой бумагой и ручкой, помогая людям воплощать намерения в миры, которые могут работать.

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

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

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

Меня интересует другая половина «новой бумаги и ручки»:

Если у нас есть новая бумага и ручка, какие художники нам нужны?

Центр создания программного обеспечения перемещается вверх

Идея о том, что программисты — это художники, не нова.

В 1974 году Дональд Кнут объяснил в книге «Компьютерное программирование как искусство», почему программирование требует знаний, навыков и творчества и как оно может создавать прекрасные объекты. [5] В 2003 году Пол Грэм в книге «Хакеры и художники» утверждал, что и хакеры, и художники являются творцами. Для создателей программного обеспечения компьютеры являются средством выражения, точно так же, как краска для художника или бетон для архитектора. [6]

ИИ не впервые делает программистов художниками. Меняется то, где в основном происходит искусство.

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

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

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

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

Это изменение, подразумеваемое «новыми художниками».

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

«Художник» здесь не является более благородным титулом и не обязательно описывает одного человека. Это роль автора, ответственного за всю работу, и команда может поделиться ею.

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

Инженерное дело не исчезнет, а ответственность нельзя будет передать на аутсорсинг

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

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

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

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

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

Мое решение не писать и не читать код — это ограниченная практика, а не правило для всех. Его ценность не в том, что он доказывает, что код устарел. Это помогает мне увидеть, какие части работы все еще нельзя передать, когда код больше не является единственным интерфейсом, через который люди управляют программным обеспечением.

Первое – это осуждение. Второе – это ответственность.

Более мощные инструменты могут также производить посредственность в большем масштабе. Когда реализация станет дешевле, мы можем сначала получить более повторяющееся, сырое программное обеспечение, не отвечающее реальной потребности. Бумага и ручка не производят литературу автоматически. Агенты кодирования не приведут автоматически к возрождению программного обеспечения.

ИИ не устраняет дефицит. Он лишь перемещает его.

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

По мере того, как «как это сделать» становится дешевле, «что делать» становится дороже.

От авторов кода к авторам программного обеспечения

Брет Тейлор процитировал наблюдение Арьи Асеманфар: ИИ может рисовать за вас, но автором по-прежнему остаетесь вы. [7] Адди Османи описал новую роль разработчика как архитектора и главного редактора. [8]

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

Те же изменения происходят и в программном обеспечении.

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

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

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

Прибыли новая бумага и ручка. Но новый ренессанс не последует автоматически. Это зависит не от того, сколько кода могут сгенерировать агенты, а от того, хватит ли у нас рассудительности — и готовности взять на себя ответственность — ответить на вопрос сложнее, чем «как это можно сделать?»

Что стоит создавать и как мы хотим, чтобы люди это испытали?


Ссылки

[1] Андрей Карпати, пост в X о «вайб-кодинге», 2 февраля 2025 г.

[2] Андрей Карпати, пост в X с предложением «агентной инженерии», 4 февраля 2026 г.

[3] Лю Нинсинь, «Ван Цзянь: инновации происходят из “несовершенства” и “пересечения границ”», 21st Century Business Herald, 25 сентября 2025 г.

[4] Алан М. Тьюринг, «Интеллектуальная техника», отчет Национальной физической лаборатории, 1948 год.

[5] Дональд Э. Кнут, «Компьютерное программирование как искусство», Communications of the ACM, 17(12), 1974, стр. 667–673.

[6] Пол Грэм, «Хакеры и художники», май 2003 г.

[7] Брет Тейлор, «ИИ — ваш писатель-призрак, но вы — автор», LinkedIn, 10 февраля 2026 г.

[8] Адди Османи, Beyond Vibe Coding, O’Reilly Media, август 2025 г.