Stack Overflow, некогда главная платформа для программистов, переживает кризис: за два года трафик упал почти на 90%. Что стало причиной — изменившиеся привычки пользователей или ошибки самой платформы? Давайте попробуем разобраться в происходящем. А еще посмотрим, что администрация делает для спасения и что ждет сообщества разработчиков в новой реальности, где ответы на вопросы находятся быстрее, чем успеваешь их задать.

Что происходит

Stack Overflow (SO) в течение многих лет был палочкой-выручалочкой для миллионов программистов. Ошибка в коде, сложная задача или непонятная документация — поиск решения проблемы в Google почти всегда вел на SO. И там находились точные ответы, проверенные сообществом. Но в 2025 году платформа столкнулась с катастрофой: за два года трафик рухнул почти на 90%.

Источник

С пика в 2021 году, когда SO посещали сотни миллионов пользователей в месяц, к 2025-му аудитория сократилась до минимума. В апреле 2025 года общее количество публикаций — то есть суммарное число вопросов и ответов — снизилось на 64% по сравнению с апрелем 2024 года и на 90% по сравнению с пиковым уровнем апреля 2020-го. Это совпало с ростом популярности инструментов ИИ, таких как ChatGPT и GitHub Copilot.

Сколько вопросов в месяц задавали на StackOverflow. Источник
Сколько вопросов в месяц задавали на StackOverflow. Источник

Количество новых обращений тоже стремительно падает: в январе 2025 года было задано 34 390 вопросов, а уже в феврале — только 29 693. А ведь еще в апреле 2023 года общий трафик сайта снизился на 14% по сравнению с предыдущим годом. Но это, как оказалось, только начало глобального тренда. 

Золотой век и приход ИИ

Stack Overflow появился в 2008 году благодаря Джеффу Этвуду и Джоэлу Спольски. Идея была гениальной: разработчики задают на площадке вопросы, эксперты отвечают, а сообщество голосует за лучшие решения. Система репутации мотивировала участников, а строгая модерация обеспечивала качество. К 2021 году на платформе накопилось свыше 58 миллионов вопросов и ответов, и это сделало ее незаменимой для обучения и работы.

Золотой век длился до 2020-х, а дальше языковые модели (LLM) начали менять правила игры. GPT-3 от OpenAI, Codex (основа GitHub Copilot) и ChatGPT, вышедший в ноябре 2022 года, показали, что ИИ может не только понимать вопросы, но и генерировать код, объяснять ошибки и предлагать решения. Это вызвало тревогу в сообществе SO: не заменит ли ИИ форумы? В 2022 году на платформе даже временно запретили ответы, сгенерированные ИИ, из-за их неточности и риска спама.

Ирония в том, что многие LLM обучались на данных Stack Overflow, доступных по лицензии Creative Commons. Платформа, годами собиравшая знания, невольно помогла создать конкурентов. Например, Codex использовал публичные репозитории GitHub и посты SO для тренировки. Когда ChatGPT стал общедоступным, пользователи начали замечать, что его ответы часто повторяют популярные решения с SO, но без ссылок.

Первые признаки спада появились уже в 2022 году. Исследования, например от аналитиков Stack Exchange, показали, что после появления ChatGPT активность на SO упала на 16% за полгода. К 2025 году ситуация стала критической: посетители все реже задавали вопросы, а многие ответы перестали обновляться.

Почему пользователи предпочитают ИИ

Падение трафика SO связано с ростом популярности языковых моделей. Тому несколько причин:

  • Оперативность. На SO нужно сформулировать вопрос, дождаться ответа (иногда часы или дни) и выбрать лучшее решение среди комментариев. В некоторых случаях его может и не быть. А ChatGPT или Copilot отвечают подробнейшим образом за секунды, часто с пояснениями.

  • Удобство. Stack Overflow требует регистрации, соблюдения правил оформления и терпения к голосованиям. Плохо сформулированный вопрос могут закрыть или заминусовать. ИИ-инструменты ничего подобного не делают: достаточно ввести запрос в чат или IDE, даже если он корявый. Например, вместо того чтобы писать на SO «Почему мой Python-код выдает TypeError?» можно просто скопировать код в ChatGPT и получить подробный разбор ошибки.

  • Универсальность. ИИ не ограничен программированием. ChatGPT может ответить на вопрос о настройке сервера, объяснить алгоритм или даже написать документацию. SO, несмотря на свою мощь, остается нишевым форумом, где ответы зависят от активности сообщества.

  • Атмосфера. SO давно критиковали за недружелюбность к новичкам. Начинающие программисты часто сталкивались с резкими комментариями, вроде «Это уже спрашивали» или «Прочитайте документацию». Модераторы закрывали некоторые ветки и вопросы как «дубликаты» или «некачественные». ChatGPT, напротив, отвечает доброжелательно на любые запросы пользователя. Никакой агрессии.

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

