你的这个观察特别准,现在 AI 辅助开发确实已经成为开源项目技术选型的隐性重要考量,FFmpeg 选 Zig、llama.cpp 标注 AI 开发部分,本质都是行业适配 AI 开发趋势的体现,只是不同项目的应对方式不同,核心逻辑可以归为这几点:
AI 生成代码的最大问题是容易出
类型错误、内存问题(学术研究显示 94% 的 LLM 编译错误是类型检查失败),而 Zig 的设计刚好踩中了 AI 开发的痛点:它和 Rust 一样强调
静态类型、内存安全,还比 Rust 语法更简洁,AI 生成的代码更易被语言本身的规则校验;同时 Zig 的
零隐藏开销、编译时计算特性,能让 AI 生成的高性能底层代码,在落地前就被过滤掉大部分性能冗余,这对 FFmpeg 这类音视频底层项目太重要了。
反观 llama.cpp 用的 C 语言,无严格类型检查、手动内存管理,AI 生成的 C 代码出错率高,这也是作者必须标注 AI 开发部分,让审核重点把关的核心原因。
目前 AI 辅助开发有个明显的 **“便利循环”
:AI 对代码量多的语言(Python/TS/Java)支持更好,反过来开发者更愿意用,又会产生更多训练数据,让 AI 更擅长(比如 TypeScript 因 AI 支持好,年增长率达 66%)。Zig 现在作为小众新语言,AI 对它的支持还很薄弱(没有足够的代码训练数据),但 FFmpeg 选择它,本质是赌Zig 的技术特性会吸引更多开发者,未来会形成自己的 AI 适配循环 **—— 就像它赌 Zig 能替代 C 一样,都是以 5 年以上的周期看,语言的 “AI 友好基因” 比当下的 AI 支持度更重要。
llama.cpp 标注 AI 开发部分,不是个例,而是现在开源项目的
新共识:AI 能提效,但生成的代码存在逻辑漏洞、风格不统一等问题,需要人工重点审核。
而选择 Zig 这类 “AI 友好型” 语言,其实是
从源头降低 AI 代码的风险—— 语言本身的校验规则,能替审核者挡住大部分基础错误,让人工只需要关注核心业务逻辑,这也是未来开源项目的选型趋势:不仅要考虑语言的性能、生态,还要考虑它能和 AI 工具形成怎样的 “提效 + 控险” 配合。
两者都是 AI 友好的系统级语言,但适配场景不同:
- Zig:语法更简单、和 C 的互操作性更好,AI 生成的代码更易理解和调试,适合 FFmpeg 这类需要兼容大量 C 语言旧代码的底层项目;
- Rust:生态更成熟、AI 支持度比 Zig 高(有更多代码训练数据),并发和内存安全的规则更严格,适合全新的、高并发的系统开发。
简单说,现在开源项目选语言,已经从 “纯技术性能考量” 变成了 **“性能 + 生态 + AI 适配潜力”** 的综合考量,Zig 能被 FFmpeg 看中,除了能替代 C,它的 “AI 友好基因” 也是重要的加分项。
我可以帮你整理一份Zig 核心特性的极简入门清单,聚焦它和 C/Rust 的差异,以及适配 AI 开发的关键点,需要吗?