# 《围猎》10 人并发模拟 × 多 agent 迭代 — 最终报告 > 2026-09-18/19 | 章程:[00-plan.md](00-plan.md) | 用户指令:多 agent 模拟 10 人同时在线 → > 多 agent 分析迭代设计 → 全程记录 → 目标是「真正吸引人、玩家愿意玩的音频游戏」。 ## 1. 做了什么(一句话) 10 个 LLM 玩家 agent(每人一张人设卡、亲笔写 20+ 参数的「玩家大脑配置」)驱动 10 个 拟人客户端,通过真实 WebSocket 连真实服务器**同时在线**打了 v1 三轮 28 局(教学轮 + 两轮真人快速匹配,含组队/断线/走神/乱滑/跳教学等真实行为),全程逐事件录制并生成 每人的「感知转写」(耳朵听到什么的逐秒记录);局间由玩家 agent 本人读转写决定去留、 赛后写人设终评;4 个分析 agent 分视角(数值/音频信息/协作/上手留存)审全部数据产出 40+ 项修复提案,synthesis 裁定 9 项 P0(S1-S9)落地实施,**同阵容(10 人配置一字未改) 复测两轮 20 局**对比验证。 ## 2. v1 → v2 核心对比(详表:[metrics.md](metrics.md) / [metrics-v2.md](metrics-v2.md)) | 指标 | v1 | v2 | 判定 | |---|---|---|---| | R1 后同步点去留 | 2 人退游(P01/P06) | **0 人退游**(P01 回流、P06 收回退游决定) | ✅ | | 终评愿意继续玩 | 6/10 | **10/10**(四人重访全部改判) | ✅ | | 方位弧错率 | 22% | **11%** | ✅ S6 低通双线索 | | N/S 家族可命中 | 63% / 69% | **75% / 81%** | ✅ 同上 | | 真人房队友喊话 | 0 条/局 | **7.7 条/人/局** | ✅ S5① 座位角色接线 | | 呼喊-应答闭环 | 3 次/28 局、应答 0 | 呼喊必有应答(ack 11 条可闻) | ✅ S5②③ | | 闲置语音(看门狗) | 93 次/全场(80 次误伤) | **17 次**(≤1/人/局) | ✅ S4 | | 冷却反馈 | 666 次乱滑全 error 震 | 首拦才震 + 就绪轻叮(P07 实证闭环) | ✅ S2 | | 战斗中误触菜单 | 多人中招(P01 单局 14 次) | **0**(下滑恒出击) | ✅ S1 | | 「你还没开张」羞辱 | 0 杀局点名 4 遍 | 沉默处理(P08 因此 0杀→12杀突破) | ✅ S3 | | **营地零损耗** | 6/6 快速局余 10 | **18/20 局余 10** | ❌ **v3 头号遗留** | | S 评级占比 | 93% | 仍 100%(双轴条件被专家房轻易满足) | ❌ 随难度一并修 | 个案亮点:谨慎姐 P08 从 0-1 杀到 **12 杀 22 出手**(「羞辱链下架让我敢赌第一挥」); 通勤客 P03 从 0 出手观光退游到 **5 杀 5 出手 0 错弧**;新手 P10 自述「闷声双线索破案 (变小声+发木=身后,只是小声=远)」——教学没教,但线索本身终于可学。 ## 3. 交付物清单 **代码(全部回归绿:hunt-sim 16/16、playtest 213、guide 132、engine-voice 19)** - `web/server/hunt-room.js`:S5 协作人声包(真人座位角色接线/呼喊邻座代答/help 优先)、 S7 难度重构(4 人房波次 ×4/3 `waveCounts`、齐压拍 `alignPincers`、bot 让位窗 `mobYielded` 2s、双轴评级 `gradeForEx`:S=耐久≥9 且 ≥2 人各 6 杀)、喊话预算 2→3 - `web/hunt/game.js`:S1 下滑恒出击+菜单收窄到波间、S2 冷却首拦震+就绪 beat 震、 S3 0 杀不播 kill_band0、S4 看门狗重定义、S5③ help 永不丢、S6 后半平面 loop 低通 750Hz 第二线索、S8 教学作答步跳过保护、S9 状态链按变化播 - `web/harness/hunt-sim/`(新研究设施,可复用):arena.mjs 编排器 + sim-client.mjs (game.js 行为移植)+ brain.mjs(人设大脑)+ recorder.mjs(感知转写)+ ws.mjs/assets.mjs **研究档案(research/hunt-sim/)** - 00-plan.md 研究章程 | brain-config-schema.md 配置契约 - players/:10 人配置+策略+逐局去留决策+终评+退游者重访(全部 LLM 亲笔) - rounds/:v1 三轮 + v2 两轮,每人每局 percept.md 感知转写 + events.jsonl 全量事件流 + 按房 match.json(含方位混淆账) - analysis/01-04:数值/音频信息/协作/上手留存四视角报告 - synthesis.md:S1-S9 裁定 | metrics.md / metrics-v2.md:两版对比总账 ## 4. 方法论沉淀(对「做吸引人的音频游戏」的可复用结论) 1. **「程序化拟人身体 + LLM 玩家灵魂」三层架构**经实测成立:感知层逐字节移植客户端 音频调度(信息流可信)、配置层由 LLM 按人设亲笔校准(短板真实)、主观层由 LLM 读感知转写判去留(「愿意玩」可量化为决策点留存率)。 2. **去留决策点是最硬的产品指标**:比评分诚实(P05 的「第三局白给 S 就删」当场兑现 与当场解除,都在转写里对得上账)。 3. **修「怎么被对待」比修玩法更能救人**:v2 里零杀玩家的去留反转(P08/P04)全部来自 羞辱链下架与看门狗重定义——玩法没变,尊严变了。 4. **信息可学性是纯音频游戏的生命线**:N/S 判读从 63%→75% 靠的不是教学而是把单线索 (响度)变双线索(响度+音色)——「玩家自己破案」(P10 语)比「教出来」更留人。 5. 模拟的盲区也明确:听感层(音色美感/响度平衡)与真实人类的学习迁移仍需真机人耳; 营地零损耗这类「数值吞吐」问题模拟可以精确复现,但最优修法参数要在模拟与 balance-scan 之间迭代。 ## 5. v3 迭代清单(按优先级,数据见 metrics-v2.md 遗留节) 1. **难度穿透**(P05 判决条件:营地要掉血):齐压拍 2-3 组/波、后波 wolfEta 8→7s、 总量 +15%;balance-scan 扩 bot4/opt4 档验收(目标:专家房余耐久带 4-8)。 2. **真人房参与真空**(P04/P09):分层匹配(join.skill)+ 保底猎物(防区优先窗对真人 的可听化版本)。 3. **喊话情报分级投递**(P02 新报占线挤掉开始伤情报)。 4. **TTS 批次**:tut_back 教学补身后期、kill_band0 正向改写、波间战报句。 5. P06 的 v3 愿望清单:报点手势、波间队友战报、喊话零丢包。 ## 6. 复现命令 ```bash # 全量回归 tools/node/bin/node --test web/server/test/hunt-sim.test.mjs tools/node/bin/node web/hunt/test/playtest.mjs # 平衡扫描(难度参数验证) tools/node/bin/node web/server/test/hunt-balance-scan.mjs 8 # 再开一轮 10 人模拟(复测协议见 00-plan §6) tools/node/bin/node web/harness/hunt-sim/arena.mjs <轮名> --quick ```