Будущее разработки ПО, возможно, станет похожим на джаз. Каждый импровизирует, никто не смотрит на ноты.

На прошлой неделе я выпустил Protocollie. Сделал его за 4 дня, используя языки, которых не знаю, и даже не касаясь кода напрямую. Люди без конца спрашивают: «Как это удалось?» Но я даже не уверен, что получится повторить то же самое второй раз.

Мы все придумываем этот процесс на ходу.

Великий эксперимент, который никто не проводит одинаково

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

В последнее время я размышляю об экспертизе: сколько времени нужно, чтобы стать экспертом? Малколм Гладуэлл говорил про 10 000 часов, но он имел в виду скрипки и шахматы — навыки, где правила не меняются каждые две недели. Где мышечная память не становится бесполезной за одну ночь.

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


Работа с такими мощными моделями, как Claude, требует удобной площадки. Чтобы не тратить время на VPN и иметь доступ к нейросетям, я использую BotHub. Там нет проблем с доступом плюс собраны другие полезные модели, сервис просто сводит все возможности в один интерфейс.


Мой текущий эксперимент (пока что)

Я называю всё это «системой», но данное слово предполагало бы, что я её спланировал. На самом деле всё выглядело скорее как накопление. Знаете, как когда на столе скапливаются бумаги и в какой‑то момент это начинает напоминать «систему хранения»?

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

Четыре документа. Не потому, что четыре — оптимально. Просто так получилось, что остановился на указанном числе.

Иногда я думаю: а не играю ли я просто в программиста? Как люди, которые затевают сложные ролевые игры «в дом». «Давайте представим, что этот документ — архитектура! Давайте притворимся, что этот процесс — официальный! Давайте сделаем вид, что мы знаем, что творим!»

Но софт настоящий. Компилируется. Работает. Люди его используют. Так что, может, дело как раз в игре? Может, вся методология — просто коллективное согласие в том, что выдумка работает?

  1. Рабочий процесс (pair_programming.md). Я понял, что повторяю одни и те же шаги, так что попросил Claude записать их. Теперь я следую своим же инструкциям, будто они священный текст (но это не так, просто в первый раз всё сработало и показалось эффективным).

  2. Эскизы проекта (project_plan_{...}.md) — всё нарезано на кусочки по 15–30 минут. Почему? Потому что примерно столько времени проходит, прежде чем Клод забывает, о чём мы говорили десять минут назад. Как золотая рыбка с научной степенью.

  3. Технические соображения (technical_considerations.md) — мои накопившиеся разочарования, превращённые в документацию. Каждый раз, когда у Claude возникали трудности, мы добавляли детали.

  4. Обзор архитектуры (mcp-browser-architecture.md) — начинался как read me: «Итак, вот что, наверное, программа будет делать...»

Экспансия в эпоху ИИ

В то первое воскресенье, когда я работал над Protocollie, я открыл для себя совершенно новый способ работы: заходил в кабинет, смотрел, что Claude уже сделал, по‑быстрому тестировал. Если всё работало — отлично! Коммит и пуш. «Теперь сделай интерфейс подключения к серверу», — говорил я и выходил.

Каждый час я заглядывал обратно. Пять минут на тесты, одна минута на обратную связь: «А можешь сделать так, чтобы он запоминал последний сервер?» — и обратно к своему воскресенью.

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

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

Пропорции будто перевёрнуты с ног на голову. Вход — выход. Усилие — результат. Время — прогресс. Всё ломает мои привычные представления о том, как должна ощущаться работа.

Иногда мне становится совестно, будто я мухлюю. Вот‑вот на Hacker News кто‑нибудь напишет: «Извините, но нельзя разрабатывать ПО так быстро, и уж точно не во время приготовления блинчиков. Вернитесь к своему привычному положению: борьбе и страданиям».

Показания из мира спагетти

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

Нет. Я имею в виду именно кидание спагетти в стены. Прилипнет или нет — неважно. Важно именно бросать.

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

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

А вообще, что такое программирование?

