今天,编程圈被一条新闻炸懵了:
一个纯Python写的开源项目,把OpenAI用Rust写的王牌Agent按在地上摩擦了。
不是小胜,是6:5的碾压。
这不是什么"国产崛起"的宣传稿,也不是什么"有望超越"的彩虹屁。
这是实打实的基准测试数据,是11项真实世界CLI任务的实战PK。
Hermes——这只"爱马仕"——用三个工程优化砍掉63%启动时间,直接上演了一出"语言不重要,架构才是爹"的逆袭大戏。
一、事件背景:Python的"复仇之战"
在聊这场世纪对决之前,先交代一下两位主角:
Codex CLI,OpenAI的王牌编程Agent,用Rust编写,出身名门,背后站着万亿市值的微软和OpenAI。
Hermes Agent,Nous Research的开源项目,用Python编写,GitHub Stars 16万+,日活Token消耗量353B。
这两位,放在编程Agent界,一个是西装革履的精英,一个是穿格子衫的野路子。
按常理,这种对决应该是"精英完胜、野路子陪跑"的剧本。
但今天的剧本不太一样。
二、核心数据:6:5,实打实的战绩
在针对真实世界CLI任务的11项基准测试中,Hermes以6:5的战绩击败Codex。
这个战绩不是靠换模型、不是靠堆算力,而是靠三个"刀刀见血"的纯工程优化。
优化前的Hermes,惨不忍睹:5胜6负,单轮任务被Codex碾压。
问题出在哪?启动速度。
那时候,Hermes的启动时间高达701毫秒。
在Agent的世界里,启动慢了,整个任务流处处被动。就像百米赛跑,你起跑慢了半拍,后面追起来就难了。
于是,Hermes团队决定"对自己动刀子"。
三、"三刀流"优化:工程暴力美学的巅峰
第一刀:Bitwarden磁盘缓存(砍掉380ms)
原来的Hermes每次启动都得调用Bitwarden Secrets Manager的API拉取凭据,这一下就是380毫秒的"硬开销"。
更离谱的是,之前的缓存是"纯进程内"的。你连续执行两次命令,第二次还得傻呵呵地重新拉取。
解决方案简单粗暴:加一个L2磁盘缓存。把凭据缓存到/cache/bws/l2/目录,凭据变更才更新,重复启动直接命中缓存。
这一刀,砍掉380毫秒。
第二刀:动态导入(砍掉55ms)
启动代码里有一行from bitwarden_secrets_manager import ...,Python解释器每次都要把这个导入链从头到尾走一遍。
解决方案更粗暴:按需导入。工具用到了再导入,不用就不动。
这一刀,砍掉55毫秒。
第三刀:配置文件去重(砍掉17ms)
main.py顶部原本读了两次config.yaml:
- 一次
yaml.safe_load,用于密钥脱敏桥接 - 一次完整的
load_config(),只为检查一个布尔值
合并成一次原始加载。
这一刀,砍掉17毫秒。
三刀加起来,启动时间从701ms暴降至258ms,降幅63%。
不得不说,这才是真正的工程暴力美学。纯靠profiling找到瓶颈,一刀一刀切掉冗余。
四、毒舌点评:语言不是天花板,架构才是
看到这,你可能会说: "这不就是优化吗?Codex要是想优化,也能优化到这个水平啊。"
没错。但问题的关键不在于"能不能优化",而在于"谁来优化"。
Hermes是开源项目,任何人都能提PR、都能参与优化。
Codex是闭源项目,优化权在OpenAI手里,外部开发者只能干瞪眼。
这场6:5的胜利,与其说是"Python战胜Rust",不如说是 "开源生态战胜封闭体系" 。
开发者netrunner的评论一针见血:
"Codex可能在上下文处理上'过度工程化'了。"
这话翻译成人话就是:Codex为了追求极致性能,把架构搞得太复杂了。复杂到连自己都hold不住。
而Hermes的胜利,本质上是 "简单架构+持续迭代"的胜利。
Python慢?没关系,我用缓存弥补。
Python启动慢?没关系,我按需加载。
语言不是天花板,架构才是。
说白了,Codex输给的不是Hermes,是自己的"大公司病" ——什么都想自己掌控,什么都要最优解,结果把自己绕进去了。
五、实战建议:选哪个?
说了这么多,你可能最关心的问题是:我该用哪个?
选Hermes的场景
- 预算有限 Hermes开源免费,API费用低,适合个人开发者和初创团队
- 需要本地部署
- 喜欢折腾 愿意研究配置文件、优化启动时间,把工具调教成自己的形状
- 多轮任务多 Hermes在多轮对话上优势明显,适合需要持续迭代的项目
选Codex的场景
- 追求稳定性
- 单轮任务多 Codex在单轮任务上表现稳定,适合临时性的代码生成需求
- 集成需求 需要和Microsoft全家桶深度集成,VS Code、Azure DevOps一站式搞定
- 不想折腾
选型小结
如果你问我个人的选择?我站Hermes。
不是因为它赢了这场对决,而是因为开源项目的生命力太强了。今天它能砍掉380ms,明天就能砍掉更多。而Codex的优化速度,取决于OpenAI的心情。
六、结语:开源的胜利,架构的胜利
Hermes的6:5胜利,不是Python的胜利,不是Rust的失败。
这是开源生态的胜利。
这是持续迭代的胜利。
这是 "简单架构+快速迭代"战胜"复杂架构+闭门开发"的胜利。
Codex背后有微软、有OpenAI、有万亿市值的算力支持。
Hermes背后只有一群愿意提PR、愿意优化启动时间的开源贡献者。
但正是这群人,用三个工程优化,完成了惊天逆袭。
语言不是壁垒,架构才是。
闭源不是护城河,持续迭代才是。
下次有人跟你说"Python太慢了、Rust才是王道"的时候,你可以把这篇文章甩给他:
"你看,那个Python项目又把Rust按在地上摩擦了。"
【梨话代语】
如果你觉得这篇文章有用,欢迎转发给需要选型的同事。