Как OpenAI и GitHub Copilot изменили игру

OpenAI и GitHub Copilot стали катализаторами кризиса SO. Copilot, интегрированный в IDE вроде VS Code, предлагает автодополнение кода, исправление ошибок и другие функции прямо в процессе работы. Зачем искать решение на форуме, если ИИ подскажет, как написать цикл или обработать исключение, не отрываясь от редактора? По данным GitHub, к 2024 году Copilot помог примерно 1,5 миллиона разработчиков, а 40% кода в проектах с его использованием генерировалось автоматически.

ChatGPT пошел еще дальше. Он не только пишет код, но и объясняет его, адаптируя ответ под уровень пользователя. Например, запрос «Напишите REST API на Flask» сервис выдает готовый вариант с комментариями. К тому же ИИ может работать с контекстом: если показать ему кусок кода, он предложит исправления или оптимизацию.

Все это сильно повлияло на популярность Stack Overflow. Если в 2020 году ресурс был в топ-10 сайтов по программированию в поисковых запросах, то к 2025 году его обогнали ChatGPT, Copilot и другие ИИ-инструменты. И этот тренд сохраняется

Ответ Stack Overflow

Stack Overflow не сдается без боя. В 2023 году платформа запустила Stack Overflow Labs, чтобы интегрировать ИИ в свою экосистему. Проект OverflowAI должен был объединить базу знаний SO с языковыми моделями, предложить умный поиск, автогенерацию ответов и персонализированные рекомендации. Идея звучит круто: вместо ожидания ответа от человека пользователь получает мгновенное решение, проверенное данными самого SO.

Параллельно платформа двинулась в B2B-сегмент. Продукт Stack Overflow for Teams позволяет организациям создавать закрытые базы знаний для сотрудников, монетизируя доступ к контенту. К 2024 году этим сервисом пользовались тысячи организаций, включая самые крупные ИТ-компании. Еще SO экспериментировал с платными функциями вроде премиум-доступа к аналитике или приоритетной поддержке.

Но эти шаги вызвали раскол в сообществе. В 2023 году модераторы восстали против новых правил, связанных с ИИ. Платформа запретила удалять ответы, сгенерированные моделями, а это возмутило активных участников. Часть модераторов уволили, некоторые ушли сами, обвиняя SO в коммерциализации за счет сообщества. Форумы Reddit и Hacker News пестрели критикой: пользователи писали, что сервис теряет душу, становясь корпоративным продуктом.

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

Что ждет Stack Overflow? Возможные сценарии

Будущее Stack Overflow туманно, но можно выделить четыре сценария:

  1. Архив знаний. Платформа превращается в статичную базу данных, как старые форумы по Linux или PHP. Упор на SEO и поисковую индексацию сохранит часть трафика, но сообщество перестанет быть активным. Многие вопросы на Stack Overflow сегодня относятся еще к 2010-м годам, а новые темы появляются все реже.

  2. B2B-платформа. SO может полностью уйти в корпоративный сегмент, предлагая платный доступ к ответам и инструментам для бизнеса. Stack Overflow for Teams — шаг в этом направлении, но такой поворот рискует оттолкнуть обычных пользователей.

  3. Слияние или Open Source. Платформа может объединиться с другим проектом, например, с GitHub или крупным сообществом вроде DEV.to. Альтернатива — переход к открытой модели, где развитие контролирует комьюнити. Это сложный путь, требующий инвестиций и реформ. 

  4. Угасание. В худшем случае SO ждет судьба Quora или Yahoo Answers — постепенное снижение активности и утрата релевантности. Если администрация платформы предпочтет ничего не делать, то ресурс станет лишь воспоминанием.

У каждого из них свои риски. Архив знаний сохранит ценность данных, но убьет дух сообщества. B2B-модель может принести прибыль, но отпугнет основное ядро пользователей. Слияние или open-source требуют радикальных изменений, а угасание — вопрос времени, если ничего не предпринимать.

