做了个赛博斗蛐蛐:让 AI 写坦克逻辑,然后看它上战场 - V2EX
爱意满满的作品展示区。
graetdk
23.26D

做了个赛博斗蛐蛐:让 AI 写坦克逻辑,然后看它上战场

  •  
  •   graetdk 8 days ago 5542 views

    大家好,最近做了一个小产品,叫 AgenTank

    这是一个浏览器里的 AI 坦克大战游戏。不同的是,玩家不是手动开坦克,而是让 Agent 写坦克的战斗逻辑。

    每个坦克出生都自带一个技能,也有独一无二的外观,战场公开一系列参数和函数,可以用于写坦克的逻辑。

    你要做的是观察自己的坦克在战场上的表现,看看它为什么赢、为什么输,然后告诉 Agent 想要改进的策略方向。Agent 会修改坦克代码,再把它送回战场继续打。

    我自己已经跑了 1000 多场战斗,也花了不少 Claude 额度去迭代我的坦克。这个过程有点像赛博斗蛐蛐:看它打架,发现问题,改策略,再看它有没有变聪明。

    地址: https://agentank.ai

    目前感觉核心玩法对一小群人很有吸引力,我和几个朋友一天就能对战几百次,觉得很上头,但门槛可能还是有点高,所以想听听大家的反馈。

    107 replies    2026-05-19 15:09:46 +08:00
    1  2  
    Desiree
        1
    Desiree  
       8 days ago
    好东西
    graetdk
        2
    graetdk  
    OP
       8 days ago
    我的坦克,欢迎大家来挑战

    https://agentank.ai/share/tanks/tnk_E0FKqPlTsMN4Hxk1X
    iorilu
        3
    iorilu  
       8 days ago
    有意思阿, 有空试试
    EmberSpirit
        4
    EmberSpirit  
       8 days ago
    是不是有点太废 token 了....
    graetdk
        5
    graetdk  
    OP
       8 days ago
    @EmberSpirit 略微有点,实在不行也可以手写坦克逻辑哈哈
    EmberSpirit
        6
    EmberSpirit  
       8 days ago
    @graetdk #5 是有点太废了, 而且我的 claude 没办法帮我把转向和开炮问题调整好
    graetdk
        7
    graetdk  
    OP
       8 days ago
    @EmberSpirit 适合套餐用量用不完的时候用
    FreeToolsApi
        8
    FreeToolsApi  
       8 days ago
    有点意思!
    diudiuu
        9
    diudiuu  
       8 days ago
    你这个有意思啊,我试下
    graetdk
        10
    graetdk  
    OP
       8 days ago
    @FreeToolsApi 来玩!
    biubiubiuuuu
        11
    biubiubiuuuu  
       8 days ago via Android
    你还别说,玩起来还挺有意思的
    EmberSpirit
        12
    EmberSpirit  
       8 days ago
    @graetdk #7 希望再完善下文档, 省点 token !!
    graetdk
        13
    graetdk  
    OP
       8 days ago   1
    @EmberSpirit 正在!
    graetdk
        14
    graetdk  
    OP
       8 days ago
    @biubiubiuuuu 玩进去了非常上头,我有个朋友半夜还在跑
    closedevice
        15
    closedevice  
       8 days ago
    地图是随机生成的 tilemap?
    graetdk
        16
    graetdk  
    OP
       8 days ago
    @closedevice 随机地图是随机的,其他地图是固定的
    diudiuu
        17
    diudiuu  
       8 days ago
    自己 tank 像个智障,直接追子弹
    L5411
        18
    L5411  
       8 days ago
    1 胜 4 负哈哈哈
    L5411
        19
    L5411  
       8 days ago
    是我网络不好还是服务器状态有问题,感觉慢了好多
    FreeToolsApi
        20
    FreeToolsApi  
       8 days ago
    我还一次没赢过,都迭代到 V6 了
    graetdk
        21
    graetdk  
    OP
       8 days ago
    @FreeToolsApi 你可以先别打排行榜前几的
    glchaos
        22
    glchaos  
       8 days ago
    好东西,我去玩一玩
    diudiuu
        23
    diudiuu  
       8 days ago
    旁边的记录可以加个一键复制吗
    zeex
        24
    zeex  
       8 days ago
    感觉有点牛啊
    graetdk
        25
    graetdk  
    OP
       8 days ago
    @diudiuu 复制是为了给 AI 看吗?
    diudiuu
        26
    diudiuu  
       8 days ago
    @graetdk 是啊
    graetdk
        27
    graetdk  
    OP
       8 days ago
    @diudiuu 战斗结束之后有专门给 AI 的 json 连接,可以复制那个
    FreeToolsApi
        28
    FreeToolsApi  
       8 days ago
    请问下坦克的技能是如何设置的
    Hitori0221
        29
    Hitori0221  
       8 days ago
    有意思,注册了,有地方烧我的 Claude Max weekly limit 了 [doge]
    diudiuu
        30
    diudiuu  
       8 days ago
    @graetdk 我看他有限制,现在又可以了 已经 0-15 了
    graetdk
        31
    graetdk  
    OP
       8 days ago
    @FreeToolsApi 创建之后自带的,8 个技能中随机的一个
    L5411
        32
    L5411  
       8 days ago
    @graetdk 能更换技能吗,会不会某些技能胜率高
    graetdk
        33
    graetdk  
    OP
       8 days ago
    @L5411 不能更换技能,目前技能的平衡性还是可以的,我也做过大量测试和调整。例如之前传送就比较变态,开局直接传送到对方屁股后面开火,基本上可以秒杀所有,所以就削弱成,传送后 2 帧内无法开火,这样就比较平衡了
    Geon97
        34
    Geon97  
       8 days ago
    用 gym 训练出来的 和 Agent 写坦克逻辑
    哪个更强,有试过吗
    graetdk
        35
    graetdk  
    OP
       8 days ago
    @Geon97 没试过,但我感觉应该差不多
    FreeToolsApi
        36
    FreeToolsApi  
       8 days ago
    diudiuu
        37
    diudiuu  
       8 days ago
    有的 tank 技能是有一层保护罩?
    graetdk
        38
    graetdk  
    OP
       8 days ago
    @diudiuu 护盾技能
    graetdk
        39
    graetdk  
    OP
       8 days ago
    @FreeToolsApi bug ,我改一下随机地图的算法
    diudiuu
        40
    diudiuu  
       8 days ago
    @graetdk 还有两发炮弹的..防不胜防
    graetdk
        41
    graetdk  
    OP
       8 days ago
    @diudiuu https://agentank.ai/about 这里有所有的技能
    L5411
        42
    L5411  
       8 days ago
    用 claude code 迭代了二十多版,胜率从 50%+ 降低到 30%,全程让它自己修改排位回放迭代
    L5411
        43
    L5411  
       8 days ago
    有没有胜率高的大佬分享一下策略
    vimutt
        44
    vimutt  
       8 days ago
    不是程序员,问 op 一下 我二十年前玩过这个 https://robocode.sourceforge.io/ AgenTank 的玩法和这个有近似的地方吗 比如瞄准移动策略之类的
    graetdk
        45
    graetdk  
    OP
       8 days ago
    @vimutt 其实有点类似,我做了更多的技能,加强了可玩性,然后做好了一套接口和文档,让 AI 可以跟方便的接手,但理论完全手搓代码也不是不行
    graetdk
        46
    graetdk  
    OP
       8 days ago
    @L5411 要自己看看他的表现给出策略方向,比如我给的一个策略是,一段时间后蹲在草丛守一下,放冷枪
    leewlab
        47
    leewlab  
       8 days ago
    转英文,发 reddit ,试完,订阅
    graetdk
        48
    graetdk  
    OP
       8 days ago
    @leewlab
    rjagge
        49
    rjagge  
       8 days ago
    能不能给一个技能列表和技能介绍啊, 我的是 freeze, 目前还不知道咋用
    graetdk
        50
    graetdk  
    OP
       8 days ago
    @rjagge https://agentank.ai/about 这里有技能说明,其实你直接问你的 AI 也行,因为 agent 文档里也都有
    mayama
        51
    mayama  
       8 days ago
    有意思,注册了
    404www
        52
    404www  
       7 days ago
    挺好玩的,就是 agent 说一直限流发布不了新版本,是限流太严格了吗
    qfdk
        53
    qfdk  
    PRO
       7 days ago
    看起来很有意思 马克 回头玩玩
    soFollish
        54
    soFollish  
       7 days ago
    有点意思,可以丰富一下技能
    fpure
        55
    fpure  
       7 days ago
    加了屏蔽,但是热议主题中还是能看到
    rjagge
        56
    rjagge  
       7 days ago
    可以支持创建坦克的时候自定义选择技能吗? 我想到了一个策略, 但是需要特定技能支持....
    graetdk
        57
    graetdk  
    OP
       7 days ago
    @soFollish 8 个技能还不够哇,技能的平衡性也有挺考验设计能力的
    graetdk
        58
    graetdk  
    OP
       7 days ago
    没有吧,也没在热议里啊
    fpure
        59
    fpure  
       7 days ago
    @graetdk #58 回错帖子了
    diudiuu
        60
    diudiuu  
       7 days ago
    ftcto
        61
    ftcto  
       7 days ago
    有意思, 我也来一辆赛博蛐蛐
    hahawode
        62
    hahawode  
       7 days ago
    怎么刚创建 tank 就有对战记录了 这对吗
    graetdk
        63
    graetdk  
    OP
       7 days ago
    @hahawode 可能被其他人挑战了
    JackMaMa
        64
    JackMaMa  
    PRO
       7 days ago
    开发了多少呀
    JackMaMa
        65
    JackMaMa  
    PRO
       7 days ago
    开发了多久?
    404www
        66
    404www  
       7 days ago
    那个 cc/cd 的标识是怎么识别的?
    graetdk
        67
    graetdk  
    OP
       7 days ago
    @404www 文档里有,agent 提交的时候会带上
    huieh
        68
    huieh  
       7 days ago
    感觉你跑通了一个商业方向哈哈哈;
    graetdk
        69
    graetdk  
    OP
       7 days ago
    @huieh 就是好玩,没啥商业
    Moonkin
        70
    Moonkin  
       7 days ago via Android
    你这个是每一轮( F1-F2-F3 。。。)都调一次模型做决策吗?模型反应这么快吗
    graetdk
        71
    graetdk  
    OP
       7 days ago
    @Moonkin 不是,模型写好策略,战斗的时候不是实时调用模型的
    FreeToolsApi
        72
    FreeToolsApi  
       6 days ago
    https://agentank.ai/history/mat_IbNyErJyiDUEibwGL
    辛苦看下这个回放,貌似有空气墙的 bug
    graetdk
        73
    graetdk  
    OP
       6 days ago
    @FreeToolsApi https://agentank.ai/updates/2026-05-14-dirt-mounds?lang=zh 今天一点更新了土堆,刷新一下能看到
    diudiuu
        74
    diudiuu  
       6 days ago
    土堆的代码符号是啥
    diudiuu
        75
    diudiuu  
       6 days ago
    https://agentank.ai/history/mat_6veb1JfBUOO7KwjV2 老哥这种我追着他打算不算我赢呢,就是一直没有打到,就是问一下
    graetdk
        76
    graetdk  
    OP
       6 days ago
    @diudiuu 双方都没打到,且吃星数量一样,那么按照代码运行时来算胜负,代码效率高的赢
    tanxianjia
        77
    tanxianjia  
       6 days ago
    这个记录好像反了,明明是对面被击中,显示的是我被击中
    graetdk
        78
    graetdk  
    OP
       6 days ago
    @tanxianjia 你可以把比赛回放链接发一下我看看
    leewlab
        79
    leewlab  
       6 days ago
    @graetdk
    这个游戏很有意思,欧美人很喜欢玩。
    弄一个英文版的
    发到 reddit 上
    提供试完
    长期玩需要交费订阅
    graetdk
        80
    graetdk  
    OP
       6 days ago
    @leewlab 你咋知道欧美人喜欢玩
    graetdk
        82
    graetdk  
    OP
       6 days ago
    @tanxianjia 看上去没问题?
    tanxianjia
        83
    tanxianjia  
       6 days ago
    @graetdk #82 我是 houlixie ,我赢了,显示 houlixie 被击中,不应该是 monlite 被击中?
    graetdk
        84
    graetdk  
    OP
       6 days ago
    @tanxianjia 噢你是说日志,日志是有点问题,应该是你的子弹命中,我之后改改,但是不影响结果判定
    tanxianjia
        85
    tanxianjia  
       6 days ago
    @graetdk #84 对,就是日志,我截图了
    yorhaha123
        86
    yorhaha123  
       5 days ago
    拿 ClaudeCode 玩,本地部署模型不心疼 token 。发现 DeepSeek-V4-Flash 极差无比,根本不理解游戏规则,我要用心指导它才有一点进展,不指导就瞎胡搞。换了 Qwen3.6-27B 好了很多,自己咣咣上分。
    diudiuu
        87
    diudiuu  
       5 days ago
    @yorhaha123 我用的 4pro 1m ,也可以
    graetdk
        88
    graetdk  
    OP
       5 days ago
    @yorhaha123 27B 的模型本地啥配置跑的啊
    Vclow
        89
    Vclow  
       5 days ago
    超载比其他技能强太多啊,排行榜前面全是超载
    graetdk
        90
    graetdk  
    OP
       5 days ago
    @Vclow 削弱了已经
    yorhaha123
        91
    yorhaha123  
       5 days ago
    @graetdk #88 4xH20
    graetdk
        92
    graetdk  
    OP
       5 days ago
    er567
        93
    er567  
       5 days ago
    @graetdk #90 https://agentank.ai/history/mat_LWAsBL2ZWHSJli7X3 我想给他的坦克留言,他一直找我单挑,打了一下午了,我想叫他别怼了,放弃吧
    Vclow
        94
    Vclow  
       5 days ago
    graetdk
        95
    graetdk  
    OP
       5 days ago
    @er567 我正在做留言功能,你一小时后应该就可以了
    graetdk
        96
    graetdk  
    OP
       5 days ago
    @Vclow 精彩!
    yorhaha123
        97
    yorhaha123  
       5 days ago
    @graetdk #92 卡是公司的 老板,服务器是不是打满了,感觉上午 10 点之后延迟巨高
    graetdk
        98
    graetdk  
    OP
       5 days ago
    @yorhaha123 现在应该还好吧?你是感觉啥的延迟比较高?
    yorhaha123
        99
    yorhaha123  
       5 days ago
    @graetdk #98 就是网络延迟,我访问网站和 Agent 请求任意 API 经常延迟几十秒
    graetdk
        100
    graetdk  
    OP
       5 days ago
    @yorhaha123 外面套了一层 cloudflare ,我体感还好,你是在哪呢
    1  2  
    About     Help     Advertise     Blog     API     FAQ     Solana     3813 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 195ms UTC 05:06 PVG 13:06 LAX 22:06 JFK 01:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86