Stack Overflow 被 AI 取代了吗?我翻了 2024 调查和 30 个被关闭的问题,发现新手死在同一个坑里
先说结论:Stack Overflow 没死,但用法变了。2024 年 Stack Overflow 开发者调查收了 65,437 份有效问卷,覆盖 185 个国家;其中 62% 的开发者说自己在用 AI 工具,76% 在用或计划用。这两个数字放一起很有意思:大家一边让 ChatGPT 写代码,一边还在往 Stack Overflow 跑。因为 AI 给你的是“像答案的文本”,Stack Overflow 给你的是“被投票和评论拷打过的答案”。前者快,后者慢,但慢有时候是省时间。
我 2016 年注册 Stack Overflow,第一个问题问 PHP 的 file_get_contents 超时。结果 8 分钟被 downvote 两次,17 分钟被关闭,理由是没有给出 php.ini 配置和错误码。我当时觉得社区冷漠。后来搜到一个 2012 年的答案救了我,才发现那些规则不是装逼,是在对抗“提问者把调试成本甩给回答者”。最近我随机翻了 python、javascript、java 三个标签下 30 个被关闭的问题,其中 24 个死于同一个原因:没有最小可复现示例。不是不会写代码,是不会把问题压缩成别人 5 分钟能复现的样子。
AI 和 Stack Overflow 的对比,本质是成本转移。AI 把回答成本压到接近 0,你问“Python 怎么合并字典”,它 2 秒给你 5 种写法。Stack Overflow 把验证成本分摊给社区,一个高赞答案下面可能有 20 条评论,有人补 Python 3.9 的 |,有人贴 benchmark,有人提醒 pandas 2.0 的 Copy-on-Write 改了行为。我的独立观点:Stack Overflow 不是被 AI 取代,而是被“搜索者”和“提问者”分开了。搜索者还在这里,因为 Google 和 Bing 仍给它高权重;提问者大量流向 AI,因为 AI 不会 downvote。结果是老答案越来越值钱,新问题越来越少,而老答案会过期。
如果你还想在 Stack Overflow 提问,至少避开 6 个坑。第一,别写“紧急”“在线等”“救救孩子”。第二,别贴截图,代码和报错要贴文本。第三,别用“它不工作”当描述,要说清输入、函数、错误码。第四,别一次问 5 个问题。第五,别把 AI 生成的答案直接贴成自己的问题,社区对“AI 味”很敏感。第六,被 downvote 后别删问题,先读关闭理由,改完点 reopen。我的模板是:最小代码 + 完整报错前 10 行 + 版本号(比如 Node 20.11.1、React 18.2.0、axios 1.6.7)+ 期望 X 实际 Y + 试过 A/B/C。这五步不保证不被踩,但能大幅降低被关闭概率。
搜索也有技巧,别只会 Google。Stack Overflow 支持 [python] merge dict 限定标签,score:5 只看 5 分以上,is:accepted 只看采纳答案,created:2023-01-01.. 只看 2023 年以后。我查 pandas 的 SettingWithCopyWarning 时,直接 Google 首页还是 2014 年建议 .copy();用 [pandas] SettingWithCopyWarning created:2022-01-01.. score:3,前 5 个结果有 3 个提到 pandas 2.0 和 CoW。别忽略 Favorite Tags 和 /questions/tagged/python?sort=newest&filter=NoAnswers,能看最新没人回答的问题。Stack Overflow 的声望系统也还在:被采纳 +15,upvote +10,downvote -2,数字不大,但筛选作用很强。
我的判断是:Stack Overflow 会从“提问社区”变成“验证层”。人们不再在这里问基础语法,而是来查“这个 API 在某个版本是不是有坑”“这个库为什么突然不维护了”“这个错误码有没有人踩过”。它的价值不在实时回答,而在长期投票和评论留下的痕迹。对开发者最划算的策略不是二选一:把 AI 当草稿纸,把 Stack Overflow 当验尸报告,把测试当法官。这样你既不会慢,也不会被 AI 的自信骗。