Я программирую достаточно давно, чтобы помнить времена, когда мы вручную создавали HTML‑таблицы. Когда CSS был просто советом, а не образом жизни. Когда JavaScript использовали только для эффектов наводки мыши и ничего больше.

На каждом этапе мы абстрагировали работу прошлого этапа. Ассемблер превратился в C. C превратился в Java. Java — в Ruby. Мы сейчас у отметки «Я описываю, что хочу, — и оно появляется». Но это что‑то большее, чем ещё один уровень абстракции, совершенно другое и странное.

Когда я оглядываюсь на свои документы, то понимаю, что они вовсе не о коде — они о памяти и забывании, о том, что важно сохранить, а что можно воссоздать заново:

  • Рабочий процесс на самом деле не процесс, а вот что: «Какие повторяющиеся шаблоны удалось выявить и чего не хочется терять?»

  • Эскизы проекта — это не планирование, а «Как двигаться вперёд, если всё начнётся с нуля?».

  • Технические соображения — вовсе не инструкции. Это «Что бы меня вывело из себя, если бы пришлось проделывать заново?»

  • Обзор архитектуры — совсем не про архитектуру, а скорее «Что я бы захотел узнать, если бы потерял память?»

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

Неуютное плато

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

Для кого‑то это ужасно, а для кого‑то — освобождающе. Всё зависит от того, насколько вы стремитесь контролировать происходящее.

Куда всё движется?

Я не знаю, что буду создавать на следующей неделе, какой процесс выберу, какие документы сочиню или отвергну, будет ли всё вообще иметь смысл.

Раньше эта неопределённость меня пугала — сейчас же мы живём в моменте, когда каждый разработчик одновременно эксперт и полный новичок (в том, что только предстоит). Когда четыре дня работы дают результаты, которые раньше занимали месяцы. Когда главный навык — это умение объяснить, чего ты хочешь, чему‑то, что пишет быстрее, чем ты думаешь.

Моя система из четырёх документов — не руководство к действию, а всего лишь один из множества опытов, которые мы проводим вместе. Они лежат на GitHub — загляните, если хотите!

Комментарии (9)


  1. Kupkupich
    24.07.2025 15:27

    Всё так. Не кодим, а косплеим работу


  1. JuryPol
    24.07.2025 15:27

    Возвращаешься — а там уже десять тысяч строк кода. Пять минут на чтение

    Круто... За 5 минут 10 тыщ строк прочитать - ну-ну...

    Эта ваша поделушка разработки какого-либо реально эксплуатируемого продукта затрагивает? Хотя бы косвенно? Название бы... Чтобы знать.


  1. Dhwtj
    24.07.2025 15:27

    У этого пациента и 5 лет назад было полно шизы в гите. LLM спровоцировал обострение

    Сюда то зачем это тащить?


    1. OldNileCrocodile
      24.07.2025 15:27

      Шершавый Кабан не отпускает, всё ещё обижен на Башку и Ржавого за прессинг брата очкозавра (из даёшь молодёжь).

      А если серьёзно, то это всё свелось из велосипедостроения, в кражу велосипедов. Выше грамматик Ноама Хомского и нормальных алгоритмов Маркова не прыгнули. Просто сейчас вместо того, чтобы пилить новые шаблоны с других шаблонов, мы берём сразу велосипед и кидаем его в ИИ. А ИИ берёт и применяет по статистике подходящее правило, превращая "спаггети" => "мамины спаггети".


  1. dmitriy_gertner
    24.07.2025 15:27

    10000 спагетти кода, все что нужно знать об этом


  1. fnlnz
    24.07.2025 15:27

    Человеки всея планеты объединяйтесь!

    Пока не поздно ..


  1. kenomimi
    24.07.2025 15:27

    Еще немного и ваха будет с нами: помолись Богу-Машине особым образом, и она, может быть, даст то, что тебе нужно.


  1. ToniDoni
    24.07.2025 15:27

    А почему не выложили то что на вайбкодили?


    1. dmitrifriend Автор
      24.07.2025 15:27

      Приложение с закрытым кодом, доступен лишь DMG-бинарник для «Мака»: https://www.protocollie.io.