惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
Scott Helme
Scott Helme
爱范儿
爱范儿
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
V
V2EX
腾讯CDC
博客园_首页
博客园 - 司徒正美
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
罗磊的独立博客
Recorded Future
Recorded Future
博客园 - 聂微东
O
OpenAI News
S
Secure Thoughts
Hacker News: Ask HN
Hacker News: Ask HN
S
Schneier on Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
Y
Y Combinator Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Project Zero
Project Zero
宝玉的分享
宝玉的分享
K
Kaspersky official blog
N
Netflix TechBlog - Medium
T
The Exploit Database - CXSecurity.com
Google Online Security Blog
Google Online Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Webroot Blog
Webroot Blog
云风的 BLOG
云风的 BLOG
Simon Willison's Weblog
Simon Willison's Weblog
C
Check Point Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
LINUX DO - 热门话题
美团技术团队
L
Lohrmann on Cybersecurity

分享发现

推荐 2 个好玩的在线游戏站 Claude code 的 Designs 和 Routines 居然是独立额度,我的 Claude Pro 订阅又升值了 - V2EX 偶然看到一篇文章《文化已死:当绝大多数人听的音乐,读的书都来自 10 年前》,给大家推荐一下,非常值得一看 66 个入狱教程 国家超算互联网平台提供 Coding Plan(20 元/100 元两档) supergeo.info 送兑换码 V2EX › 登录 古风提示词 Bright Data 代理和 Browser API 90 天 6 折,优惠码 BESTPROXY60 - V2EX 飞机上 Starlink 测速 zig 写的 100kb 的 wasm 可以 http 读写任意 git 仓库 - V2EX GPT Image 2 韩文 prompt 实测:不是“能看懂”,而是“能还原” 网页端 GPT-5.5 Thinking 体感好快啊,这速度第一反应还以为是降智到 4o-mini 了 新开中转站,有 GPT 包月可以薅,分享给有缘人 google 搜索的 AI 模式(自动右侧弹出)是个谜啊? - V2EX 小红书下场做 app 工厂 做了一个 GEO 工具平台,想听听大家对 AI 搜索优化的看法 XChat 正式上架 App Store 了 大 F 彻底沦为历史了,公司宣布停业。 - V2EX 记一次 QQ 被盗事件记录 codex 5.5 强的离谱 用 Claude 做了视频“关于 ping0.cc 静默上传用户真实 IP” AI 辅助英语学习,无推广,讨论一下 gpt5.5 写完界面,还会进行截图查看效果 DeepSeek4 的数据没清理好啊,估计有得折腾 - V2EX 做了一个自动识别云朵的网站 claude 太抠门了 继上次讨论自媒体问题后,我决定下架流量最大的视频 DeepSeek V4 上线了! deepseekv4 来了 DeepSeek V4 正式发布了! 搞起,试试试试!附官网更新的模型链接 模型之外, Codex 也更新了 Auto-review 功能,不用 Full access 了 DeepSeekV4 来了, 希望可以抗衡御三家 DeepSeek V4 上了,连发布会都省了 DeepSeek V4 终于来了,是牛子是马拉出来溜溜 一个性价比极高的数据冷备份路子 苹果中国官网挂了 Gemini One 免费 4 个月邀请链接,,稳不稳 今日乐子:天星银行(AirStar)改名象象银行(Elebank) 分享两个我刚开源的 Codex 插件: Spec 驱动开发 + 飞书知识库接入 “WildCrad 余额兑换 gpt 会员”, Gemini 警告“疑似诈骗” 支付宝的神券团购怕是自己都没用过吧 《 AI 带来的革命性改变,为何还没发生 》 分享一个用自然语言整理 Chrome 书签的小工具 微信聊天记录时间 BUG - V2EX 我觉得比这个什么问界趴窝更奇葩的是这个豆包 AI,看完雷军得被当场气晕 - V2EX 使用中转站要擦亮眼睛!不说别的,倍率计算 充值好乱。 DeepSeek API 更新新模型了? 图一乐 Prompt|让 GPT-Image-2 根据记忆为你设计一个书房 vibe 了一款记忆训练游戏 3 月工作了 269 个小时,于是奖励了自己一辆唐 L EV 我怀疑最近有人拿 v 站当小红书来使了 - V2EX 简单分享下自己回农村后试图搞短视频/直播电商的经历 - V2EX codex 新模型 大家有更新吗 - V2EX 收集一下对老年人友好的记忆类的小游戏 超顶! GPT-Image 2 图像模型全量上线,很强大 问一下你给 AI 的印象,估计大家估计都是 tony Stark opus 4.7 消耗太快了 说个暴论: gpt plus 比 5x claude code 还耐用啊 今天不小心把 typc-c 线插进电脑 usb-A 母口了,还是不够“防呆” 安徽宿松未婚生子退彩礼案会不会给一些人提供了思路? [填坑] 德国沃达丰 eSIM 手机号充值 & 保号教程 避雷这个中转站,三天两头不行,还不退款 你见过 AI 被“逼疯” 了吗? 手机贴膜之 类纸膜 [虚拟机挂微信也会掉线] 下文 谷歌商店的 Mi Fitness 似乎不能连接国行的小米手环了 招商银行真是奇葩,半夜三更偷偷给你的银行卡签约在线支付 小米+ iPhone 双持体验分享 Aniu——利用 AI 进行全自动操作模拟仓炒股的程序 为什么你该停止使用 Ollama - V2EX 亲测已撸|成功拿下德国 O2 eSIM 卡申请记录分享 [开源分享] transpec,开发框架转换工具 使用 bitwarden 导致 Chrome 浏览器卡顿的问题 Claude Design - V2EX 新发现? qwem3.6 35b a3b 官方模型写刘备文 6 得很 [开源]浏览器里设计 3D 键盘,打开就能玩 今年的 lenny newsletter 年订阅大包 大家觉得值不值? 签到 bug 正好在整十日 喜大普奔, authy 可以收到验证码了 再开一贴,讨论 claude code 的平替 qq 邮箱居然开始有广告了 通过 AI 编程 Token 用量,也能“大概”能看出你靠 AI 的盈利能力 openai 注册不需要手机号了,日本、美国节点测试都可以 中转站三步曲 看看你的中转站到哪一步了 Codex 这个申请权限的交互好有意思 移动下场了。免费送一个月 coding Plan(3w 次调用) Codex 又更新了 我的语言学习,基础打好后,学习就会变得无痛 浅试了一下 Qwen3.6-35B-A3B,很强 DESIGN.md 被反诈拦截 第一次在自媒体上赚到钱 用回测筛选因子的一点经验分享 阿里百炼平台上 glm5.1 了 花了两周整理了一份比特浏览器(BitBrowser)中文指南,从下载到指纹防关联全覆盖 v2ex 是 good hacker for spamming program 🤣 我发现支付宝新推出的 AClaw 能够解决账单自动导出的难题! 慢讯, Gemini 推出 Mac 客户端 分享一个自己做的 Nginx 可视化配置工具,实时请求动态预览! [实测生产环境稳定运行半年以上没毛病] claude code 会话团队 hermes 抄袭中国团队 EvoMap 的开源引擎 Evolver
终于训练出最强坦克了
tylearymf · 2026-05-26 · via 分享发现
tylearymf

