AI编程一年半后,我彻底放下了被取代的焦虑
我是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替代。