Python快不过Rust,可HermesAgent就是赢了,为啥 近来刷到好多人在吵究竟和Rust谁更适宜用来写AI Agent, 有人截了图说比Codex多赢一轮, 是6:5, 起初我也以为是语言之间相争, 结果点进PR以及CSDN复现报告一看, 根本不是跑得快慢引发的事, 他们比的根本不是“谁启动得更快”, 而是“谁在接连干五件事时更不卡顿、更省力”。这事情是要从2月开始讲起的, 发布了v0.12后并没有举办大开大合、声势浩大的发布会, 而是静悄悄推出了几个PR呢, 分别是31968、32001、32045 , 其中既没有添加新的模型, 也没有更换推理后端, 全部都只是更改了配置加载以及缓存逻辑, 还有工具注册方式句号。例如, 原本一开始启动之时就要将所有的模型全部都扒拉进内存里, 如今改变成真正需要用到哪一个才去把它拿取过来原本是将凭据强硬地塞进初始化的流程当中, 现在拆分成带有TTL的缓存文件, token根本就不落到磁盘之上原本.yaml被反复地读取两次, 一次进行脱敏, 一次进行全量, 现在直接分成两个——一个给核心使用, 一个给运行时去动态补充。这些改动累加起来, 单次开销并没有减少多少, 然而五轮下来之后, 总共耗费的时间硬是比Codex少了188毫秒。我曾尝试自己去跑上一回。在单轮任务当中, 用时258毫秒, Codex用时250至265毫秒, 的确不存在差异。然而让它持续执行五个CLI操作, 分别为解压、查日志、改配置、重启服务、抓错误堆栈, 总的来说, Codex出现卡顿。并非是它自身卡顿, 而是它每一轮都必须重新计算该运用什么工具、该读取何种配置、该校验哪一段权限。进行第二轮时, 组件会记住你频繁修改nginx.conf的情况。到第三轮的时候, 它会自动屏蔽掉除特定内容外的写权限。进入第四轮, 组件会将IPC通信压缩成为共享内存段。到了第五轮, 它甚至会把上一轮出现的调试上下文, 直接重复利用到新的调用当中。这并非是因为它聪明, 而是它切实地“记住了上一步所做的事情”。有人提出疑问, 那把它重新写成为Rust不就可以解决问题了吗? 实际上还真的尝试过了。团队曾经搞过那个 -agent-ultra 分支, 采取的方式是运用Rust重新编写了底层调度器, 每次单独启动竟然达到了189毫秒。然而问题就随之出现了: 要是重新写一个装饰器, 在里面对代码进行修改之后利用CtrlS就能够实现热生效只是使用Rust的话, 则需要重新进行编译、再次进行链接、还要重新启动进程, 就连最基本的调试都得等待十几秒。在此之前在Face评论区所讲的那句 “无法编辑代码”, 所指的就是这个情况——并非是因为语法不会编写, 而是只要改动一行工具注册, 就必须停下服务。还有一个很多人都忽略的细节: 现在技能库的劣化率下降了67%。这是什么意思呢? 意思就是同样的一套技能, 使用时间长了不会出现 越来越慢和越来越出错的情况。这依靠的是那个被叫做自治模块的东西, 它能够自己清理过期技能、合并相似调用、并预热高频工具。而这个模块所依赖的AST解析、动态以及运行时函数替换, 是Rust编译期就已然确定好的内容, 真的没办法抄袭。瞅瞅社区数据, 有十五点三万的Star, 有二百一十五个贡献者, 近三个月有九零零二次提交。我查看了列表, 有中学生提出了加载的缓存方面的bug, 有运维人员在ACPS协议适配中补充了正确的支持, 另有一位前端开发者通过输入pip -agent并添加三行代码, 即将公司内部Jira工单自动转化成CLI命令链。这些情况, 并非依赖性能参数予以支撑显现, 而是借由“改动时不会感到困难”, “增添功能无须等待发布”, “对于看不懂源码的人也能够尝试一番”堆砌而成的。文档里写着“支持企业级高并发”, 然而其工具注册属静态, 配置是YAML硬编码, 技能无法导出导入。没喊这话, 但其目录里已塞进对Home、甚至树莓派GPIO的协议适配。并非因多牛, 而是改几行yaml、加个装饰器、再git一下就能跑通, 连CI都能自动测17个平台。有人把LLM延迟当作挡箭牌, 说, “反正大模型计算需要1.2秒, 框架快0.4秒又有什么作用呢”。然而这0.4秒并非给模型节省的, 而是留给Agent自己“思考一番”的。比如说, 第4轮的时候它发觉你总是在查询同一个日志段, 于是主动将解析逻辑缓存下来第5轮你没有表示要导出可是它依据前四轮的行为, 已经预先加载好了CSV生成器。这些动作, 如果没有那几百毫秒, 根本就无法完成。再来查看数据, 在闭环学习的状况下, 20个技能实例平均速度提升了40%。Codex不存在Skill持久化机制, 每次重新安装都需要再次训练一遍工具描述。并非是它的技术不好, 而是它的架构没有预留这样的一个口子。就如同你购买一台新手机, 即便像素非常高, 但无法插入内存卡, 照片拍得多了依旧会卡顿。技术博客当中讲“胜在可进化性”, 这话听起来很虚, 然而去翻看PR记录, 便能看到实实在在的痕迹, 每一次优化都在将“必须一开始就清楚知晓”的事情, 往后推延到“运行过程当中再去做决定”, 并非是偷懒, 而是为Agent留出呼吸以及生长的空间。当下首页的第一行所写的是: “An agent that while you work.”, 我进行了三天的尝试, 它确实会学习, 不是学习如何回答问题, 而是学习我运用它的方式。