16

tylearymf      5 月 26 日   ❤️ 1

可以,接着你可以这样讲,语气偏“技术分享”,但不至于太论文味:

---

接下来我就把坦克拆成了一个真正的 agent 系统。

它不是每一帧简单判断“敌人在不在前面,在就开火”。如果这么写,前期确实能赢一些弱对手,但很快就会遇到问题:敌人在草丛里看不见、子弹 1 帧飞两格、星星比击杀更重要、地图边缘看起来能走但下一帧必死。

所以我把它拆成三层。

第一层是**感知层**。

每一帧开始时,我先把游戏状态整理成一个 `ctx`。这个 `ctx` 里面有我的位置、方向、敌人的位置、敌人的方向、星星位置、比分、地图、子弹、技能状态。

同时还有一个跨帧记忆 `AG_MEM`。
这个东西很重要,因为游戏里敌人可能会隐身,子弹也可能没有完整方向信息。如果只看当前帧,很容易误判。所以我会记住:

```text
敌人上一次出现在哪里
敌人上一次朝向哪里
子弹上一帧在哪里
我最近走过哪些位置
我是不是刚开过隐身
我是不是在原地绕圈
我刚才有没有开火
```

这一步其实就是把“游戏画面”变成“可计算的战场状态”。

---

第二层是**风险评估层**。

