三天使用Claude Code完成王者荣耀强化学习项目

三天使用Claude Code完成王者荣耀强化学习项目

背景

之前开发的autowzry项目可以实现王者荣耀的7×24h无人值守操控模拟器,用于对战和日常任务领礼包。然而,其对战缺乏智能决策,只能随机移动攻击。我一直想为其添加AI决策的对战模块。但这类项目工作量大,需要设计模型架构、实现数据采集、状态识别、奖励函数、训练流程等多个模块,作为业余项目时间成本较高。最近接触到Claude Code,决定借此机会学习AI辅助编程,同时完成这个想法。

协作体验

Claude Code最让我满意的是需求理解能力和自主性。特别吃惊的是,Claude会自动调用conda等系统命令,安装依赖、分析并解决错误,无需我的参与。若系统命令不存在或无法执行,Claude还会为满足自己的需求,编写Python等代码去实现。让Claude修改某个子模块,它还会自动检测所有依赖此模块的代码并更新相关文档,非常省心。它也会帮我自动记录开发日志。

Claude用于撰写项目文档也是一个好帮手。

不得不提的是API价格确实不便宜。这个项目消耗了约300美元的API额度,感谢赛博善人的赞助。使用体验上,Claude官方模型效果最好但价格较高,Claude Code接入Kimi是我体验次好的选择,性价比更高。为了节省token,需要定期压缩记忆,并让Claude生成一个 README_FOR_AGENT.md。这样其他AI编程工具通过这个文档能快速了解项目并开始开发,而不用读取全部历史记录。

开发过程

第0天,阅读了现有的强化学习项目,并与Claude讨论了整体模块化设计。

第1天,在高铁上开发针对王者的辅助库,用于提取游戏状态,例如对战、死亡状态识别,控制移动和攻击等功能。

第2天,告诉Claude昨天封装的辅助库使用规则后,就完全托管给Claude,实现之前讨论的模块。Claude独立完成了数据管理、奖励计算、训练器等六个模块的代码编写和调试运行

第3天,发现Claude编写的代码模块过于复杂,于是进行了重构精简。随后将各模块串联起来,完成了数据采集、标记、训练、使用模型控制角色的完整流程。这一天工作量非常熬人

架构特色

项目采用兼容层作为依赖注入中心的设计。所有通用模块通过兼容层连接到游戏特定逻辑。这种设计方便接入更复杂的模型、评分算法、动作空间,切换游戏时只需重写兼容层

另一个设计是前期采用视频进行伪强化学习。先从游戏视频中采集数据,离线标记动作和奖励,训练模型,最后部署到设备进行在线对战。这种方式避免了早期在线训练的低效问题。

总结

三天时间,从想法到可运行的项目。 Claude Code让我可以专注于架构设计和需求表达,具体实现、文档维护、调试工作都由Claude完成。

项目地址:https://github.com/cndaqiang/autowzry-agent

欢迎感兴趣的朋友交流讨论。


本文由Claude Code辅助完成

1 个赞