一名开发者用约 5 周的晚上和周末,做出了一个 Rust 版 RAR 实现:rars。它已经发布为开源命令行工具,可以通过 cargo install rars-cli 安装。
这个项目最反常的地方,不是“AI 写了很多代码”。而是 RAR 这种缺完整规格、历史包袱重、还牵涉授权边界的格式,过去更像长期体力活。现在,OpenAI Codex 5.5 和 Claude Opus 4.7 把它推进到了可用阶段。
但别急着把它理解成 WinRAR 替代品。项目说明里也写得很清楚:rars 能工作,覆盖了不少功能,可速度慢数倍,压缩率通常比 WinRAR 差 5%-10%。代码约 5.5 万行,作者也承认臃肿。token 成本约 40 英镑,但这是 heavily subsidised tokens,不能直接当商业开发成本。
我更在意的是另一个问题:LLM 到底把逆向工程的哪一段压短了,又把风险挪到了哪里。
rars 难做,不是因为 Rust 难写
RAR 不是一个文档完备、实现自由的现代格式。官方 unrar 有源码,但授权并非真正自由软件;完整规格文档也长期缺位。
这意味着开发者不能照着一份标准文档把代码写出来。更现实的路径是拼图:从 unar、libarchive、UNRARLIB、网页资料和社区经验里重建规格,再用旧版 RAR 二进制、Ghidra、DOSBox-x、十六进制比对去补洞。
RAR 的复杂度还来自历史。它有多个版本,涉及压缩、多卷、恢复记录、加密等功能。一个实现如果只解最简单的文件,意义有限;一旦碰到老档案和边角格式,坑就会浮出来。
rars 目前的状态大致可以这样看:
| 维度 | rars 当前表现 | 现实判断 |
|---|---|---|
| 功能覆盖 | 支持压缩、恢复记录、加密、多卷等大量功能 | 覆盖面不小,对老档案处理有价值 |
| 压缩率 | 通常比 WinRAR 差 5%-10% | 可用,但谈不上追平 |
| 性能 | 慢数倍 | 不适合直接放进高吞吐生产链路 |
| 代码规模 | 约 55k 行,作者称臃肿 | 产出快,技术债也来得快 |
| 成本 | token 成本约 40 英镑 | 有补贴背景,不能外推为真实商业成本 |
所以,这个项目的价值不在于“替代 WinRAR”。更准确地说,它给了开源工具和数字档案维护者一个新的自由软件路径。遇到旧 RAR 1.3、1.4,或者现有工具支持不稳的历史压缩包时,多一个实现,就少一层锁定。
这类工作过去像愚公移山。现在山还在,但铲子变快了。
LLM 写代码,测试负责把它拉回现实
项目里的模型分工很有代表性。Codex 更常负责按规格生成 Rust 代码,尤其适合大段、重复、可验证的实现工作。开发者还用到了 OpenAI 的 /goal 长任务循环,让模型连续跑 6 小时以上,甚至一次跑到 16 小时。
Claude Opus 4.7 的角色更像讨论对象和审稿人。它更多参与策略、评审、文档整理和测试组织。
但真正让项目没有滑向“看起来能跑”的,是测试。开发者用测试夹具、兼容性回归、真实 RAR 文件、benchmark 和 oracle 去校准规格。模型可以生成解释,也会生成幻觉;只有让代码碰到真实文件,问题才会暴露。
项目说明里有个细节很有价值:Codex 曾清掉经过多轮审查后仍残留的幻觉规格。这不是在证明模型会自我纠错,而是在提醒一件事:单靠模型互评不够。测试数据才是硬边界。
这里还要看授权和安全风险。规格研究过程中曾出现 WinRAR 注册绕过相关内容,后来作者把它从 git 历史中移除,并决定不实现相关功能。
对企业团队来说,这个细节比“5 周做完”更重要。LLM 会加速逆向,也可能把不该进入代码库的材料带进上下文。法务、安全和开源合规不能事后补票。
对开发团队和档案维护者,动作不一样
这件事对不同读者的影响不一样。不能把它一概写成“AI 程序员成熟了”。目前更稳的判断是:LLM 已经很适合承担大量可测试实现工作,但项目方向、架构取舍、授权红线和纠偏仍要靠人。
| 读者 | 应该怎么做 | 不该怎么做 |
|---|---|---|
| 软件开发者 | 把 LLM 用在规格转代码、测试补齐、兼容性回归上 | 不要把模型输出直接当可信规格 |
| 工程管理者 | 预算要从“人天”转向测试资产、审查流程、上下文管理 | 不要把 40 英镑 token 成本当外包报价 |
| 开源工具维护者 | 可把 rars 作为补充路径,尤其用于老档案和兼容性研究 | 不要急着替换成熟工具链 |
| 数字档案维护者 | 可以观望并积累测试样本,验证真实历史文件覆盖率 | 不要把单个实验当长期维护承诺 |
对开发团队来说,流程会变。过去逆向工程的瓶颈在手工阅读、重写和验证。现在瓶颈更像三件事:规格能不能沉淀,测试够不够硬,审查能不能守住边界。
如果团队真要参考 rars 的路线,最该补的是测试夹具,而不是先买更多 token。没有真实样本、回归用例和性能基准,模型只会更快地产生更多不确定代码。
接下来要看的变量也很具体。
第一,性能能不能追上来。慢数倍不是小问题,它决定 rars 能否从研究工具走向日常工具。
第二,真实世界 RAR 文件兼容性是否稳定。尤其是旧版本、损坏文件、多卷包、加密包和恢复记录。
第三,社区是否愿意维护这 5.5 万行代码。AI 可以把项目推到第一个可用点,但长期维护不是一次长任务循环能解决的。
如果这些变量没有改善,rars 更像一次漂亮的工程实验。如果测试、性能和维护跟上,它才可能成为数字档案领域少见的自由 RAR 工具。