这个阶段我不是马上决定动作,而是先问几个问题:

```text
我现在会不会被子弹打到?
我下一步会不会踩进炮线?
敌人一转头能不能打我?
我走到边缘后还能不能脱离?
我开隐身之后有没有离开暴露点?
我去吃星会不会被草丛反杀?
```

这个地方是后期变强的关键。

比如有一局我以为代码里已经判断了“死路”,但还是跑到了地图边缘被打死。后来复盘发现,那一格从地图几何上看不是死路,因为它还有好几个出口;但从战术上看,它是死路,因为敌人下一步一移动,就能跟我同线,然后一转头开火,而我从那个格子逃走需要两帧。

所以后来我加的就不是简单的 `safeExits <= 1`,而是类似:

```text
如果我走到这个位置
敌人下一步能不能移动到同线?
敌人转头需要几帧?
子弹飞到我这里需要几帧?
我从这个位置脱离炮线需要几帧?
```

如果敌人开火比我脱离更快,那这个格子就算不是墙,也应该判成危险格。

这就是从“地图判断”升级成了“战术预测”。

---

第三层是**优先级仲裁层**。

也就是 `choose()`。

我后来发现,很多坦克代码的问题不是没有策略,而是策略之间会互相抢优先级。
比如:

```text
我想隐身绕后
但现在有子弹飞过来

我想草丛反击
但星星马上要被敌人吃掉

我想追杀敌人
但我已经领先,拖时间就能赢
```

所以我把整个决策链排成了优先级:

```text
先躲弹
再看有没有必杀
再看能不能安全开火
再处理贴星封锁
再处理近星争夺
再处理草丛反击
再处理隐身刺杀
再处理普通追星和移动
```

这里有个很重要的思想:

> 最强的 agent 不是每次都选最激进动作,而是每一帧都知道当前最不能犯的错是什么。

比如子弹来了,那就不要想击杀。
星星马上要决定胜负,那就不要为了绕后丢星。
敌人已经在近距离炮线里,那就不要原地隐身装聪明,要么开火,要么脱线。

---

然后我会讲一个具体例子。

比如草丛反击那一版,最开始的问题是:敌人藏起来后,我的坦克会进入一种“反伏击”逻辑,试图横向脱离或者预判敌人位置。但有时候星星就在附近,这时候最重要的不是躲草丛,而是抢星线。

所以后面我加了一个 `nearStarContestAct`。

它的作用不是“无脑吃星”,而是判断:

```text
星星离我近不近?
敌人有没有可能抢?
我有没有一个安全格可以缩短到星星的距离?
这个格子会不会进敌人炮线?
这个动作会不会被 hidden ambush 逻辑抢掉?
```

如果满足条件,就优先抢星位。

这就是一个很典型的迭代:
不是把草丛逻辑删掉,而是让它在更高优先级的控星逻辑面前退让。

---

然后再讲隐身。

我这辆坦克是 cloak 技能,但我后来发现,隐身不能当万能保命按钮。

很多时候原地隐身其实没用,因为敌人已经知道你上一帧在哪里。你如果隐身后不移动,子弹照样打到你。

所以现在隐身逻辑里面有几个不同模块:

```text
能不能隐身接近
隐身后要不要先换位
有没有机会绕到背线
同线时能不能直接开火
敌人是否已经瞄准我
我是不是为了隐身丢掉星星
```

也就是说,隐身不是一个动作,而是一段战术流程:

```text
开隐身
离开暴露点
绕到安全线
确认敌人炮口风险
再决定开火或继续换位
```

这个也是后面从失败里磨出来的。

---

最后我会讲整个训练闭环。

我每次不是凭感觉调参数,而是这样做:

```text
拉最近比赛
筛失败局
看死亡前几帧
判断是哪类失败
复现那个局面
加一个很窄的规则
跑回归测试
跑模拟
再发布
```

