- BrainTools - https://www.braintools.ru -
TLDR; Разработка ПО в привычном нам виде, сложившаяся в течение десятков лет, уходит в прошлое. БЯМ-ассистенты для программирования фундаментальным образом изменили наше ремесло, и ещё не известно, к добру или к худу.
“Слова — это дёшевка. Покажите мне код.” — Линус Торвальдс, август 2000
Когда создатель Linux Линус Торвальдс отреагировал таким образом на какой-то сложный технический опус о ядре Linux [1], я был несмышлёным и нескладным программистом-подростком, желторотиком на этапе становления. Я учился программировать, занимаясь копипастой найденных в открытом доступе фрагментов кода на Perl и Visual Basic, а в Интернет мы тогда выходили через диалап-модем.
С тех пор эта отповедь Торвальдса была возведена в абсолют в мире программирования. Во времена, когда она была сформулирована, суть её заключалась в том, что легко рассуждать о всевозможных изысках программирования, которые хотелось бы воплотить, или которые гипотетически реализуемы. Но, если как следует не постараться и не воплотить эти выкладки на практике, тем самым их подкрепив, толку от таких разговоров не много. Писать хороший софт и доказывать его ценность стоило большого труда, было затратно и требовало настоящего мастерства.
Даже вооружившись предельно ясным планом разработки программы и в точности зная, как эту задумку реализовать, приходится признать: любой достаточно сложный программный проект — это энергозатратный, кропотливый и длительный труд. Если, конечно, планируется написать код и довести его до такой формы, в которой он будет функционален, надёжен и хотя бы в разумных пределах рассчитан на перспективу. При разработке софта может возникнуть сколько угодно непредвиденных осложнений и закавык, для исправления которых зачастую требуются неосуществимые размены — как технического, так и внешнего характера. Вполне обычна ситуация, когда в течение развития проекта его архитектура успевает измениться несколько раз. Цена простого экспериментирования выросла по такой экспоненте, что значительную долю идей просто не успевают опробовать.
В конце концов, самое серьёзное узкое место — это старые добрые физические и биологические пределы человеческих возможностей, пропускная способность когнитивного аппарата, личное время и ресурсы, а также перспектива неопределённо долго сидеть и собственноручно писать код строка за строкой, пусть даже и имея в голове полную картину происходящего. Тем временем приходилось мысленно жонглировать сущностями и постоянно переключаться от контекста к контексту на просторах воображаемой модели крупных систем. Если же такой работой занимается не одиночка, а коллектив, то в игру вступает разнообразная межличностная координация и коммуникативная динамика. Следовательно, всё это с большим трудом поддаётся прототипированию и опробованию на практике, и речь не только о каких-то грандиозных идеях, но и о вполне простых. Как многим из нас доводилось убедиться, большинство идей обычно записывается в практически бездонный лист ожидания, где они с высокой вероятностью и останутся навсегда. Именно так я и программировал, сделав это ремесло моей повседневной работой, причём, получая от этого удовольствие — занимался разными проектами, от хобби до таких систем, от которых зависит работа миллионов людей. И так примерно 25 лет.
Теперь всё это можно выбросить в окно — и, как обычно, нет худа без добра.
Минуло 25 лет, и всё тот же Линус добавляет в свой хобби-проект фрагмент кода, сгенерированного ИИ, после чего заявляет: «в самом ли деле этот код гораздо лучше, чем я мог бы написать вручную? Да, определённо [2]». А я тем временем уже не юный падаван, а человек, десятки лет отдавший разработке ПО, заработавший себе на этом шрамы и мозоли (как в прямом, так и в переносном смысле). Теперь-то я в состоянии осознать, что проистекает из этого тезиса. Не только поэтому, но и опираясь на собственный объёмистый опыт [3] программирования с привлечением ИИ-агентов, я уверенно заявляю, что разработка ПО в том виде, в котором она существовала в течение нескольких десятилетий, сейчас подходит к концу. Вместе с ней заканчиваются и многие другие вещи.
Со всей ответственностью заявляю, что у этой ситуации есть густой привкус «Конца истории [4]» по Фукуяме, но на всякий случай ещё раз повторю:
Разработка ПО в привычном нам виде, сложившаяся в течение десятков лет, уходит в прошлое.
Мне повезло пожить в этих переходных тепличных условиях, тем временем не только наблюдая головокружительную эволюцию [5] Интернета и всего ландшафта компьютерных программ, но и самому принимая участие в этих процессах. Мы видели, как диалап-модемы сменились выделенками, а те — гигабитными каналами. Мы видели эпоху Basic, Visual Basic 4/5/6 и Delphi; возвышение и упадок cgi-bin; как Altavista сменилась Google; как XMLHttpRequest дал толчок развитию Web 2.0; возвышение и упадок Flash; смерть IE и расцвет Chrome; переход от WAP к Symbian, а далее к Android и приложениям для смартфонов. Мы наблюдали, как был заброшен SourceForge, как повсюду распространился и преуспел FOSS (бесплатное ПО с открытым исходным кодом); git и GitHub; развитие SaaS; переход с ExpertsExchange на StackOverflow. Также мы наблюдали, как вырос мир Linux, сисадмин превратился в девопса, а затем и на-все-руки-опса; как в судьбоносный момент родились одногодки Node.js и MongoDB. За ними пришли микросервисы, и в тот же период размножились «стартапы-единороги», финансируемые за счёт венчурного капитала. Далее предстояло пережить такой стыд как крипта и web3; стремительно затуманились паттерны, широко распространились дерьмофикация и монетизация приватности, внимания [6] и достоинства. Кроме того, превратилось в норму монументальное раздувание кода, остающееся такой нормой и по сей день.
В течение всего этого времени я писал, поддерживал и развёртывал софт одновременно и как разработчик-профессионал, и как FOSS-любитель. Мне доводилось повозиться с бесчисленными языками, фреймворками, инструментами и методологиями. Подростком я считал, что «расстановка отступов в коде — для слабаков» (какой стыд), а тем временем занимался копипастой кода сначала в CVS, потом дозрел до понимания «каждому своё». Но до сих пор я то и дело сжимаю PNG, чтобы выиграть несколько килобайт. Я был любителем, дилетантом, кодоголиком, наслаждался программированием ради программирования и разработкой софта.
А что теперь? Теперь софт разрабатывается не так, как это делалось в былые годы, когда присутствовали все эти верные, ошибочные, хорошие, плохие, лёгкие и сложные элементы. Когда пишешь код с ИИ-ассистентом, весь процесс просто встаёт с ног на голову, и я не думаю, что есть путь назад.
Далее вас ждёт ещё более душещипательный монолог [7].
Если не считать джентльменского набора бесспорных «курсов молодого бойца», нет какого-либо универсального рецепта, соответствующая которому база кода получится хорошей или даже отличной. Стили, идиомы, паттерны, архитектуры — всё это сильно варьируется. Даже такой технический выбор, правильность которого можно объективно доказать, требует идти на практически несогласуемые компромиссы [8]. Исторически для нашего брата-разработчика действовало несколько железных эмпирических правил, по которым можно было быстро оценить софт. При оценке FOSS-проекта, я рассматриваю ряд факторов, среди которых есть как объективные, так и субъективные. Причём, весомость каждого из них в зависимости от контекста отличается. Вот они: возраст проекта; активность фиксации новых коммитов — эпизодическая или бурная; использование фреймворков и зависимостей; насколько систематически организован и прокомментирован код, и не слишком ли он при этом абстрагирован; оброс ли проект сообществом; насколько быстро откликаются те, кто его поддерживает; насколько быстро я могу приступить к работе с проектом, если начну с чистого README; качество и глубина его документации…
Многие из этих эмпирических сигналов позволяют уверенно составить впечатление [9] о том, как представляют себе проект те, кто его поддерживает, в каком стиле они работают, а также проследить вероятную траекторию его развития. Например, лаконичные комментарии, README и документация указывают на продуманность кода, усердие разработчиков и умение думать о коллегах (не забывая о себе). В основном потому, что простому разработчику вроде меня документация и тесты необходимы, но их неприятно и скучно писать и поддерживать — это слишком рутинно.
Вдруг с приходом больших языковых моделей все эти убеждения оказались внезапно и бесцеремонно выброшены в окно. Модель может за один присест сгенерировать завораживающе образцовые страницы документации, плотные (и до смешного педантично детализированные) README, выстроить замечательные пользовательские интерфейсы, аккуратно организовать код, уложив его в правильные идиомы, соблюсти паттерны и написать комментарии. Теперь уже можно и не догадаться, что такой репозиторий «навайбкодил» человек без технического образования, в жизни не написавший ни строки кода или опытным разработчиком, который мог бы это сделать как с помощью большой языковой модели, так и не прибегая к ней. Индикаторов качества базы кода больше нет. Напротив, чем шикарнее или идеальнее теперь выглядит такой материал, тем подозрительнее воспринимается — а вдруг его бездумно навайбкодили за один промпт?
Теперь, когда пора констатировать смерть красноречивых эмпирических метрик, по которым раньше оценивали качество кода и софта (чтобы оценить код, его нужно гораздо тщательнее проверять и даже препарировать с привлечением экспертов), стало совсем сложно отделить пшеницу от плевел. Кроме того, теперь есть стимул [10] пристальнее присматриваться к происхождению софта — кто написал программу, какой у них послужной список и планы по управлению.
Так исторически сложилось, что для написания 10 000 строк качественного кода разработчику требовалось достаточно долго и дисциплинированно трудиться, понемногу улучшая код итерацию за итерацией. Качественный код не только даёт внятные результаты; вдобавок его удобно читать и поддерживать. Притом, что количество строк кода ничего не говорит о его качестве — зависимость часто обратная — чтобы создать базу, содержащую 10 000 строк качественного кода, требуется немало времени, значительные усилия, сосредоточенность, терпение, опыт в предметной области, а зачастую и такие сопутствующие навыки, как умение управлять проектами. Человеческие черты.
Теперь БЯМ может не только с одного промпта сгенерировать всё это за считанные секунды, но и справляется со многими техническими аспектами организации потоков задач при разработке ПО. Речь и о тестировании, и о системном администрировании, и о публикации. Когда работой искусственного интеллекта [11] руководит опытный человек, это уже не неистовый вайбкодинг с совершенно непредсказуемыми результатами, а весьма эффективная работа [12], которая может давать качественный результат. Могу это подтвердить на собственном опыте. Регулярно работая с нейронками, я смог уместить в дни и даже часы такую работу, на которую ранее мне потребовались бы недели и месяцы. Я это делал без вайбкодинга, без файла AGENT.md [13] или каких-нибудь вычурных многоагентных потоков задач и их оркестрации. Работаем только напрямую с ИИ-агентом и держим под рукой командную строку.
Как разработчик с бесконечным списком желаний (чем бы обзавестись и что бы при случае попробовать), я хотел бы иметь возможность пользоваться БЯМ-инструментами не только для быстрого прототипирования и оценки сложных идей, но и для того, чтобы писать хороший софт продакшен-уровня (естественно, на мой субъективный взгляд) лучше, чем я бы напрограммировал это вручную. Бывает так, что ты в точности представляешь, что нужно сделать, но ограничен физическими рамками. Есть также вещи, которые я не совсем понимаю, и мне нужны новые идеи, подходы и место для шага вперёд. Хочу работать так, чтобы одновременно учиться и постоянно улучшать собственные представления о том, как что устроено.
Безусловно, при привлечении агентов психологические, когнитивные и эмоциональные издержки, связанные с созданием добротного софта, который я могу и хочу создавать, уменьшились на порядки. У меня освободилось время и поле для манёвра, и теперь я могу больше внимания уделять инженерии, архитектуре, дискуссиям, наладке, просто воображению и доведению кода до такого лаконичного и осмысленного состояния, к которому я всегда стремился.
Помните старую максиму: «программирование на 90% состоит из мышления [14] и на 10% из набора?» Теперь так и есть.
Учитывая всё сказанное, какова ценность кода как артефакта, если его может за считанные секунды сгенерировать в промышленных масштабах человек, который никогда не программировал? Отбросим очевидно некачественный код, сгенерированный БЯМ, и будем считать, что речь только об аккуратно структурированном и рабочем коде (да, БЯМ может писать хороший код, если компетентно ею управлять). Чем в таком случае ценный код отличается от бросового? Не хотелось бы встретить в реальных системах код, сгенерированный нейронкой, пусть бы это был чистый неразбавленный рукописный код, верно? Что ж, вы пошутили, я тоже посмеялся.
Реальность такова, что значительное большинство именно такого рукописного кода, создаваемого людьми изо дня в день — околомусорного качества [15]. Разработка ПО как дисциплина [16] даже не успела достичь какого-либо объективного уровня зрелости. Например, профессиональные врачи и инженеры-строители получают сначала систематическое образование, а лишь потом — лицензии, лишь при наличии которых они вправе заниматься реальной практикой. А как с этим обстоит у разработчиков ПО? Мир работает на кое-как сварганенных, переклеенных изолентой раздутых систем, полных мусорного кода. Разработкой таких систем обычно руководят люди с извращённой мотивацией [17], зачастую не имеющих нужной технической подготовки или имеют образование лишь в гуманитарной сфере. Так начинается тирания «технических руководителей нетехнического плана [18]».
Если бы я хотел вас подначить, то заявил бы, что ИИ-шлак хотя бы красиво форматирован, хорошо документирован и синтаксически более самосогласован, чем основная масса рукописного кода. ( ͡° ͜ʖ ͡°)
Если без шуток — я не фанат ИИ-шлака. Когда читаешь все эти явно бездушные сгенерированные нейронками сообщения и статьи из (мёртвого) Интернета [19], ты просто впустую активируешь нейроны [20] в миндалевидном теле, если такая активация вообще происходит. Вы могли заметить, что многие люди, где бы они ни жили, выражаются в стиле нейронок и одинаково эмоционируют в Интернете — вот такая пугающая само-коллективи-фикация [21]. Без человеческого творческого начала, самосовершенствования и неидеальности не только язык, но и вся литература, музыка, изобразительное искусство и пр. (большинству из нас) не доставят удовольствия. Бесконечная мгновенно генерируемая жвачка без присущих человеку ограничений и пределов на самом деле с большим трудом поддаётся оценке.
Это ведь и кода касается, так? Что ж, код немного отличается от искусства, литературы или любой другой формы прямой коммуникации и эмоционального воздействия. Код — это всегда средство для достижения цели. Код — это не поэзия и не проза, конечного пользователя он не волнует. Например, никому не интересно, на каком языке и с применением какого фреймворка реализованы архитектуры тех многочисленных систем, которые работают за фасадом портала. Код скрыт. Пользователи имеют дело со свойствами кода и эффектом его воздействия через различные формы UX. Я это говорю скрепя сердце, ведь мне нравится писать, упорядочивать и даже лелеять код. Для тех, кто погружён в код, в нём есть элемент творчества [22] и искусства, а многие из тех, кто похож на меня, до крайности придирчивы во всём, что касается софта [23].
Абстрагируемся от безнадёжно плохого кода и задумаемся: в мире, где так много работающего кода, что «хороший» код от «плохого» уже почти не отличить, по какому критерию разграничить «нормальный код, написанный с применением ИИ» и «ИИ-шлак»? Я всерьёз склонен полагать, что разницу делает аппарат учёта того, что в коде происходит, а также, забавно, элемент «человечности» кода. Таким образом, при прочих равных, возможность спросить за код как за готовый продукт (с моральной, иногда юридической, а как минимум — с эмоциональной точки зрения [24]) наделяет его ценностью.
Когда тебе поступает такой большой пул-реквест (PR) из опенсорсного репозитория, важно не столько его качество, сколько то, что он был вручную набран человеком. Ты не можешь не испытывать уважение к человеку, потратившему на это время и наверняка ценишь вложенный им труд. Известно, какую физическую и умственную нагрузку испытывает программист за работой, пока пишет код и до того, как будет готов подать его в виде PR. Поэтому многие образцы кода обходятся дорого, они отнюдь не «дешёвка».
Когда же PR, очевидно, сгенерирован БЯМ — независимо от его качества первой реакцией [25] на него будет «нейрослоп!» поскольку теперь невозможно мгновенно оценить, сколько сил вложил в эту работу программист. С другой стороны, непропорционально (а то и экспоненциально) сложнее становится прочитать и оценить его — это не касается лишь тех, кто и чтение кода уже перепоручил БЯМ. Вполне возможно, что перед вами — рабочий код, максимально подходящий для решения задачи, но это всё равно одна из множества нейросетевых вариаций на тему, сгенерированных совершенно без участия человека, без всяких усилий. Это вызывает эмоциональное отторжение, и кажется, что нечестно обременять человека такими дампами кода.
Так рано или поздно наша реальность превращается в борхесовскую Вавилонскую Библиотеку [26].
Если говорить о библиотеках, FOSS — пожалуй, величайший образец общественного достояния, созданный человеком. Генезис FOSS и его предшественники, различные схемы для совместного пользования кодом можно проследить вплоть до предпосылки, что софт — запредельно дорогая штука, а для создания софта требуется исключительное профессиональное мастерство. Лишь горстка людей в мире способна выполнять такую работу, а всем остальным ничего не остаётся кроме как пользоваться творениями немногих (проприетарными или нет — уже другой вопрос). Притом, что глобальная экосистема разработчиков с тех пор пережила взрывной рост, соотношение авторов и пользователей практически не изменилось. Отсюда проистекает вся крупномасштабная динамика сообщества FOSS и коллаборация в нём. Базы кода остаются ценными артефактами, рассчитанными на совместное пользование.
Что же происходит в мире, где код дёшев, а нужную маленькую или даже среднюю библиотеку или модуль — неважно, сколь нишевые — можно создать очень быстро, идеально кастомизировав её и подогнав под имеющиеся нужды? Забудьте об экспертности в мире, где любой достаточно смышлёный может навайбкодить себе небольшие инструменты, требующиеся для личного пользования так, как ему понравится. Такие примеры мне попадаются повсюду. То, что происходит со StackOverflow [27], также творится и с софтом, но пока не так радикально. По-видимому, эта тенденция бьёт в самый нерв человеческой динамики, условий существования в обществе и стимулов, которые двигают коллаборацию в рамках FOSS и стремление делиться. Дополнительно к этому, если задуматься о кембрийском взрыве FOSS-проектов, создаваемых в беспрецедентных масштабах, наряду с ними остаются и процветают высококачественные FOSS-проекты. В таких условиях умение управлять, подбирать нужное и доверие как таковое могут стать ценнее, чем сам код.
Люди писали замечательный софт, когда ещё не было ни подсветки синтаксиса, ни IDE, ни какого-либо инструментария. А сегодня люди выдают мусорный код, несмотря на то, что у них в распоряжении — всевозможные инструменты и все ресурсы мира. Хороший и компетентный разработчик, поднаторевший в умении формулировать задачи и заботящийся о качестве, может пользоваться БЯМ или любыми другими инструментами — и у него будет получаться добротный результат. Некомпетентный и косноязычный разработчик, которого, к тому же, не волнует качество, выдаст плохой код, независимо от того, станет ли при этом пользоваться БЯМ.
Следовательно, самые яростные поборники фанатичного «агентского» вайб-кодинга [28], равно как и те, кто безапелляционно отвергает БЯМ, «не замечают леса за деревьями». Прагматик [29] же видит, что есть срединный путь. Следуя по нему, достаточно компетентные, опытные и терпеливые люди, умеющие сформулировать, что им надо, вполне могут пользоваться агентскими инструментами и получать желаемый результат, идя при этом на разумные компромиссы.
Естественно, вайб-кодинг по-своему уместен, в особенности, для нетехнарей. Человек без опыта теперь может повозиться с софтом, исследовать его, причём, с удовольствием — после чего, освоив его, стать сильнее. В моём кругу такое постоянно происходит. Но фанатичные поклонники вайб-кодинга упускают одну важную вещь, в силу которой человек относится к артефактам серьёзно — конечность. Эти люди плодят обширную борхесовскую библиотеку, в которой сами теряются в куче шлака, нагенерированного агентами-подлизами. Это шлак не потому, что сам код низкокачественный, а потому, что любой материал, который можно в бесконечном количестве сгенерировать без всяких усилий, материал, не имеющий внятного происхождения — очень сложно оценивать и вообще воспринимать всерьёз. Человек фундаментально не приспособлен иметь дело с неограниченным изобилием чего бы то ни было, особенно — с бесконечно широким выбором. Это совершенно неудивительно, поскольку мы — сильно ограниченные биологические особи, наша жизнь конечна, и мы развились на маленькой планете с ограниченным объёмом ресурсов.
А отрицатели БЯМ, по-видимому, не в силах выйти из этой дискуссии из-за скептицизма. Они отказываются работать с БЯМ, потому что те им лично по какой-то причине не нравятся, либо потому, что им не удаётся получить при помощи БЯМ желаемые результаты, либо у них неверные ожидания от этих инструментов, или же они от БЯМ просто устали. Но всё это несущественно, так как в обществе есть значительная прослойка, умеющая плодотворно пользоваться этими инструментами и обладающая прямо противоположным опытом. Я — один из них.
При всём вышесказанном, повсюду успели распространиться бездумные, а также откровенно тупые и вредные реализации этих технологий, выросшие на хайпе, ажиотаже и жадности. Теперь они — неприглядная реальность и вызывают огромную обеспокоенность. Пожалуй, пузырь ИИ-бизнеса — один из величайших в истории. Но неразумно просто так приравнивать неумелое или вредное использование этих технологий, дотошную скрупулёзность и бессмысленные реализации к фундаментальным физическим возможностям этих технологий — не теоретическим, а типично практическим, доказанным на практике. Именно в этом случае вы не видите леса за деревьями.
Всё это сказано с точки зрения опытного разработчика и инженера. Для человека бывалого и тёртого ИИ-технологии могут оказаться крайне эффективным и мощным подспорьем.
Но что сказать о молодых, тех, кто только начинает? Если у человека нет такой фундаментальной базы, на которую можно опереться, если ты ещё не развил чутьё и умение детально понимать системы и процессы, связанные с разработкой ПО, то эти технологии могут проявить себя как предательские и опасные джинны. Ты просишь кода — и она даёт тебе код. Просишь внести изменения — она вносит изменения. В результате получается база кода, внутреннего устройства которой никто не понимает, поэтому приходится вновь и вновь обращаться за помощью к джинну, впадая в зависимость и беспомощность. Именно по причине такой «подсадки» человек не станет развиваться, даже оказавшись в естественных обстоятельствах, которые другому позволили бы развить основополагающие фундаментальные навыки и по-настоящему всё понять. У человека же неподготовленного такие предпосылки никогда не возникнут, и работа с БЯМ может довести его вплоть до когнитивной деградации.[21] [30] Что в таком случае делать, если такое произойдёт с целым поколением джунов, у которых никогда не появится возможность осмысленно стать сеньорами?
Лично меня не волнуют ни радикальные вайбкодеры, ни отрицатели, ни даже шлак. Все мы тонем в потоках этого шлака, из которого потом возникнет множество островов здравомыслия, восстановления и новый порядок разработки ПО. Меня по-настоящему волнует судьба поколения тех нынешних учеников, у которых отбирается возможность приобрести опыт, позволяющий объективно отличать шлак от не-шлака. Хуже того, возможно, что опытные коллеги, умеющие эффективно пользоваться этими инструментами, теряют мотивацию [31] наставлять и основательно обучать молодых коллег — такая тенденция не вписывается в естественную эволюцию общества. Причём, это касается не только разработки ПО, но и в принципе делегирования любых действий и принятия решений чёрному ящику.
В наши времена практикующему разработчику стало гораздо важнее уметь читать код и критически его оценивать, нежели изучать синтаксис и набирать код строка за строкой. Конечно же, второе по-прежнему не утратило важности, так как умение эффективно читать код нарабатывается из умения его писать. Но рабочие потоки в повседневной разработке ПО перевернулись с ног на голову.
Опытный разработчик, хорошо умеющий говорить — то есть, представлять, формулировать и определять постановку различных задач, их архитектуру и инженерию, обладает огромным преимуществом над теми, кто этого не умеет, и сейчас этот перевес непропорционален как никогда. Знание конкретного языка, синтаксиса и фреймворков (кода) — больше не узкое место. Физиологические ограничения, мешающие заниматься рутинной работой, теперь не мешают. Механизмы для мгновенного создания кода в больших объёмах стали общедоступными, они на расстоянии обычного [32] pip install [32]. Не нужно специально учиться, осваивать какой-то новый язык или фреймворк, то есть, входной барьер в программирование практически исчез — нужны всего лишь старое доброе критическое мышление и базовые человеческие навыки, а также достаточная компетентность, чтобы управлять машиной.
Принципиально изменились традиционные методологии разработки ПО и выделяемые в них роли — скажем, водопадная модель [33], аджайл [34], а также плоскости от разработчика до тестировщика, от джуниора до сеньора. Существовавшие ранее границы слились в невообразимо быстрые, сжатые, зыбкие итерации «агентских» циклов. Меняется сразу вся динамика организаций, людей, публичных сообществ, занятых в разработке ПО, а также фундаментально человеческие потребности [35] делиться и сотрудничать.
Впервые в истории грамотная коммуникация гораздо важнее хорошего кода, и этот разрыв увеличивается по нарастающей. Последствия этого важные и переломные. На этот раз всё иначе [36].
Автор: Sivchenko_translate
Источник [37]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/26759
URLs in this post:
[1] о ядре Linux: https://lkml.org/lkml/2000/8/25/132
[2] Да, определённо: https://github.com/torvalds/AudioNoise/commit/93a72563cba609a414297b558cb46ddd3ce9d6b5
[3] опыт: http://www.braintools.ru/article/6952
[4] Конца истории: https://en.wikipedia.org/wiki/The_End_of_History_and_the_Last_Man
[5] эволюцию: http://www.braintools.ru/article/7702
[6] внимания: http://www.braintools.ru/article/7595
[7] душещипательный монолог: https://ru.wikipedia.org/wiki/%D0%A1%D0%BB%D1%91%D0%B7%D1%8B_%D0%B2_%D0%B4%D0%BE%D0%B6%D0%B4%D0%B5
[8] практически несогласуемые компромиссы: https://lkml.org/lkml/2000/8/26/52
[9] впечатление: http://www.braintools.ru/article/2012
[10] стимул: http://www.braintools.ru/article/5596
[11] интеллекта: http://www.braintools.ru/article/7605
[12] весьма эффективная работа: https://github.com/antirez/iris.c
[13] AGENT.md: http://AGENT.md
[14] мышления: http://www.braintools.ru/thinking
[15] околомусорного качества: https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2022-report/
[16] как дисциплина: https://nadh.in/blog/on-software-as-an-indiscipline/
[17] мотивацией: http://www.braintools.ru/article/9537
[18] нетехнического плана: https://zerodha.tech/blog/being-future-ready-with-common-sense/#8-the-tyranny-of-non-technical-tech-leaders
[19] (мёртвого) Интернета: https://nadh.in/blog/decentralised-open-indexes/#quality
[20] нейроны: http://www.braintools.ru/article/9161
[21] само-коллективи-фикация: https://en.wikipedia.org/wiki/Pluribus_%28TV_series%29
[22] творчества: http://www.braintools.ru/creation
[23] всём, что касается софта: https://zerodha.tech/authors/knadh/
[24] зрения: http://www.braintools.ru/article/6238
[25] реакцией: http://www.braintools.ru/article/1549
[26] Вавилонскую Библиотеку: https://ru.wikipedia.org/wiki/%D0%92%D0%B0%D0%B2%D0%B8%D0%BB%D0%BE%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0
[27] со StackOverflow: https://futurism.com/artificial-intelligence/ai-has-basically-killed-stack-overflow
[28] «агентского» вайб-кодинга: https://github.com/steveyegge/gastown
[29] Прагматик: http://www.braintools.ru/article/7669
[30] [21]: https://www.media.mit.edu/publications/your-brain-on-chatgpt/
[31] мотивацию: http://www.braintools.ru/article/9384
[32] обычного: https://nadh.in/blog/on-powered-by-ai-marketing/#no-you-are-not-missing-out
[33] водопадная модель: https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%81%D0%BA%D0%B0%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C
[34] аджайл: https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%B1%D0%BA%D0%B0%D1%8F_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8
[35] потребности: http://www.braintools.ru/article/9534
[36] всё иначе: https://nadh.in/blog/this-time-it-feels-different/
[37] Источник: https://habr.com/ru/articles/1007770/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1007770
Нажмите здесь для печати.