标签

AI编程一年半后,我彻底放下了被取代的焦虑

发布时间:2026-07-06 09:40阅读:2

我是RustPBX的创始人,为了用纯Rust打造一款高性能、高安全性的SIP PBX系统,过去一年半我深度使用了多款AI模型:Gemini、GLM、MiniMax、Kimi、Deepseek,完成了大量项目开发:

https://github.com/restsend/rustpbx欢迎Star

开发PBX的前提是拥有自己的协议栈,因此首先着手构建rsipstack(RFC3261标准实现)。rsipstack几乎全是手工编码,当时的AI仅能充当代码辅助工具。对于AI独立设计完整协议栈,我缺乏信心,于是耗时20天手动完成了sipstack的编写。

这段经历令人愉悦,毕竟下定决心重构SipStack需要极大勇气,对RFC理解不到位可能带来严重后果。得益于开源模式,获得了社区诸多反馈,首月便有人尝试使用,截至2026年7月已相当稳定,成为Rust生态中最可靠的SIP协议栈库。

完成sipstack后着手开发RustPBX,产品架构曾走过弯路,率先构建了ASR/LLM/TTS能力,形成一个完整的三段式VoiceAgent方案。

在VAD、降噪及VoiceAgent上投入半年时光,实现了AI接听与拨打电话功能,期间凭借该框架承接了大型外包项目,让团队得以存活。

逐步将SIP PBX与Voice Agent融合时才意识到二者本质不同:一个是Server,一个是Agent。后来果断决策进行拆分,将Voice Agent剥离为Active-call。

RustPBX重新聚焦专业PBX领域:路由、分机、录音、WebRTC网关。

不少人表示不解,AI时代不做热门Voice Agent,为何执着于传统PBX?FreeSwitch、Asterisk难道非要用RustPBX取代不可?

实际上在开发Active-Call时就已发现,单次通话费用中ASR/TTS/LLM占据了80%,线路收益仅占20%,意味着VoiceAgent框架本身价值有限,真正值钱的是ASR/TTS/LLM。

规模再大若商业模式不成立,对小团队而言,及时找到适配自身的盈利模式更为关键。

回归专业PBX后,目标定为全项目Rust构建,此时必须跨越若干关键FFI库。

这一阶段开始全面引入AI实现方案,于是完全借助AI(主要为Gemini)完成了:

Opushttps://github.com/restsend/opus-rs

G729https://github.com/restsend/g729-sys

用AI重写C代码的过程充满乐趣,逐个函数调试,以已知输出结果修正代码,这与模型训练的反向传播如出一辙。

随后着手性能优化,WebRTC.rs基于Pion重写,不支持RTP,因此计划将RTP/SRTP/WebRTC整合为统一API,毕竟在SIP领域RTP/SRTP仍为主流。

立即行动,用AI重写WebRTC实现,随后开启漫长的替代过程,线上也出现了不少BUG。优势在于Fax/RTP/SRTP/WebRTC统一为一套API,性能更优,各类hack也能随心所欲地调整。

此外,PBX有个常被忽视却严重影响性能的关键点:录音。

为优化录音性能,设计了SipFlow采集策略,分两步推进:先用Sqlite实现简易KV存储验证架构可行性,随后预留LSM方案。

2026年6月起着手开发全新KV引擎替代Sqlite,即现在的:

https://github.com/restsend/flowdb

性能超越rocksdb,内置二级索引,直接提供node的indexeddb接口,兼具超高性能与易用性。

进而支持集群录制、TTL机制,实现分布式高性能音频录制,支持按天归档与定期清理,满足合规要求。

RustPBX从设计之初便采用社区+商业双轨模式,因此规划了模块化方案,部分模块商业化,核心部分全部开源。最基础的SIP、路由、录音等能力均免费开放,商业模块均基于这些插件二次开发。

首个商业模块为VOIP Wholesale(VOIP话务批发),这在业内属小众功能,本质是集采与批发的结合,为企业提供电话线路。

该市场虽小,但对性能和兼容性要求极高,恰好适合验证RustPBX的二次扩展能力。

约一个月完成话批模块开发,性能超出预期,单核加录音可达800路,单机轻松支持万级并发,且因编解码均采用Rust编写,性能不逊于C语言版本。

这是RustPBX首个商业化模块,上线首月即获得商业客户。

当然RustPBX更重要的集群、呼叫中心能力也由商业模块支撑,众多开发者基于RustPBX进行二次开发。

与FreeSwitch、Asterisk的二次开发不同,后者需要编写C模块,而RustPBX的扩展基本通过HTTP/Webhook实现,以微服务方式扩展也是RustPBX的架构原则。

毕竟不能要求所有开发者精通Rust,交付商业模块时也无法要求客户写Rust,通过HTTP对接现有系统才是最简洁可行的方案。

过去一年,RustPBX的代码基本由AI完成,AI助力我们实现了超预期目标,全部代码Rust编写,性能更优,维护性并非重点,反正由AI负责维护。

也曾迷茫过,AI如此强大,特别是近期目睹诸多与RustPBX类似的项目,一周时间完全重写asterisk、Opus等量级项目,似乎RustPBX的壁垒尚未建立,竞争对手已纷纷涌现。

这种情况难以避免,但发现同期出现的众多VibeCoding项目,许多已停止维护。

或许它们纯靠兴趣驱动,完全依赖AI,项目做得大而全、拆分过细。

相较之下,RustPBX虽同样由AI编写,但代码更为紧凑,商业目标清晰明确,不止步于实现层面,而是具备明确的商业能力导向。

经过AI编码实践,AI能缩短团队达成目标的时间,但商业化环节AI仍无法取代。

AI编码是极为得力的工具,坚持商业化目标优先,以AI加速研发交付效率,不必再担忧被AI替代。