LLM辅助开发Rust版RAR压缩工具
「开发者利用OpenAI Codex和Claude在5周内用约40美元令牌成本,通过逆向工程和AI协作,用Rust语言实现了功能完整的RAR压缩器,展示了LLM在复杂软件工程中的潜力。」
一位开发者近日在Hacker News上分享了一项令人瞩目的技术实践:利用大型语言模型(LLM)辅助,在短短5周内用Rust语言完整实现了一个支持所有RAR版本格式的压缩工具——Rars。这一项目不仅展示了AI在代码生成方面的能力,也揭示了当前LLM在复杂软件工程中的优势与局限。
RAR是一种历史悠久的压缩格式,最初为DOS系统下的LZSS压缩器,后来凭借多卷支持、恢复记录和内部虚拟机等特性,在文件压缩领域占据重要地位。然而,RAR格式的规范并不完全公开,其官方解压代码虽可获取但并非自由软件,这给第三方实现带来了巨大挑战。传统上,要完整实现一个支持所有RAR版本的压缩器,可能需要5年时间,这也是此前无人尝试的原因。
该开发者采用了一种独特的逆向工程与AI协作方法。他首先从现有的自由解压器(如unar、libarchive、UNRARLIB)以及网络资料中收集代码片段,然后交给Claude Opus 4.7进行文档化分析。经过多轮迭代和“间隙文档”维护,团队用了两周时间完成了大部分读取端格式的文档化工作。对于写入端,开发者则通过分析DOS和Windows版RAR二进制文件,利用Ghidra和DOSBox-x进行十六进制转储和逆向分析,逐步填补了格式规范中的空白。
在构建阶段,开发者采用了分工协作策略:Claude Opus 4.7擅长策略讨论和架构设计,但需要频繁的修正;OpenAI Codex 5.5则更适合独立执行具体任务,但若过度交互容易陷入细节歧途。整个开发过程消耗了约40美元的令牌费用(在大量补贴下),生成了约5.5万行代码。开发者坦言,这些代码质量不高(“slop”),速度也并非最优,甚至差点因违反OpenAI的使用政策而被封号,但工具确实能够正常工作。
这一案例生动展示了LLM在软件工程中的新角色:它们不再是简单的代码补全工具,而是能够参与逆向工程、格式分析和代码生成全流程的协作伙伴。尽管存在代码质量、合规风险等问题,但LLM将原本需要数年的人力工作压缩到数周,这无疑为开源社区和开发者提供了新的可能性。未来,随着模型能力的提升和工具链的完善,AI辅助开发复杂系统或将成为常态。
来源:Heooo AI工具导航