比如一次失败可能最后变成一个新规则:

```text
不要走进边缘同步炮线陷阱
不要让草丛反击抢掉近星争夺
隐身后必须离开暴露点
同线近距离时必须在开火和脱线之间二选一
星星被土堆挡住时,先找破土位
```

这些规则单独看都不大,但叠起来之后,坦克就从“会打架”变成了“会做战术决策”。

---

最后收束可以这样说:

> 所以我觉得这件事最有意思的地方,不是 AI 一次性帮我写出了最强坦克,而是 AI 帮我搭了一个 agent 的思考框架。后面真正变强,是我不断用真实对局去撞这个系统,把每一次输局都转成一个更精确的判断。
>
> 到最后,这辆坦克其实不是靠某个神奇招式赢,而是靠一套越来越完整的决策系统赢:它知道什么时候活命,什么时候控星,什么时候开火,什么时候隐身,什么时候宁可不动也不能犯错。

tylearymf

34

tylearymf      5 月 26 日

## 几个有意思的设计点

### 1. 未来一帧死亡预测器

早期我只判断“当前位置有没有危险”,后来发现不够。
有些格子现在看起来安全,但我一走过去,敌人下一步就能对齐我,然后转头开火。

所以我加了一个短期预测:

- 我走到这个格子
- 敌人按照当前方向走一步
- 敌人是否能和我同线
- 敌人转头需要多久
- 子弹飞到我这里需要多久
- 我从这个格子脱离炮线需要多久

如果敌人击杀我的时间更短,这个格子就被视为危险。

这个点最有意思的是:
它说明“地图上能走”不代表“战术上能走”。

---

### 2. 隐身不是按钮,而是状态机

这辆坦克有隐身技能,但我很快发现,原地隐身没有意义。
敌人虽然看不见我,但它知道我上一帧的位置,子弹还是能打到那里。

所以我把隐身拆成几步:

1. 判断是否值得开隐身
2. 开隐身后立刻离开暴露点
3. 侧向换位,避免仍在原炮线
4. 判断是否已经形成击杀窗口
5. 如果没有击杀窗口,就继续换位或脱离

隐身的核心不是“消失”,而是制造位置差。

---

### 3. 草丛反击和抢星会打架

有一类局面很有意思:敌人藏起来,我的系统会进入反伏击模式。
但如果星星就在附近,反伏击未必是第一优先级。

早期有一局就是这样:系统为了处理隐藏敌人,错过了更重要的星位。
后来我加了一个仲裁逻辑:

> 在关键星位附近,控星优先于反伏击。

这不是说反伏击不重要,而是说不同规则之间必须有优先级。
很多 bug 不是规则本身错,而是规则排队顺序错。

---

### 4. 躲子弹本质是时间竞速

子弹一帧飞两格,所以不能只看“子弹现在在哪”。
真正要算的是:

- 子弹几帧后到我这里
- 我转向需要几帧
- 我移动出炮线需要几帧
- 我移动过程中会不会穿过子弹轨迹

如果子弹到达更快,我就不能选择那个动作。

这让躲弹从简单坐标判断,变成了一个时间问题。

---

### 5. 星星不可达时,先创造条件

有些地图里星星被土堆挡住,直接寻路会失败。
早期系统会在附近绕圈,因为它知道星星重要,但不知道怎么到达。

后来我加了一个目标分解逻辑:

- 如果星星当前不可达
- 找一块打掉后能打开路线的土堆
- 先走到能射击那块土堆的位置
- 打通路线后再重新追星

这其实就是从“追目标”变成了“先创造追目标的条件”。

---

### 6. 每次输局都变成一个窄规则

我不是一次性写一个大而全的智能体。
后期基本是:

- 看失败回放
- 找死亡前几帧
- 判断是哪类失败
- 抽象成一个小规则
- 加进决策流水线
- 再用模拟验证

每条规则都尽量窄。
比如不是“不要靠边走”,而是“不要走进敌人下一步能对齐、转头、开火,而我又来不及脱离的边缘格”。

窄规则的好处是副作用小,也更容易验证。