Что в итоге? Языковые модели — не просто конкуренты Stack Overflow, они перестраивают сам процесс получения знаний. ChatGPT, Copilot и их аналоги предлагают скорость, удобство и универсальность, с которыми сложно соперничать. Stack Overflow стоит перед выбором: адаптироваться или уйти в историю как пример платформы, не выдержавшей конкуренции. Что будет дальше — покажет время, но пока перевес на стороне машин.

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


  1. kalombo
    23.05.2025 12:14

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

    Вопрос: Как передавать cdata данные в xmltodict.unparse, чтобы не экранировались символы < и >

    Ответ stackoverflow: https://stackoverflow.com/questions/35089171/xmltodict-unparse-is-not-handling-cdata-properly Объяснение, что прямой возможности нет и несколько вариантов с патчингом

    Ответ chatgpt:

    import xmltodict
    
    # Создаём словарь с CDATA
    data = {
        'root': {
            'message': xmltodict.CData('Это <важное> сообщение & с символами')
        }
    }
    
    # Генерируем XML
    xml_output = xmltodict.unparse(data, pretty=True)
    print(xml_output)
    

    При этом никакого объекта CData в xmltodict не существует, он просто взял и придумал его.


    1. ITShchen
      23.05.2025 12:14

      Как передавать cdata данные в xmltodict.unparse, чтобы не экранировались символы < и >

      Если задать такой вопрос ИИ без контекста, он, скорее всего, начнёт гадать — "как бы это могло быть". Например, придумает несуществующий xmltodict.CData, как это и произошло.

      Чтобы получить адекватный ответ, лучше сразу задать чёткие рамки:

      • какие данные на входе и что ожидается на выходе;

      • какая библиотека используется и её версия;

      • что нельзя использовать (например, сторонние зависимости или нестандартные конструкции).

      Также стоит обозначить роль, в которой должен выступать помощник: разработчик, DBA, системный интегратор и т.д.

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

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

      Очень советую поискать в сети подходящую именно вам или под решаемую задачу.


      1. PeeWeee
        23.05.2025 12:14

        Спасибо за конструктивный и подробный комментарий, но не могу удержаться.
        Очень уж это напоминает сказку про варку каши из топора.


        1. ITShchen
          23.05.2025 12:14

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

          В каком-то смысле ИИ это прокачанная желтая уточка: правильно и конкретно сформулированный вопрос — это как минимум +100 к пониманию задачи, и половина пути к ответу.


          1. Keeper21
            23.05.2025 12:14

            Спасибо, но поняшка из ПВХ у меня уже есть.


            1. Rive
              23.05.2025 12:14

              Надеюсь, она не в банке.


          1. jkelly
            23.05.2025 12:14

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


        1. pda0
          23.05.2025 12:14

          Мои первые опыты были такими же. Выдумывал имена пакетов, имена функций и т.д. В целом, как я убедился, это лишь ограниченный инструмент. Чтобы задать ему правильный вопрос надо знать больше половины ответа. :) А потом ещё выудить правильный ответ.


        1. milkyway044
          23.05.2025 12:14

          Очень уж это напоминает сказку про варку каши из топора.

          Без понимания сути задачи, LLM может только «сварить воду».


      1. vlad4kr7
        23.05.2025 12:14

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

        И никакие промпты в этом не помогут.


      1. Wesha
        23.05.2025 12:14

        Чтобы получить адекватный ответ, лучше сразу задать чёткие рамки

        «Ответчик ждал тех, кто придет к нему за ответами.

        Вселенная? Жизнь? Смерть? Багрянец? Восемнадцать?

        Ответчик знает ответы на эти вопросы. Но ему требовался верно сформулированный вопрос. А чтобы верно сформулировать вопрос, нужно знать большую часть ответа.»


      1. BjanG
        23.05.2025 12:14

        хм, о3 спокойно подумав написал что либо через какие-то хаки, либо переходить на lxml/minidom
        Вопрос:
        Как передавать cdata данные в xmltodict.unparse, чтобы не экранировались символы < и >

        Ответ:

        К сожалению, сама xmltodict.unparse() не умеет генерировать «настоящие» блоки <![CDATA[ … ]]>.

        Параметр cdata_key и опция force_cdata=True используются только при разборе XML; при обратной сериализации библиотека просто экранирует спец-символы (<, >, &) и превращает их в &lt;, &gt;, &amp; — иного режима у неё нет .

        и потом ещё много инфы как это можно по кривому обойти если очень сильно хочется


    1. Dhwtj
      23.05.2025 12:14

      Можно найти в интернете такое неправильное решение. LLM просто не проверила решение.


    1. Wesha
      23.05.2025 12:14

      Аффтар в предложении

      А ChatGPT или Copilot отвечают подробнейшим образом за секунды, часто с пояснениями.

      забыл добавить «...и зачастую — неправильно».


      1. Dhwtj
        23.05.2025 12:14

        Я печатаю 400 символов в минуту

        Правда, такая фигня получается...


    1. awaik
      23.05.2025 12:14

      Вот вам для примера, что выдает Клод 4. Проверять не стал, но интересна ваша проверка этого ответа.

      Скрытый текст

      Проблема в том, что xmltodict по умолчанию не сохраняет информацию о том, что содержимое было в CDATA секции. Параметр force_cdata=True заставляет парсер обрабатывать все текстовые узлы как потенциальные CDATA, но не сохраняет оригинальную структуру.

      Вот несколько решений:

      Решение 1: Использование process_namespaces=False и strip_whitespace=False

      import xmltodict
      
      data = """<node1>
          <node2 id='test'><![CDATA[test]]></node2>
          <node3 id='test'>test</node3>
      </node1>"""
      
      # Парсинг с сохранением CDATA информации
      parsed = xmltodict.parse(data, process_namespaces=False, strip_whitespace=False)
      print("Parsed:", parsed)
      
      # Для восстановления CDATA нужно вручную пометить узлы
      parsed['node1']['node2']['#cdata-section'] = parsed['node1']['node2'].pop('#text')
      
      print("Modified:", parsed)
      print("\nUnparsed:")
      print(xmltodict.unparse(parsed, pretty=True))
      

      Решение 2: Кастомная обработка с отслеживанием CDATA

      import xmltodict
      import xml.etree.ElementTree as ET
      
      def preserve_cdata_parse(xml_string):
          # Сначала найдем все CDATA секции
          cdata_nodes = {}
          
          # Простой способ найти CDATA (для более сложных случаев нужен proper XML parser)
          import re
          cdata_pattern = r'<([^>]+)><!\[CDATA\[(.*?)\]\]></\1>'
          matches = re.findall(cdata_pattern, xml_string, re.DOTALL)
          
          for match in matches:
              tag_info = match[0]
              cdata_content = match[1]
              # Сохраняем информацию о том, что это CDATA
              if 'id=' in tag_info:
                  id_match = re.search(r"id='([^']*)'", tag_info)
                  if id_match:
                      cdata_nodes[id_match.group(1)] = cdata_content
          
          # Парсим XML
          parsed = xmltodict.parse(xml_string)
          
          # Восстанавливаем CDATA секции
          def restore_cdata(obj, cdata_map):
              if isinstance(obj, dict):
                  for key, value in obj.items():
                      if isinstance(value, dict) and '@id' in value and value['@id'] in cdata_map:
                          # Заменяем #text на #cdata-section
                          if '#text' in value:
                              value['#cdata-section'] = value.pop('#text')
                      restore_cdata(value, cdata_map)
              elif isinstance(obj, list):
                  for item in obj:
                      restore_cdata(item, cdata_map)
          
          restore_cdata(parsed, cdata_nodes)
          return parsed
      
      # Использование
      data = """<node1>
          <node2 id='test'><![CDATA[test]]></node2>
          <node3 id='test'>test</node3>
      </node1>"""
      
      parsed = preserve_cdata_parse(data)
      print("Parsed with CDATA preservation:", parsed)
      print("\nUnparsed:")
      print(xmltodict.unparse(parsed, pretty=True))
      

      Решение 3: Использование lxml (более надежное)

      from lxml import etree
      import xmltodict
      
      def parse_with_cdata_preservation(xml_string):
          # Используем lxml для более точного парсинга
          parser = etree.XMLParser(strip_cdata=False)
          root = etree.fromstring(xml_string.encode('utf-8'), parser)
          
          def element_to_dict(element):
              result = {}
              
              # Добавляем атрибуты
              if element.attrib:
                  for key, value in element.attrib.items():
                      result[f'@{key}'] = value
              
              # Проверяем текстовое содержимое
              if element.text:
                  # Проверяем, является ли это CDATA
                  original_xml = etree.tostring(element, encoding='unicode')
                  if '<![CDATA[' in original_xml:
                      result['#cdata-section'] = element.text
                  else:
                      result['#text'] = element.text
              
              # Обрабатываем дочерние элементы
              for child in element:
                  child_dict = element_to_dict(child)
                  if child.tag in result:
                      if not isinstance(result[child.tag], list):
                          result[child.tag] = [result[child.tag]]
                      result[child.tag].append(child_dict)
                  else:
                      result[child.tag] = child_dict
              
              return result
          
          return {root.tag: element_to_dict(root)}
      
      # Использование
      data = """<node1>
          <node2 id='test'><![CDATA[test]]></node2>
          <node3 id='test'>test</node3>
      </node1>"""
      
      parsed = parse_with_cdata_preservation(data)
      print("Parsed:", parsed)
      print("\nUnparsed:")
      print(xmltodict.unparse(parsed, pretty=True))
      

      Самое простое решение для вашего случая:

      import xmltodict
      
      data = """<node1>
          <node2 id='test'><![CDATA[test]]></node2>
          <node3 id='test'>test</node3>
      </node1>"""
      
      # Парсим
      parsed = xmltodict.parse(data)
      
      # Вручную помечаем node2 как CDATA
      parsed['node1']['node2']['#cdata-section'] = parsed['node1']['node2'].pop('#text')
      
      print("Result:")
      print(xmltodict.unparse(parsed, pretty=True))
      

      Это даст вам:

      <?xml version="1.0" encoding="utf-8"?>
      <node1>
          <node2 id="test"><![CDATA[test]]></node2>
          <node3 id="test">test</node3>
      </node1>
      

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


  1. mitzury
    23.05.2025 12:14

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


    1. obabichev
      23.05.2025 12:14

      Возможно тем, что там никто спрашивать уже не будет. Зачем идти в SO и писать пост, чтобы получить ответ бота, если можно написать боту и получить ответ. Быстрее и проще. И никого точно в этот момент не будет интересовать вопрос о том, откуда будут получать ответы наши потомки, и на чем будут обучаться боты для них.


      1. PeeWeee
        23.05.2025 12:14

        откуда будут получать ответы наши потомки,

        От таких же ботов.

        и на чем будут обучаться боты для них.

        На данных пользователей. Наверно даже сейчас, в рекламный конфетно-букетный период, они(LLM, точнее их владельцы) берут больше, чем дают. "Загрузите нам весь ваш проект целиком, и мы подрефакторим вам пару мелких корявостей".
        На уточняющих вопросах. Ничто не мешает прикинуться дурачком и вытащить из спрашивающего больше инфы, даже если понял вопрос и можешь ответить сразу.
        Степени удовлетворенности пользователей. Как обычно "голосование ногами" информативнее явных лайков-дизлайков.

        С этим как раз все хорошо. Даже если то, что сейчас называют ИИ, так и останется тупым "перемножителем матриц" и "поисковиком на стероидах", то все равно, даже для такого дилетанта и скептика как я, виден огромный потенциал.
        Текущую маразматическую копирастную систему так или иначе ждут глубокие реформы, если не революция. И, имхо, грядет огромная DRY революция во всех профессиях связанных с обработкой информации, начиная с вас, программистов. Не просто "фуфу велосипед, используй 100501-й фреймворк", и не monkey-zero-coding.

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


      1. Wesha
        23.05.2025 12:14

        Зачем идти в SO и писать пост, чтобы получить ответ бота, если можно написать боту и получить ответ. Быстрее и проще.

        «Быстрые, простые, правильные ответы» (*)

        (*) Выберите любые два из трёх


    1. Abstraction
      23.05.2025 12:14

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


  1. ForestDront
    23.05.2025 12:14

    Хабр тоже умирает. Очень большую часть статей пишут нейронки. Вот и эта статья сгенерённая.


    1. elnights
      23.05.2025 12:14

      Интернет умирает. Большинство людей уже – лишь репост-машины для сгенерённого контента.
      Матрица, которую мы заслужили.


  1. pnmv
    23.05.2025 12:14

    Stack Overflow, некогда главная платформа для программистов, переживает кризис: за два года трафик упал почти на 90%

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


    1. dv0ich
      23.05.2025 12:14

      Уверен, для программистов 60-70-х годов нынешние мнящие себя настоящими программистами - такие же вкатуны :)

      Я как жалкий вкатун, могу объяснить, почему трафик падает. Потому что:

      а) Проблема токсичности. На СНГ-шных ресурсах у экспертов обычно начинается открытая игра в "проберись до правильного ответа сквозь мои мудацкие кривляния и попытки самоутвердиться". На западных ресурсах токсичность обычно имеет форму пассивной агрессии, отчего тоже в общем не легче.

      б) Проблема квалификации. На СНГ-шных ресурсах эксперты часто пытаются сбить тему на то, что им знакомо - т.е. убеждают тебя, что тебе нужно В, а не А, о котором ты спрашиваешь. Вместо того чтобы просто промолчать. На западных ресурсах... такое ощущение, что люди на Западе привыкли куячить по шаблонам и малейшие нестандартные ходы приводят их в ступор. В общем, поизвелись как-то хакеры (в первоначальном смысле этого слова).

      Вот и получается, что подобным ресурсам остаётся только роль "эмоционально потрындеть". Если бы не чатботы, я наверное до сих пор бы колупался на самом базовом уровне, продираясь через экспертные вздохи и закатывания глаз. Чатботу же пофиг, сколько раз ты задашь ему тупой вопрос.


      1. pnmv
        23.05.2025 12:14

        Сбить тему, как правило, пытаются не эксперты, а кто попало с экспертным уровнем самомнения. Да и, скорее, пытались, когда-то давно.

        Мне, всё реже встречаются эпичные форумные срачи, кроме, разве что, веток обсуждения, времён полтавской битвы. Насколько я понимаю, они постепенно вышли из моды, да и тогдашние модераторы (матераторы, как мнргие подписывались, лет двадцать назад) повзрослели или сменились другими, обладающими более зрелым взглядом на феномен "форумного флейма".

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

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


  1. ArtyomOchkin
    23.05.2025 12:14

    К примеру, ChatGPT gpt-4.1-mini до сих пор путается при кодировании, в частности, на С# код пестрит ошибками: в одном месте незарегистрирован класс, в другом - метод, доступный начиная с C# 9 (необходимый в том проекте, над которым я экспериментировал - С# 7.3 (UWP программа для Windows 10 Mobile). Это при явном указании версии языка.

    В общем, недочётов много, но простенькую веб-страничку или небольшую игру на js он делает вполне неплохо. А вот качественно кодить на более низкоуровневых языках у большинства llm пока получается не очень (ну или я не умею из заставлять делать это).


    1. MoksFalder
      23.05.2025 12:14

      Сомневаюсь насчёт простеньких веб-страниц. У всех моделей очень плохо обстоит дело с вёрсткой на HTML + CSS.


    1. sic
      23.05.2025 12:14

      На C# я пишу все последнее время с Qwen'ом. Не реклама, да и я не знаю как бы формализовать ощущение, почему мне кажется, что он достаточно хорош. Но он уверенно пишет код по описанию, лучше чем я сам, когда не особо думаю. Когда задача позволяет не особо думать, я сам пишу строчек 50 в час, с ним, ровно на порядок больше плюс минус ровно того же. За последнее время я лишь удивился, насколько редко нужно на самом деле вдумчиво что-то решать, но это, конечно от задач и области зависит. Мозг, кстати, тоже быстро меняется, теперь что-то, что я точно знаю, что LLM напишет, писать самому противно.


      1. ArtyomOchkin
        23.05.2025 12:14

        Спасибо, возьму на заметку :).


    1. rPman
      23.05.2025 12:14

      К примеру, ChatGPT gpt-4.1-mini до сих пор путается при кодировании

      gpt-4.1-mini - это очень слабая модель, компромис между стоимостью и умениями, она занимает ту нишу, что до нее занимали модели gpt-3.5 (и вообще все -mini это компромис).

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

      Хотите что то вразумительное, используйте openai:o3, или буквально на днях вышедший anthropic:claude_sonnet_4 или google:gemmini_2.5_pro...

      p.s. ее использовать имеет смысл как помощник, писать короткие снипеты (замена хелпа но только там где все и так известно, шаг влево/вправо будут галлюцинации), анализировать логи или коммиты (с оговорками) или к примеру объяснить ошибку компилятора согласно указанному коду.


    1. kuragami
      23.05.2025 12:14

      А вот да. Больше всего у меня проблемы именно с .net старых версий. Каждый раз пишу ему (всем популярным) версию .net, что у меня не поддерживается формат строк $. И каждый раз он мне генерирует вывод строк через $. Ааа, первые десятки раз я упорно скармливал вывод ошибок от csc, но потом стал просто подсвечивать любые вхождения $ и сразу править руками. Вообще не знаю .net, но иногда приходится. Я не хочу разбираться в новом языке и учить всю его обвязку, так что приходится пользоваться llm, не горжусь, но времени на детальное погружение просто нет.


  1. lubaskinc0de
    23.05.2025 12:14

    все просто, лёгкие вопросы задаешь LLM и в большинстве случаев получаешь нормальный ответ с объяснениями и действительно в доброжелательном тоне. С сложными вопросами идёшь в комьюнити (например в телеграмм чаты). А SO вещь какая то странная с точки зрения вопрос задать, я однажды там вопрос задал и спустя месяц всё ещё не получил ответ, а учитывая их правила модерации и так далее, чтобы туда "правильно" вопрос написать нужно сильно постараться. Поэтому очевидно что большинству будет просто приятнее и удобнее задать вопрос LLM, который тебя не пошлет, который выдаст тебе моментально ответ и ответит на все твои вопросы


  1. Dhwtj
    23.05.2025 12:14

    разве они не взяли деньги с нейросетей за обучение?


    1. legolegs
      23.05.2025 12:14

      По задумке основателей SO база данных вопросов и ответов находится в публичном достоянии. Там даже есть функция выгрузки дампа, как на Википедии.
      Коммерсы, которые сейчас владеют и рулят SO очень этим недовольны и своими попытками выжать лёгкие деньги или хотя бы похайпиться разозлили завсегдатаев ресурса (кстати, мне кажется, что автор статьи недооценил, насколько конфликт менеджмента с самыми активными пользователями мог повлиять на показатели).


  1. pda0
    23.05.2025 12:14

    Гугл, кстати, не отстаёт. Сегодня увидел, что при поиске ITшных вопросов (может уже и не только), первым выскакивает ИИ сгенерированный ответ.

    Мне другое интересно. Если подобные форумы, где люди обменивались опытом умрут, то где ИИ будет актуализировать свои знания? Хватит ли только чтения гитхаба?

    Потому что коммерциализация ИИ-ответов явно идёт по принципу: "сегодня не сделаем - завтра будет поздно, а послезавтра хоть потоп".


    1. Wesha
      23.05.2025 12:14

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

      Для вдумчивой медитации: Александр Лесь. «Шпаргалка». «Пионер» № 8, 1990


  1. michael_v89
    23.05.2025 12:14

    Я думаю, причины могут быть такие:

    1. Всё уже спросили.

    2. Я заметил, что Google стал чаще выдавать статьи на Medium и ссылки на документацию, чем ссылки на SO. Возможно это связано с датами - когда вопрос на SO задан давно, а статья на Medium опубликована недавно.

    3. Google часто сам отвечает на вопрос в отдельном сообщении перед результатами поиска.

    4. Я часто ищу разовые вопросы в режиме инкогнито, чтобы в истории не оставались ссылки, которые открыты один раз, и cookies на всяких сайтах. Недавно на SO добавили защиту от ботов, которая появляется каждый раз в режиме инкогнито, и большое окно для подтверждения использования cookies. Причем на каждом сайте из группы SO отдельно. Теперь у меня меньше желания туда заходить, надоедает это всё кликать каждый раз.


    1. pda0
      23.05.2025 12:14

      Всё уже спросили.

      Ага и новые версии перестали выходить, новые редакции, новые языки появляться, новые фреймворки... :-D


      1. michael_v89
        23.05.2025 12:14

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


  1. onets
    23.05.2025 12:14

    Ну то есть никого не смутило падение с 200 тыс до 100 тыс до появления чат гпт? Но об этом заговорили только с появлением нейронок.

    То есть график тоже сгенерирован нейронкой?


  1. axion-1
    23.05.2025 12:14

    Самые популярные и часто задаваемые вопросы уже есть на SO и гуглятся. Те что не гуглятся, люди предпочитают спрашивать у ИИ. Почему - думаю, понятно каждому кто хоть раз задавал вопрос на SO.

    Оставшиеся 10% скорее всего то на что ИИ не может дать достаточно качественного ответа. Из личного опыта - совсем не факт что и SO сможет.


  1. legolegs
    23.05.2025 12:14

    Лично у меня сугубо положительный опыт вопросов и ответов на SO. Думаю, что моя манера мыслить и формулировать мысли согласуется с философией SO. Если нормально задать вопрос, то и на SO и ИИ ответят (только SO правильно, а ИИ как повезёт), а вот если просить "напиши за меня" или начать с тупняка, а формулировать по-человечески только после того, как два-три раза переспросили, то с SO тебя погонят тряпками, а ИИ будет терпеть, да.
    tl;dr: баба с возу - кобыле легче


  1. Lx6g1ZG1
    23.05.2025 12:14

    Много раз было такое: долго спрашиваешь ИИ и он не выдаёт решение задачи - идеш в google и находишь решение за 5 минут


    1. sic
      23.05.2025 12:14

      Много раз, конечно было. За тот год, раз 100, за этот раз 20, за последний месяц уже два раза. Безобразие какое-то.


  1. Mimizavr
    23.05.2025 12:14

    картинка в тему


    1. Wesha
      23.05.2025 12:14

      Но Учитель по-прежнему умнее их всех вместе взятых, хоть и не может так резво киячить.


      1. sic
        23.05.2025 12:14

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


  1. NNikolay
    23.05.2025 12:14

    Меня на работе SO забанил, видать по айпишнику. Видать боятся скрейпинга теперь. Это, конечно, трафику не помогает. Но я не уверен, что эти 90% трафика самые монетизируемые. Стандартные ответы намстандартные вопросы.


  1. milkyway044
    23.05.2025 12:14

    Stack Overflow умирает?

    Это не смерть, а переход в другое состояние — как вода, ставшая паром.


  1. RedHead
    23.05.2025 12:14

    Они просто не адаптировались. Им следовало создать фейковых пользователей (ИИ), которые бы задавали вопросы. Первый ответ тоже должен был быть сгенерирован ИИ — тогда живые люди набегали бы, указывали на ошибки и улучшали решение.


    1. PeeWeee
      23.05.2025 12:14

      Вот Вы так сейчас все секреты хабра сольете :))


  1. nochnoj
    23.05.2025 12:14

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


  1. Sollita
    23.05.2025 12:14

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


  1. AntonLarinLive
    23.05.2025 12:14

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


    1. rPman
      23.05.2025 12:14

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


    1. KonstantinTokar
      23.05.2025 12:14

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


  1. Ivan22
    23.05.2025 12:14

    вот раньше зайдет новичек на форум, спросит что-нить. А ему сразу прилетает "RTFM, ламер". Ну вот дожили, теперь AI заменяет RTFM.


    1. Moog_Prodigy
      23.05.2025 12:14

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

      Вопрос звучал не очень просто - есть много wi-fi сетей, и есть текстовый файлик с их именами и паролями к этим сетям. Требуется создать этакий роутер (на базе компа), который всегда бы обеспечивал интернет на выходном интерфейсе, и если внешний линк пропадает - подключаемся к другому.

      Орали: а зачем тебе такое, смени провайдера, купи кучу 4G модемов, заведи трех провайдеров (собсна от этого и отталкивался), вот ровно все, что угодно, кроме указания даже куда рыть.

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

      Пошел по этим пунктам, и все у меня получилось. Довольно просто, на самом деле. Ну и что, что он иногда изобретал несуществующие команды и ключи? Не страшно.

      Я откладывал это дело уже почти 20 лет, потому как понимал, rtfm это путь в такую бездну, и я может и стану потом гуру линукса, но мне оно не к чему, у меня другие интересы. Но с другой стороны знал, что линукс нужен, как в вышеприведенной задачке, или NAS какой сделать, это мне нужно. А человека, могущего терпеливо, шаг за шагом разжевать мне простые вещи типа ls, ifconfig, df и вот это вот все базовое - за это время так и не встретил. Точнее встречал, но они вечно занятые, и их можно понять. Встретил LLM - и вот тут мне карта то и поперла :)


      1. Wesha
        23.05.2025 12:14

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

        А Вы с другой стороны посмотрите: мне как профессионалу, который чинит мелкие баги строгим взглядом исподлобья, средние баги — добрым словом, крупные баги — метким плевком, думаете, интересно очередном хомячку объяснять, почему у него в строке 'Hello #{@username}' интерполяция не выполняется? Почему я должен тратить время на печатание «потому что интерполяция выполняется только в строках, ограниченных двойными кавычками, а не одинарными, дебил» вместо «RTFM!» — ведь это реально написано в документации!

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


        1. rPman
          23.05.2025 12:14

          Почему я должен тратить время на печатание

          вас никто не заставляет, вы не целевая аудитория вопросов и ответов.

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


        1. axion-1
          23.05.2025 12:14

          Если не хотите помочь, как минимум можете предоставить это другим и не засорять эфир.


          1. Wesha
            23.05.2025 12:14

            Если не хотите помочь, как минимум можете предоставить это другим и не засорять эфир.

            «Дай человеку рыбу, и он будет сыт остаток дня. Дай человеку удочку, и он будет сыт остаток жизни.» ©

            Ежели ж человек отбрыкивается от удочки аки мартышка от очков, то дедушка Крылов ему судья.


            1. KonstantinTokar
              23.05.2025 12:14

              Вы не всегда понимаете что для конкретного человека удочка, а что рыба.


              1. Wesha
                23.05.2025 12:14

                И в каком же случае манул не является удочкой?


                1. KonstantinTokar
                  23.05.2025 12:14

                  Например в случае необъяснимой слепоты читателя, не замечающего в мануале ответа.

                  Когда это разовая работа, которая выполняется вне обычных обязанностей, и не будет повторена.

                  Когда из-за особенностей конкретного человека не получается перевести теоретическое описание в практическок решение.

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


                  1. Wesha
                    23.05.2025 12:14

                    в случае необъяснимой слепоты читателя, не замечающего в мануале ответа.

                    Когда из-за особенностей конкретного человека не получается перевести теоретическое описание в практическок решение.

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

                    Когда это разовая работа, которая выполняется вне обычных обязанностей, и не будет повторена.

                    Поживите с моё — и осознаете, что нет такой работы, которая не будет повторена в том или ином виде.

                    Вы будете счастливы вместо простого ответа получите этот список?

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


  1. Format-X22
    23.05.2025 12:14

    Чтобы навсегда заменить SO надо не только знать ответы оттуда, а ещё и пополнять новыми вопросами и новыми ответами. LLM ведь знает прошлую информацию и похожую по шаблонам. Но не знает нового. Если нового не будет - какой толк от LLM без SO?


    1. KonstantinTokar
      23.05.2025 12:14

      LLM прочитает все мануалы и узнает новое. Это инструмент, а не волшебная палочка.


  1. kasiopei
    23.05.2025 12:14

    Только вот нейросеть обучена и на Stack Overflow :-)