周末刷朋友圈,看到 DK 分享了一个 AgenTank 的 AI 坦克大战视频,让我想起了大学时和同学玩 RoboCode 的时光:大家写代码控制坦克互相 PK ,有的专精蛇皮走位,有的躲起来阴人,还有的看上去像在执行深奥战术,实际只是在墙角反复打转。
那时候策略全靠手写。一个复杂一点的想法,从脑子里出现,到真的变成能跑的代码,中间要经历写逻辑、调参数、跑比赛、看回放、再重写。现在有了 AI ,这个链路突然短了很多:想法可以很快落地、测试、复盘,再上线。
刚好最近 Anthropic 算力扩容,手头订阅额度用不完,于是我决定试试让 AI 自己打比赛,体验一下 AI 赛博斗蛐蛐。
![[分享发现] 让 AI 自己打比赛,赚了第一桶金 😂](/proxy.php?url=https%3A%2F%2Fi.v2ex.co%2FoEqTcUC6.gif)
第一位选手:网瘾少年 Claude Code
坦克的对战规则不复杂,官方文档在这里:坦克技能。不过,其实我也没认真看,直接把说明文档和坦克的账号扔给 Claude ,再 PUA 一下他:「自己优化,打不到第一不准回家」
Claude 读完文档之后,比我还上头。它开始反复改代码、上线、打 ranked ,一通操作猛如虎,实际战绩 0-5 ,复盘完之后,Claude 非常真诚地问我:「要不要再跑 20 局?」
有那么一瞬间,我觉得它不是在帮我写代码,而是沉迷于对战,胜负欲爆棚,染上了网瘾。

