
Было бы легко сказать, что Stack Overflow убил искусственный интеллект, но больше похоже на то, что ИИ лишь нанёс последний удар. Произошедшее можно считать притчей о человеческом обществе и о том, как эксперименты с самоуправлением привели к непредсказуемо плохим результатам.
Когда-то Stack Overflow был сениор-разработчиком всего Интернета, источником поддержки, к которому кодеры обращались с поставившими их в тупик задачами. Это было место обмена техническими знаниями, где процветали этика и подходы опенсорсного программирования.
Stack Overflow был не первым и не единственным подобным сайтом. Он стал частью волны нового поколения форумов по программированию, появившихся в начале века; некоторые из таких сайтов живы и по сей день. А сами такие форумы были потомками user groups и Usenet. С переходом к эпохе больших языковых моделей (large language model, LLM) все эти форумы сталкиваются с экзистенциальным кризисом. Нужны ли они нам вообще?
Прежде, чем мы перейдём к ответу на этот вопрос, давайте внимательнее приглядимся к Stack Overflow: благодаря чему он возвысился, какие ошибки совершил и какова роль ИИ в его современном упадке.
Длительный паттерн снижения активности

Для начала можно взглянуть на график уменьшающегося ежемесячного количества вопросов на Stack Overflow. В графике представлены данные ещё с появления сайта в 2008 году. Как мы видим из него, сайт достиг достаточно стабильного уровня в 200 тысяч новых ежемесячных вопросов. После этого мы наблюдаем паттерн постепенного снижения, начавшийся в 2014 году. В 2020 году возник скачок, связанный с COVID-19, когда все работали удалённо, после чего значения продолжили падать.
К началу 2023 года, спустя примерно год, как на сцене появился ChatGPT, падение стало по-настоящему катастрофичным. Очевидно, что ChatGPT и подобные ему инструменты стали последней соломинкой, сломавшей спину Stack Overflow. Снижение количества вопросов на сайте почти полностью зеркально совпадает с ростом популярности ChatGPT.
Однако генеративный ИИ лишь подчеркнул то, что уже начало происходить. Своей огромной популярностью Stack Overflow был обязан взаимодействию людей и живой культуре, возникшей на его основе. Stack Overflow лучше, чем другим сайтам, удалось передать интерактивный компонент разработки ПО. Но потом эксперимент по самомодерации начал принимать репрессивные формы: его лидеры систематически уничтожали то самое качество, благодаря которому эта платформа становилась великой. К моменту появления LLM Stack Overflow уже работал в режиме сухих вопросов и ответов.
Когда генеративный ИИ пришёл за Stack Overflow, единственное, что могло его спасти — живое участие — уже было уничтожено.
Игра в репутацию: как Stack Overflow завоевал, а потом потерял Интернет
Самым революционным аспектом Stack Overflow была его система репутации, выделившая его на фоне конкурентов. Качественно продуманная система репутации позволила Stack Overflow привлечь участников других сайтов для разработчиков, что привело к частичной и полной смерти этих ресурсов.
На Stack Overflow получают очки репутации и значки за то, что задают хорошие вопросы и дают полезные ответы. Изначально качество вопросов и ответов не было определено формально; оно становилось естественным последствием того, что сами программисты голосовали за одни обсуждения и не голосовали за другие.
Игра в репутацию никогда не была совершенной: люди могли жульничать и делали это. Однако она была весёлой и большинству пользователей казалась полезной. Так что же произошло? Stack Overflow развивался в сторону платформы с самоуправлением, на которой степень управления (или модерирования) определялась репутацией. Пользователи с достаточно высоким уровнем репутации могли управлять различными аспектами платформы. Самым важным стало то, что они начали отвечать за модерацию «качества» вопросов и ответов.
Для Stack Overflow новая модель, а также крайне субъективное понятие «качества», создали все условия для повторения своего рода Стэнфордского тюремного эксперимента. Вместо того, чтобы стимулировать к широкому спектру взаимодействий и поведений, модераторы зарабатывали репутацию, пресекая общение, которое считали иррелевантным. Внезапно Stack Overflow перестал быть местом, куда люди приходили, чтобы ощущать себя частью культуры разработки. Он превратился в арену, на которой нужно снова и снова доказывать, что ты достоин.
Моя история со Stack Overflow
Несколько лет назад я задал на Stack Overflow вопрос, который меня очень заботил. Я пытался создать в draw.io идеальный сектор в четверть круга. Я привёл свой код и спросил, в чём была ошибка. Вопрос был достаточно далёк от основных тем, поэтому за него проголосовали немногие, зато я получил ответ. Один из пользователей привёл краткое объяснение с нужной мне строкой кода.
Код оказался рабочим и решал мою проблему, к тому же я получил благодарность на работе, за которую обязан Stack Overflow. Возможно, LLM был бы способен на нечто подобное, но живое общение с людьми заменить невозможно.
Обратная сторона геймификации
Поначалу геймификация стала двигателем популярности ресурса. Взяв за основу прекрасный аспект культуры разработки ПО, а именно таинственную радость предоставления и получения помощи, она добавила забавный новый способ зарабатывания репутации. Но что же мотивировало к развитию этой культуры взаимопомощи? Однажды, когда я был на Stack Overflow, на мой экран взглянул человек, не занимавшийся разработкой. «Почему эти люди помогают? Просто за спасибо?» Чтобы понять радость от того, что можешь помочь другому человеку, поделившись тем, чему научился сам, её нужно испытать самому.
Наверно, лучшая аналогия — это когда ты видишь поломавшуюся машину на обочине. Ты останавливаешься, потому что такое случалось и с тобой; ты знаешь, каково это — сидеть в поломанной машине на обочине. Возможно, ты можешь помочь, а если и не можешь, то оказавшийся в затруднительном положении водитель хотя бы будет знать, что кто-то о нём беспокоится. А потом ты испытываешь эмоциональный подъём от обнаружения источника проблемы: «Смотрите, у вас здесь хомут системы охлаждения разболтался». Именно это мы потеряли, когда Stack Overflow позволил победить себя игре в репутацию.
Разработка ПО и культура взаимопомощи
Актуальным остаётся вопрос, сможет ли культура взаимопомощи выжить в эту новую эпоху LLM. По-прежнему ли нам нужна помощь живого человека? Или её можно свести к промптам и ответам на них? Возможно, новая роль людей заключается в генерации точных данных для обучения LLM? Возможно, мы превратимся в садовников этих обширных пастбищ синтетических данных?
Но давайте вернёмся к Stack Overflow и к культуре, которую он когда-то воплощал: возможно ли в будущем её радикальное возрождение? До появления ИИ было понятно, что Stack Overflow необходимо выходить из тупика, который он сам же и создал. Вероятно, сайт сможет вернуть себе своё величие, если снова займётся тем, что когда-то сделало его великим: сообществом и культурой разработки ПО.
Культура процветает, когда люди в ней ощущают себя уютно. На практике это означает, что людям с глупыми вопросами не по теме надо давать возможность общаться с более опытными пользователями. Когда-нибудь они тоже станут опытными. Возможно, они придут, чтобы оказать ответную услугу.
Очевидно, что разработчики по-прежнему стремятся к общению и ценят его даже в эпоху ИИ. Мы видим, что эта этика жива и процветает в местах наподобие dev.to; демонстрирует это и успех опенсорсной модели социального кодинга GitHub. Кажется, он стал главным центром вселенной написания кода, истинным наследником старых user groups. Разумеется, одновременно это и ещё один полезный инструмент, остающийся актуальным и в современной ИИ-центричной вселенной ПО.
Возможно, в основе своей всё сводится к кодингу ради кодинга. По своей природе, разработчики ПО всегда будут создавать код, как музыканты всегда создают музыку. Даже если ИИ будет создавать великолепную музыку, музыканты всё равно продолжат это делать. В конце концов, послушав Баха, Бетховена или Beatles, мы не говорим: «Всё, достаточно, у нас уже есть музыка». У людей есть внутренняя потребность творить, а у разработчиков ПО она проявляется в кодинге.
Написание, сборка и создание ПО могут быть радостными, сложными и приносящими удовлетворение. ИИ может быть частью этого процесса. Но если позволить ему полностью заменить процесс, то акт кодинга ради кодинга станет больше похож на любительское хобби, близкое к ручному изготовлению мебели в эпоху массового производства.
Нельзя терять человеческий фактор
Где в этой картине есть место для сайтов наподобие Stack Overflow? Мэтт Эсей недавно изложил несколько любопытных идей, например, о привязке репутации к вкладу в развитие моделей ИИ. Но чтобы возвращение Stack Overflow действительно было громким, нам нужно верить в будущее живых программистов и их культуры. Мы должны фундаментально заявить: для разработки ПО живыми людьми есть место, и всё происходящее здесь необходимо в качестве поддержки для этой базовой миссии.
Расцвет и падение Stack Overflow — горькое напоминание о том, что платформы, созданные для людей, процветают на основе настоящего сообщества, а не генерации контента. Его гениальность заключалась в том, что он использовал энтузиазм разработчиков. Эта энергия постепенно исчерпывалась из-за того, что работающая демократия породила аристократию, а эта аристократия задушила демократию.
Появление сложного ИИ произошло параллельно, но не стало причиной крушения; оно просто продемонстрировало степень утери энтузиазма сообщества. ИИ продолжит менять ситуацию в сфере технологий, и последствия этого мы будем наблюдать собственными глазами. Stack Overflow дал нам и ещё более важный урок в условиях нового мира: люди — движущая сила смысла и цели. Если уберёте из уравнения человеческий фактор, то вы обречены.