Перейти к основному содержимому

Недели работы выполнены за 20 минут: создатель Redis объявил, что эпоха ручного написания кода завершена

Недели работы выполнены за 20 минут: создатель Redis объявил, что эпоха ручного написания кода завершена

Автор данной статьи, antirez, — создатель знаменитой оперативной базы данных Redis. Его программное обеспечение обеспечивает операции десятков миллионов компаний по всему миру. antirez был скептиком в отношении ИИ — он даже написал роман, выражающий его опасения по поводу замены людей ИИ-автоматизацией. Однако его недавний опыт доказал, что реальность программирования изменилась навсегда. В тестах antirez Claude Code продемонстрировал эффективность, определяющую новую эпоху. Он способен написать 700 строк строгого высокопроизводительного C-кода за 5 минут. Он автономно итерирует для воспроизведения и исправления крайне коварных deadlock-ов и тайминговых дефектов в Redis. Даже сложная внутренняя реорганизация Redis Streams заняла всего 20 минут. antirez убеждён, что современным программистам следует перестать зацикливаться на построчном наборе кода, ибо в большинстве случаев это уже не рациональный выбор. Он предлагает каждому научиться быть выдающимся соавтором ИИ, направляя усилия на определение задач и проектирование решений. Он призывает каждого разработчика начать обучение и глубокое использование Claude Code. Как говорит antirez: не упустите шанс формировать будущее, отказываясь принимать реальность. Посвятите несколько недель тестированию новых инструментов и найдите способы многократно повысить свою продуктивность. Чистейшая радость программирования — это создание, а ИИ позволит вам создавать больше, создавать лучше и создавать с большей радостью.

Я люблю писать программное обеспечение — по одной строке за раз. Можно сказать, что вся моя карьера была стремлением к написанию чистого, элегантного, изящного кода. Честно говоря, я не хотел, чтобы ИИ победил в экономическом плане. Мне безразлично, будет ли нынешняя экономическая система разрушена ИИ, — если это приведёт к масштабному перераспределению богатства, я буду даже рад. Однако сознательно притворяться, что реальность не существует, из-за моих взглядов на программирование и общество, было бы предательством собственного разума. Факты есть факты. ИИ изменяет и неизбежно изменит компьютерное программирование.

В 2020 году я уволился с работы, чтобы написать роман. Он был об ИИ, безусловном базовом доходе и обществе, адаптирующемся к автоматизации труда посреди многочисленных трудностей. В конце 2024 года я запустил канал, посвящённый обсуждению ИИ, его применению в задачах программирования и возможных последствиях. Хотя я рано осознал, что эти перемены наступят, я всегда полагал, что у нас в запасе ещё несколько лет до того, как программирование будет по-настоящему преобразовано. Я больше так не считаю. Сегодня, располагая передовыми большими языковыми моделями, можно задать чёткий набор целей и позволить модели выполнить крупные подзадачи — или даже проекты среднего масштаба — практически полностью автономно, при минимальном участии человека. Эффективность зависит от того, какой вид программирования вы практикуете (чем более автономна и текстуально описуема задача, тем лучше — системное программирование здесь весьма показательно), а также от вашей способности ясно продумать задачу и точно сформулировать её для модели. Но в целом теперь очевидно: за исключением случаев, когда вы делаете это исключительно ради удовольствия, ручное написание кода в большинстве проектов более не является наиболее рациональным выбором.

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

Я модифицировал свою библиотеку linenoise для поддержки UTF-8. Я также создал тестовый фреймворк для редактирования строк с симуляцией терминала, отображающей содержимое каждой символьной ячейки. Это было то, что я всегда хотел сделать. Однако трудно было оправдать столь значительные усилия вложенные в небольшой подпроект исключительно для целей тестирования. Теперь вы просто описываете желаемое — и это превращается в код. Ситуация радикально изменилась.

Я устранил перемежающиеся сбои в тестовом наборе Redis. Подобная работа чрезвычайно трудоёмка, связана с координацией таймингов, TCP deadlock-ами и подобными проблемами. Claude Code непрерывно итерировал, уделяя достаточно времени воспроизведению проблемы, инспекции состояния каждого процесса, выяснению происходящего и затем исправлению дефекта.

Вчера мне понадобилась чистая C-библиотека, способная выполнять вывод (inference) с embedding-моделями стиля BERT. Claude Code написал её за 5 минут. Эффективность вывода библиотеки сопоставима с PyTorch, всего примерно на 15% медленнее. Вся библиотека — это 700 строк C-кода. Была даже сгенерирована утилита на Python для конвертации модели GTE-small.

На протяжении последних недель я модифицировал внутренние механизмы Redis Streams. Я написал проектный документ для этой работы. Я передал документ Claude Code, и тот фактически заново проделал всю мою работу примерно за 20 минут. Больше всего времени заняли моё собственное ревью и подтверждение команд.

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

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

Как программист, я хочу создавать открытое ПО сейчас больше, чем когда-либо. Я хочу вернуться к некоторым репозиториям, отложенным из-за нехватки времени, и улучшить их. Я хочу поставить всё на ИИ в собственном рабочем процессе с Redis. Сначала — доработка реализации Vector Sets, затем переход к другим структурам данных, точно так же, как я делаю сейчас с Streams.

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

Что касается того, как программировать. У меня к вам лишь один совет, друг мой. То, во что вы верите как в «правильное дело», невозможно продвинуть отрицанием реальности. Отказ от использования ИИ не послужит ни вам, ни вашей карьере. Внимательно обдумайте это. Серьёзно испытайте новые инструменты. Посвятите этому несколько недель, а не пять небрежных минут лишь для подтверждения того, во что вы уже верите. Найдите способы умножить самого себя. Если подходящий способ не находится сразу — попробуйте снова через несколько месяцев.

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