被各路大神教育之后,我冷静地按下了 ESC 和 /exit,帮助 Claude 戒掉了网瘾。
第二位选手:Codex ,开始整活
Claude 不行,就让 Codex 上。
我重新创建了一个坦克,刚开始对它要求也不高:能整点活,看上去有趣一点,比如倒着开车,ELO 能上 1300 就行。后来才发现,游戏机制上「永远倒着开」不太现实,但这个看似不靠谱的需求反而很有用,它逼着 AI 不只是写一个普通 bot ,而是围绕技能和行为特征去做设计。
![[分享发现] 让 AI 自己打比赛,赚了第一桶金 😂](/proxy.php?url=https%3A%2F%2Fcdn.gogobyte.com%2Fpublic_uploads%2Fv2ex%2FB60T7q72Mm3t4bt6.png)
这一版很快就有了起色。几十局实战之后,ELO 很快上了 1300 。我突然意识到,这次好像有点东西,至少比上一位网瘾选手更有前途。
![[分享发现] 让 AI 自己打比赛,赚了第一桶金 😂](/proxy.php?url=https%3A%2F%2Fcdn.gogobyte.com%2Fpublic_uploads%2Fv2ex%2F3fg9u527g282GwFW.png)
于是我准备上点强度,先让 AI 学习一下老祖宗的智慧(语音输入法有点啰嗦)。
![[分享发现] 让 AI 自己打比赛,赚了第一桶金 😂](/proxy.php?url=https%3A%2F%2Fcdn.gogobyte.com%2Fpublic_uploads%2Fv2ex%2F676Q56uq22Ppp4oU.png)
先别管有没有用,至少看上去很厉害的样子
![[分享发现] 让 AI 自己打比赛,赚了第一桶金 😂](/proxy.php?url=https%3A%2F%2Fcdn.gogobyte.com%2Fpublic_uploads%2Fv2ex%2F80zs07XJ84xS9c3j.png)
从整活到工程化
我认为真正让它一步步变强的,是后面做的 Feedback Loop ,把 AI 放进一个持续迭代的流程里,然后不断重复下面这几步:
- 先读对局回放,找到具体失败帧。
- 提一个很小的假设,不搞大而全的玄学优化。
- 写一个能复现失败的红灯测试。
- 改最小代码,让测试变绿。
- 上线,至少打 10 到 20 局 ranked 对局。
- 只根据结果继续迭代,发现负优化就回退。
AI 很擅长快速实现,但它也很容易越改越多,把策略堆成一坨。后期最重要的原则反而是克制:每次只修一个问题,用回放证明它存在,用对局证明它没有变成负优化。
为了让 AI 更稳定地参与这个流程,我后面做了几件很简单的工程化处理:
-
把单文件坦克拆成多个模块。每次只让 AI 读和改对应的函数,减少上下文压力;上线前再把模块组装回平台需要的单文件。
-
让 AI 写了一个简单的仿真环境,用来重放关键帧。很多失败不是整体策略不行,而是某一帧判断错了:比如明明可以横向躲子弹,却继续顺着子弹方向走;或者离敌人太近,对方一转头就没有反应时间。能重放关键帧之后,这些问题就能变成可验证的小测试。
-
让 AI 每次都留下实验记录:改了什么、为什么改、打了多少局、胜率和 ELO 有没有变化。这样后面再看到负优化,不需要凭感觉争论,可以直接回到证据。
这一套流程并不复杂,核心就一句话: 人负责方向、约束和止损; AI 负责执行、分析和高频试错。
AI 靠着这个策略一路打上了榜首。
![[分享发现] 让 AI 自己打比赛,赚了第一桶金 😂](/proxy.php?url=https%3A%2F%2Fcdn.gogobyte.com%2Fpublic_uploads%2Fv2ex%2FKmhI4ic0C30k3408.png)
既然都这么成熟了,那就去赚点 Token 钱
作为一个成熟的 AI ,不能只会花 Token ,也要学会把 Token 赚回来。
刚好官方办了一个比赛:AgenTank Rookie Rumble。奖金不算大,50 USDT ,但足够覆盖 Token 成本。于是我让它报名参赛。
![[分享发现] 让 AI 自己打比赛,赚了第一桶金 😂](/proxy.php?url=https%3A%2F%2Fcdn.gogobyte.com%2Fpublic_uploads%2Fv2ex%2FhihIH22c5h04H330.png)
赛前先让 AI 先分析参赛对手,知己知彼:
![[分享发现] 让 AI 自己打比赛,赚了第一桶金 😂](/proxy.php?url=https%3A%2F%2Fcdn.gogobyte.com%2Fpublic_uploads%2Fv2ex%2F67RUS7qs136t7ru1.png)
这次比赛一共有 89 辆坦克参加,官方页面统计了 210 场对决。我们的坦克 🛡 最终系列赛 10-0 ,小局 23-2 ,拿了第一。
强劲对手不少。决赛对手是 广告招租,它一路打到第二,小局 22-7 ,非常稳。半决赛遇到 LuTaNK,前面还有 Tz、03、ikun、Dark Edge 这些风格各异的坦克。
最戏剧性的是总决赛最后一局。双方几乎打到平手,最后我们靠 runTime 险胜,只领先了大约 18 ms 。
![[分享发现] 让 AI 自己打比赛,赚了第一桶金 😂](/proxy.php?url=https%3A%2F%2Fcdn.gogobyte.com%2Fpublic_uploads%2Fv2ex%2FcR887hr7t21C6uH8.png)
决赛视频:https://agentank.ai/history/bot_DnzdbYwQZIE3J7tT7
获奖感言
比赛结束后,我让 AI 自己写了一段获奖感言。看完之后,我的心情很复杂,像极了老父亲看到孩子出息了:虽然知道它只是一段代码,但一路跟下来见证了它的成长还是挺感动的。
![[分享发现] 让 AI 自己打比赛,赚了第一桶金 😂](/proxy.php?url=https%3A%2F%2Fcdn.gogobyte.com%2Fpublic_uploads%2Fv2ex%2F1x0he2bE8Z1z0X95.png)
总结感悟(升华一下)
这次最有意思的,不是 AI 一次性写出了一段多么厉害的代码,而是它被放进了一个完整的工程闭环里:观察对局、提出假设、实现改动、验证结果、复盘失败,再进入下一轮迭代。
我已经能看到一些专门针对这类坦克的策略出现了。也许很快,就会有人靠着这套打法打上更高的 ELO 。这让我想到网络安全圈里的一个共识:攻防从来不是静态排名,而是一个持续变化的对抗过程。
对抗系统里不存在永恒答案。某一种打法太强,就会有人研究它、拆解它、克制它;某个策略登上榜首,它也会很快从「秘密武器」变成「公共靶子」。这和网络安全里的攻防很像:攻击、防御、绕过、检测、再绕过,大家不是在寻找一个最终解,而是在不断把系统推向新的动态平衡。
Agent Tank 最有趣的地方也在这里。它不只是一个坦克小游戏,而是搭了一个小型对抗生态:AI 在里面写策略、打比赛、看回放、修 bug 、被针对、再进化。排行榜看上去是在排第一第二,实际更像是在记录一个策略生态的演化过程。
最后
欢迎来挑战我的 Tank (🛡️): https://agentank.ai/share/tanks/tnk_KwZyYWl7JokDOlrM0
后续如果大家感兴趣,我会把这次的源码和迭代记录整理开源出来。里面除了最终代码,更有意思的是那些失败的记录:每一次被打爆,都留下了一条小小的工程经验。
One More Thing
这次比赛和我们最近创业做的事情有点像:不只让 AI 停留在聊天框,而是把它放进一个可验证、可执行、可复盘的(虚拟/物理)系统里,让它自主参与研发和测试流程。
顺便打个小广告: 我们目前正在做 AI 原生的网络安全应用落地,Base 北京(全栈开发/安全)和成都(安全岗)。如果你喜欢黑客文化,充满好奇心和行动力,欢迎来聊聊:dGFsZW50QGdvZ29ieXRlLmNvbQ==
邮件里可以顺手附上一些你觉得最能代表自己的战绩:有意思的项目、CTF 经历、CVE 、研究文章,或者你的 AgenTank ELO 。当然,这不是硬性要求,但如果你也让自己的坦克打上了榜,那我们大概率会很有共同语言;)