最近又在翻 GitHub 的 Octoverse 年度报告,有一组数据让我这种写代码的人很难不停下来多想一会儿:全球开发者数量已经超过 1.5 亿,Python 正式超过 JavaScript 成为平台上最流行的语言,而 ChatGPT 这个名字出现在公共代码贡献者的头部名单里。很多人可能觉得,Octoverse 就是一份年度统计,看看热闹就过去了。但如果你把时间轴拉到五年前再回看,会发现这些数字背后真正有意思的事情:AI 对开发者选择的重塑,已经从"极客尝鲜"变成了"行业默认"。
这篇文章就聚焦一个问题:Octoverse 数据到底从哪些维度证明了 AI 改变了开发者的选择?我会把报告中和 AI 相关的关键发现拆开讲,结合这几年 AI 编程工具的实际使用经历,聊聊语言排行榜变动的真正推手、AI 如何改变普通人的日常编码方式、全球开发者版图为什么突然变了,以及作为普通开发者,面对这些趋势应该做出什么判断。
1. Octoverse 到底是什么:为什么它比多数技术调研更接近真相
1.1 数据规模决定了结论的可信度
在拆数据之前,得先搞清楚 Octoverse 这份报告的底细。它不是问卷调研,也不是抽样访谈,而是 GitHub 基于平台上的真实行为数据生成的分析报告。GitHub 目前承载了全球最庞大的代码托管量,数以亿计的仓库、几十亿条提交记录、无数个 Issue 和 Pull Request,这些行为数据每天都在实时产生。
这意味着什么?意味着 Octoverse 反映的不是"开发者说自己会用什么",而是"开发者实际上在用什么"。问卷可以说谎,行为很难。比如一个人在接受调研时可能说自己正在学 Rust,但他的 GitHub 提交记录里全是 Python 和 TypeScript,这时候真实行为数据显然更能说明问题。
我一直在看这份报告,一个重要原因是它统计的口径特别全。它不仅看语言排行,还会看地区增长、开源项目活跃度、工具链采用率、安全漏洞修复速度,甚至分析开发者从创建账号到第一次提交的平均时间。这些维度合在一起,才能拼出一张比较完整的行业全景图。
1.2 为什么今年的报告尤其值得看
今年的 Octoverse 和往年有一个本质区别:AI 不再是边角料,而是直接爬到了报告的核心位置。
前几年的报告里,AI 更多体现在"相关项目数量在增长"这种外围描述。但这一次,AI 的影响已经渗透到了最基础的数据里——语言排行榜变了,热门项目变了,开发者的工具链变了,甚至不同地区的开发者增长曲线都变了。这已经不是"AI 赛道在升温",而是整个软件开发的底层生态在被重新塑形。
所以这篇博文不是带你简单读一遍报告摘要,而是从数据出发,把 AI 到底改写了开发者哪些"选择",一条条拆给你看。
2. Python 反超 JavaScript:排行榜变动的背后是 AI 在重新定义"基础语言"
2.1 一次迟到多年的超越
今年 Octoverse 最出圈的一个数据点,就是 Python 在 GitHub 上首次超过 JavaScript,成为最流行的语言。JavaScript 在 GitHub 上的领先地位保持了很多年,背后逻辑也很好理解——前端生态的爆发让 TS/JS 成了几乎每个 Web 项目的标配,Node.js 又把它带到了服务端,再加上 Electron 这类桌面方案,JavaScript 几乎是无处不在的。
但 Python 超过它,其实是一种必然的回归。如果你看更广泛的编程领域,Python 在数据科学、机器学习、自动化脚本、网络安全、运维工具这些方向一直是统治级的存在。过去 JavaScript 的领先,很大程度是因为 GitHub 上前端项目和全栈项目的基数太大。而 AI 时代的到来,直接给 Python 加了一根巨大的杠杆。
2.2 真正的推手:AI 生态几乎全部站在 Python 这边
如果你试着在本地跑一个开源 AI 项目,大概率绕不开这几个名字:PyTorch、TensorFlow、Transformers、LangChain、llama.cpp 的 Python 绑定。过去几年最火的 AI 应用开发框架,几乎清一色以 Python 为首选接口。做模型推理服务的时候,虽然底层可能是 C++ 或者 CUDA,但开发者的第一接触层一定是 Python。
AI 对 Python 的带动不只是库的丰富程度,还有学习路径。每年进入这个行业的新人,很多人是因为想接触 AI 才学编程的,而所有 AI 入门教程的第一行代码几乎都是 Python。这就形成了一个飞轮:AI 项目用 Python → 更多人为了做 AI 学 Python → Python 社区出现更多 AI 相关项目 → 进一步吸引更多人。Octoverse 的语言数据,只是把这个飞轮的结果量化出来了。
我自己的体会也很明显。几年前写技术方案时,首选服务端语言一般是 Java 或者 Go;但今年接的几个内部工具和小型 AI 应用,我打开编辑器第一下就是建一个 Python 虚拟环境。不是 Python 变强了,而是它离"把想法跑起来"最近。
2.3 语言排行的变化,对普通开发者到底是好事还是压力
看到 Python 超了 JavaScript,很多前端出身的朋友可能会焦虑:是不是该马上投奔 Python?我的看法是,别急着追。
语言排行是生态结果的统计,不是个人路线图的指令。如果你做的前端工程化方向,JavaScript/TypeScript 依然是不可替代的;如果你做移动端,Swift 和 Kotlin 的生态依然稳固。Python 的上涨不代表其他语言会消失,只意味着"AI 开发需求"这个增量在整体大盘里占比越来越大了。
真正值得关注的,是 Python 快速上涨释放出的信号:具备 AI 工程能力已经成为一种通用竞争力。你不一定非要转行做算法工程师,但会用 Python 调用模型、处理数据、写自动化脚本,已经变成和"会写 SQL"一样标配的技能了。
| 维度 | JavaScript/TypeScript 的优势 | Python 的优势 |
|---|---|---|
| 主要战场 | Web 前端、全栈、Node 服务端 | AI/数据科学、自动化脚本、后端服务 |
| AI 生态 | 有 Transformers.js、TensorFlow.js,但偏应用层 | PyTorch、Keras、LangChain 等核心生态齐全 |
| 入门门槛 | 需要理解 DOM、浏览器、异步模型 | 语法简单,贴近自然语言 |
| 就业面 | 前端岗位需求仍然巨大 | AI 工程、数据岗位增量明显 |
| 适合谁 | Web 开发者、全栈工程师 | AI 应用开发者、数据分析、自动化方向 |
3. AI 代码助手从尝鲜到默认:生成的代码正在成为协作对象
3.1 数据透露出来的另一种变化
Octoverse 报告里还有一个非常有意思的细节:ChatGPT 在公共代码贡献者的名单里排进了头部。不要误会,不是说 AI 直接写了多少核心代码,而是大量开发者开始把 AI 生成的代码片段提交到 GitHub,AI 已经成为很多 Commit 的作者之一。
这和我过去两年的实际体感完全一致。最早用 AI 编程工具的时候,周围人觉得这是"玩具",补全几个样板代码还行,一上生产就露馅。但到了今年,身边几乎所有写代码的朋友,无论是前端、后端还是测试,工作流里都已经离不开 AI 代码补全和对话式生成工具了。
GitHub 自己的 Copilot 相关数据增长也很能说明问题:从最初只支持几个主流 IDE,到现在覆盖 VS Code、JetBrains 全家桶、Neovim;从只能补全单行代码,到能理解整个仓库的上下文、直接生成跨文件改动。工具能力的跃迁,本质上是把开发者从"逐字打字"里解放了出来。
3.2 AI 协作之后,编程工作的重心变了
我自己用得最深的场景有三个。第一是写样板代码,比如一个 CRUD 接口的 Controller-Service-Mapper 三层结构,过去要手敲五六分钟,现在直接给 AI 描述清楚需求,几秒钟就能生成,我只需要检查边界和处理异常。第二是写测试用例,AI 在理解函数行为之后生成边界测试的能力,比大部分新人写的都要全面。第三是处理跨语言的胶水代码,比如写一个从 Python 调 Java 服务的 HTTP 客户端,细节繁琐、逻辑简单,AI 几乎不会出错。
但这里必须说清楚一个容易被误解的地方:AI 生成代码变多,不代表编程变简单了,而是"编程"的核心技能从打字变成了审稿。以前写代码最耗时间的是把思路落到语法上,现在思路到语法这一段,AI 能帮你走完大半。但 AI 生成的内容是否正确、有没有安全隐患、性能是不是合理、边界情况处理得好不好,这些判断只能由人来完成。
我身边从 AI 工具里受益最大的人,恰恰不是代码写得最差的人,而是原本就理解业务、能清晰描述需求的人。他们对 AI 生成了半成品之后,能快速发现问题、给出更准确的修改指令,而不是全盘接受。这个差距,会随着 AI 工具普及越拉越大。
提醒一点:把 AI 当成协作者,而不是最终答案。我见过不少同事直接把 AI 生成的代码推到远端,结果线上出了事故。AI 生成代码的速度越快,代码评审这件事就变得越重要,不能省。
3.3 提示词能力,正在变成编码基本功
这个变化是慢慢浮现的,但越来越清晰:提示词能力正在成为编程基本功的一部分。过去我们培训新人,教的是语法、框架、工程规范;现在需要额外教他们怎么和 AI 描述需求、怎么给上下文、怎么在对话里逐步修正。
比如我让 AI 帮我写一个分页查询接口,普通的问法是"用 Java 写一个分页查询",这种拿到的往往是通用模板,还得自己改半天。好一点的做法是把表结构、字段注释、前端传参格式、接口返回格式一次性给到 AI,再补充一句"要考虑数据库索引、慢查询、空值处理"。这两者的效果差距,不比"会写代码"和"不会写代码"的差距小。
4. 全球开发者版图在变:AI 降低了起点门槛,也改变了地理分布
4.1 开发者总规模的增速超过了很多人预期
Octoverse 报告里另一个值得留意的数据,是全球开发者总量已经超过 1.5 亿,而且增速还在加快。这个数字在五年前大概只有现在的一半多点。增长从哪里来?除了传统软件行业的从业者,大量原本从事非技术工作的人也正在进入编程领域,而 AI 工具在其中提供了相当大的助力。
为什么这么说?过去一个完全没有基础的人,想做出第一个程序,需要跨过语法、工具链、启动环境几道门槛。AI 对话式编程解决了其中很大一部分:不知道怎么查 API 的时候直接问 AI,不知道怎么装环境的时候直接粘贴报错信息给 AI,连写脚本做数据处理这种以前需要专门学的技能,现在也可以靠自然语言描述让 AI 辅助完成。
我自己观察到的现象是,今年身边突然多了很多"非典型开发者"——市场岗位的同事在学 Python 做自动化报表,运营的同学用 AI 生成小工具处理重复劳动,甚至产品经理开始自己写测试脚本来验证接口逻辑。这种渗透,在 Octoverse 的总量数据里,体现为新增用户的持续涌入。
4.2 地区增长的差异背后,是开发方式的变化
今年的报告还显示,开发者数量增长最快的地区并不是传统的欧美技术中心,而是印度、非洲、南美等新兴市场。美国依然是开发者总数最多的国家,但人口基数更大的发展中国家的追赶速度非常快。
这里面的确有很大一部分是人口红利和互联网普及的结果,但 AI 也在其中扮演了特殊的角色。最典型的例子是移动优先地区,很多人第一次接触编程不是坐在电脑前打开 IDE,而是在手机上用 AI 对话应用生成一段代码,再找一台电脑把代码跑起来。这种"对话式编程"极大降低了初期的设备门槛和语言障碍,让以前需要读大量英文文档才能上手的编程,变得可以直连需求、单刀直入。
对这些市场的普通年轻人来说,AI 工具提供的已经不是"更好用的编辑器",而是一条成本极低的入场券。一个新德里或者拉各斯的年轻人,只要手机能上网,就能用 AI 学习编程、产出代码、参与开源。这是过去完全无法想象的。
4.3 门槛降低带来的新问题:质量分层会越来越明显
不过门槛降低也有另一面:低质量代码的生成速度同样在加快。Octoverse 的各项质量相关指标显示,AI 生成代码的引入让仓库中"需要更多人 Review"的代码量增加了。这听起来像一句废话,但背后的系统性问题值得深思。
以前一个新手的代码放在仓库里,维护者扫一眼就能看出问题;现在 AI 生成的代码语法上非常规范,风格上也挑不出刺,但可能在业务逻辑上完全走偏。这种"看起来很专业但实际上没理解需求"的代码,反而比新手写的烂代码更难审查,因为你需要花更多时间去确认它到底对不对。
这给开源维护者和团队 leads 提出了新要求:代码评审不能只看格式和样式,要更多地关注逻辑语义。也提醒了所有享受 AI 工具便利的开发者:你写的每一条 Prompt 里的背景信息,都直接影响 AI 输出质量。背景描述得越清楚,生成的代码就越贴近真实需求,后续返工就越少。
5. 数据回归日常:AI 时代的学习路线与工具选型,我这样做判断
5.1 面对语言热榜变化,普通人最值得抓的三个方向
看完 Octoverse 的大盘数据,回到我们每个人自己身上:到底该学什么语言、用什么工具、怎么安排学习路线?我的判断逻辑很简单——不追热榜,追生态位。
第一个方向,是"Python + AI 应用开发"。如果你还没有一个主力编程语言,或者想在现有技能树上增加一个分支,Python 是门槛最低、见效最快的选择。这里的重点不是学着玩,而是围绕 AI 应用做实际产出:调 API 跑通一个模型、做一个文档问答工具、写一个自动化脚本处理日常任务。只要有一个拿得出手的项目,知识就沉淀下来了。
第二个方向,是"提示词工程 + AI Agent"的协作能力。这不算传统意义上的编程,但它是 AI 时代最实用的技能。你不需要会写模型,但要知道怎么把任务拆解成 AI 能理解的步骤,怎么给 AI 提供足够的上下文,怎么在 Agent 执行流程中加入人工检查点。
第三个方向,是"领域知识 + AI 工具"。你自己本身所在行业的业务知识,在 AI 工具放大下会变得更有价值。比如懂财务的人用 AI 写财报分析脚本,懂运营的人用 AI 搭数据看板,这些跨界组合产出的效率提升,往往比单纯卷编程语言更明显。
5.2 几种 AI 编程工具的选型感受
这几年我前后试过 GitHub Copilot、Codeium、通义灵码、ChatGPT 网页版配合 VS Code 的各种插件,也折腾过本地部署大模型。要说结论:没有完美的工具,只有适合当下任务的组合。
| 方式 | 优势 | 短板 | 适合场景 |
|---|---|---|---|
| GitHub Copilot / 类 Copilot 插件 | 与 IDE 深度集成,补全顺滑 | 需要订阅,对中文理解一般 | 日常写代码的"贴身助手" |
| 对话式 AI 助手(ChatGPT / Claude 等) | 理解复杂需求,能生成整段代码 | 需要在编辑器与网页间切换 | 写方案、查资料、处理疑难问题 |
| 本地部署大模型(Ollama + CodeLlama 等) | 数据不出本机,无外部依赖 | 对硬件要求高,效果受限 | 隐私敏感项目、离线环境 |
| 领域化 Agent 工具(Dify、Coze 等) | 可以搭完整流程,而非单点问答 | 学习成本偏高 | 做 AI 应用产品的原型 |
我的主力方案是"IDE 内补全 + 浏览器对话助手"双轨跑:写代码过程中的补全交给 IDE 插件,遇到需要设计接口、理清思路的场景切到对话式 AI 慢慢聊。这套组合的好处是即时性和深度兼顾,唯一要克服的是"频繁切换打断心流",我现在一般会先把需求在对话里聊明白,再回 IDE 落地,尽量减少来回。
5.3 本地部署 AI 值不值得折腾
最近"本地部署 AI"的热度越来越高,不少朋友问我要不要自己也部署一个。我的看法是分人。
如果你是做隐私敏感的业务开发,或者你所在的公司不允许代码出内网,那本地部署一个代码模型是有必要的。以 Ollama 为代表的一键部署方案已经把这事的门槛降得很低,照着文档拉模型、起服务、接 IDE,通常半天就能跑通。硬件方面,Apple Silicon Mac 16G 内存以上或者带 8G 以上显存的 N 卡就能有一个还不错的体验。
但如果你是抱着"本地部署 AI 比在线服务强"的心态去折腾,大概率会失望。本地小参数模型的效果和在线大模型之间还有明显差距,尤其是在理解复杂需求、处理中文语境的时候。我自己试过用 7B 模型做日常代码补全,偶尔能给出惊喜,但大部分时候的回复质量和在线工具没法比。所以本地部署更适合当成"能力兜底"和"学习大模型原理的玩具",不是替代在线服务的方案。
5.4 几个避免踩坑的实操提醒
最后列几条这段时间反复踩过、也反复改过的坑,给正要转型 AI 工程方向的朋友做个参照。
第一,环境配置类问题优先甩给 AI,但不要硬背报错。让 AI 帮你分析报错时,一定把完整日志、操作系统版本、依赖版本都贴给它,缺了任何一项都有可能在瞎猜。第二,AI 生成的代码一定要自己跑一遍测试再合入,不要因为"看起来对"就跳过验证。第三,学习 AI 工程不等于学调库,尽量理解一下模型推理的基本原理,至少搞清楚 Token、上下文窗口、微调、RAG 这些词是什么意思,否则遇到问题会无从下手。第四,遇到超出理解范围的取舍时,多对比几个来源,AI 给出的建议偏差可能不大,但代码风格、依赖选择这种事还是以社区主流方案为准。
我能明显感觉到,AI 把开发者推到了一个全新的位置:它替我们承担了从"想法"到"代码"之间大量的机械劳动,但同时也把"判断力"变成了更关键的竞争力。Octoverse 的数据只是把这种变化可视化,真正要适应它,还得靠我们在每一天实际写代码的过程里,不断调整自己的工作方式。