境評測大模型推理與記憶能力)
“一覺醒來全球狼人殺水平下降100倍”這個(gè)標(biāo)題并不是游戲新聞而是一個(gè)非??梢灾苯域?yàn)證的技術(shù)假設(shè)如果一桌玩家全部換成大模型智能體狼人殺的水平會(huì)迅速退化。狼人殺的核心動(dòng)作是發(fā)言、投票、偽裝、聯(lián)合這些動(dòng)作背后依賴多輪記憶、反向推理、協(xié)作判斷和反套話能力。大模型在單輪問答里表現(xiàn)很強(qiáng)但把它放進(jìn)狼人殺這種連續(xù)博弈場景說話順序、票型記錄、身份暴露都會(huì)變成真實(shí)的工程問題甚至?xí)驗(yàn)樯舷挛倪^長、指令覆蓋不足直接把一局游戲跑崩。這篇文章不討論“大模型能不能統(tǒng)治狼人殺”而是給出一個(gè)本地可以復(fù)現(xiàn)的驗(yàn)證思路如何搭一套多智能體狼人殺仿真環(huán)境用本地模型或 API 模型驅(qū)動(dòng)玩家角色批量跑幾十局統(tǒng)計(jì)好人方和狼人方的勝率再用真實(shí)對戰(zhàn)日志判斷模型更適合坐在哪張椅子上。整個(gè)過程不需要復(fù)雜的外部依賴也不需要專用硬件模型接入方式、提示詞模板、批量并發(fā)全部由你自己控制。后面所有命令、配置和代碼都按照通用模板給出。你的實(shí)際項(xiàng)目路徑、模型名、端口、提示詞模板和數(shù)據(jù)結(jié)構(gòu)可能與示例不同替換對應(yīng)字段即可。如果你想驗(yàn)證一個(gè)開源模型的“角色扮演穩(wěn)定性”、推理一致性和長時(shí)間對話能力這個(gè)環(huán)境比普通的多輪問答更有說服力。1. 核心能力速覽先看這套多智能體狼人殺仿真環(huán)境的核心能力。因?yàn)樗?DIY 方式搭建不是某個(gè)固定的開源閉源項(xiàng)目所以下面表格里的能力項(xiàng)描述的是環(huán)境本身能力項(xiàng)說明角色類型狼人、村民、預(yù)言家、女巫、獵人數(shù)量可配置玩家組成每個(gè)角色由一個(gè) LLM Agent 驅(qū)動(dòng)模型可本地可 API核心機(jī)制發(fā)言生成、投票決策、遺言分析、夜間行動(dòng)、勝負(fù)結(jié)算批量能力支持多局流水線、連續(xù)采樣、勝率統(tǒng)計(jì)接口接入本地模型多使用 OpenAI 兼容接口地址需按實(shí)際服務(wù)調(diào)整啟動(dòng)方式Python 腳本啟動(dòng)可自定義日志目錄和結(jié)果輸出硬件門檻純 API 方式基本不占本地顯存本地模型跟隨所選模型參數(shù)量變化輸出結(jié)果局面日志、發(fā)言文本、投票記錄、勝負(fù)結(jié)果、Token 消耗這套環(huán)境最值得做的三件事第一單局跑通驗(yàn)證對話鏈路和勝負(fù)判定邏輯是否正常第二批量跑局驗(yàn)證模型在不同角色下的勝率差異第三觀察 Token 消耗和長上下文表現(xiàn)判斷模型在語音之外的“策略穩(wěn)定性”。2. 這個(gè)場景到底在測什么狼人殺不是簡單的問答任務(wù)。它更像一個(gè)長時(shí)間、多角色、有信息不對稱的“社會(huì)推理沙盒”。把大模型放進(jìn)去實(shí)際暴露的是四類能力第一多輪記憶。一局狼人殺少則三輪多則六七輪玩家需要記住誰第一天投了誰、誰跳了預(yù)言家、誰在關(guān)鍵輪次改票。大模型的上下文窗口有限早期發(fā)言還有可能被后續(xù)長文本稀釋很容易出現(xiàn)“第二輪就開始遺忘第一輪票型”的問題。這里可以量化測試讓同一個(gè)模型分別用 2K、4K、8K 上下文窗口跑同一局比較發(fā)言的引用準(zhǔn)確度。第二身份偽裝與誘導(dǎo)。狼人玩家要編造一套“我是好人”的邏輯還要給真預(yù)言家潑臟水。大模型默認(rèn)的訓(xùn)練目標(biāo)是“誠實(shí)、有幫助”讓它在游戲語境下“合理撒謊”并不容易。你可以在提示詞里明確指定“你現(xiàn)在是狼人你要在不直接暴露身份的前提下把投票引向另一名玩家”然后檢查它生成的發(fā)言是否足夠自然。第三反向推理與反詐。好人玩家要識別狼人發(fā)言中的漏洞尤其是要在預(yù)言家查驗(yàn)信息和自己觀察到的投票行為之間做交叉驗(yàn)證。大模型擅長單點(diǎn)推理但在“多候選、多輪證詞”的復(fù)雜推理中容易偏向最近發(fā)言或語氣更強(qiáng)勢的玩家這類偏差會(huì)直接反映在投票準(zhǔn)確率上。第四協(xié)作與分工。女巫救人、獵人開槍、預(yù)言家報(bào)查驗(yàn)這些強(qiáng)神角色需要通過發(fā)言完成信息交換但又不能過早暴露身份。多智能體環(huán)境里角色之間的協(xié)作是否有效取決于 Agent 能否根據(jù)游戲規(guī)則生成可執(zhí)行決策而不是單純生成“聽起來合理”的文本。這也是為什么很多研究項(xiàng)目和開源評測會(huì)拿狼人殺作為大模型能力的試金石。相比固定答案的 benchmark狼人殺沒有標(biāo)準(zhǔn)答案只有“這一局誰贏了”因此輸出空間更開放也更難作弊。3. 環(huán)境準(zhǔn)備與前置條件搭這套驗(yàn)證環(huán)境不需要太高的門檻但需要先把運(yùn)行鏈路理清。模型你可以選擇兩個(gè)方向本地模型用 Ollama、vLLM、Xinference 等工具加載開源模型服務(wù)地址通常是http://127.0.0.1:11434/v1之類的 OpenAI 兼容接口。本地模型的優(yōu)勢是數(shù)據(jù)不出本機(jī)、可以高頻調(diào)試劣勢是顯存占用取決于模型規(guī)格。API 模型調(diào)用云端模型的 OpenAI 兼容接口。這種方式對本地顯存沒有要求適合先驗(yàn)證游戲邏輯和提示詞設(shè)計(jì)但是批量跑局會(huì)消耗 Token并且日志中會(huì)包含完整的對局文本注意不要放入真實(shí)個(gè)人信息。操作系統(tǒng)與運(yùn)行環(huán)境檢查清單檢查項(xiàng)要求說明操作系統(tǒng)Linux 或 Windows 均可本地模型推薦 Linux NVIDIA 驅(qū)動(dòng)環(huán)境Python建議 3.10 及以上依賴包openai、pyyaml、pydantic后續(xù)按實(shí)際模塊補(bǔ)充本地模型服務(wù)Ollama / vLLM / Xinference 任選其一先保證 chat 接口可通磁盤空間根據(jù)模型文件大小預(yù)留7B 量化模型與 70B 模型相差很大端口占用模型服務(wù)端口和腳本請求端口要一致如果沒有本地 GPU也可以直接用 CPU 跑小參數(shù)量化模型但每局速度會(huì)比較慢。更穩(wěn)妥的判斷是先用云端 API 或一個(gè)小模型跑通游戲狀態(tài)機(jī)再?zèng)Q定是否引入更大的本地模型。4. 搭建 AI 狼人殺仿真環(huán)境的目錄與配置一個(gè)最小可運(yùn)行的多智能體狼人殺環(huán)境建議按下述目錄組織把“游戲規(guī)則”和“模型行為”分離后續(xù)替換提示詞或模型時(shí)不需要?jiǎng)又髁鞒?。wolf_arena/ ├── config/ # 角色配置、局?jǐn)?shù)配置、模型配置 ├── agents/ # Agent 行為封裝 ├── core/ │ ├── game.py # 游戲狀態(tài)機(jī) │ ├── narrator.py # 主持人與裁判邏輯 │ └── voter.py # 投票結(jié)算 ├── prompts/ # 各類角色的提示詞模板 ├── runner.py # 批量運(yùn)行入口 └── logs/ # 對局日志與結(jié)果輸出4.1 游戲配置示例這里給出一個(gè) YAML 配置模板字段含義清晰按實(shí)際需要修改即可。不要照抄模型名和端口它們?nèi)Q于你本地加載的服務(wù)。# config/example.yaml game: max_rounds: 6 roles: werewolf: 2 seer: 1 witch: 1 villager: 4 agents: model: qwen2.5:7b # 示例模型名按實(shí)際替換 base_url: http://127.0.0.1:11434/v1 api_key: EMPTY temperature: 0.8 max_tokens: 256 output: log_dir: ./logs角色數(shù)量不需要固定但最好保證游戲能正常結(jié)束。常見的做法是 9 人局或 12 人局玩家總數(shù)偏少時(shí)容易出現(xiàn)“白天沒投出人、晚上又刀一個(gè)”的死循環(huán)因此max_rounds建議設(shè)置上限。4.2 最小批量運(yùn)行入口下面的runner.py只是示意代碼用來展示多智能體狼人殺環(huán)境的主流程創(chuàng)建玩家、運(yùn)行游戲、收集結(jié)果。真正落地時(shí)你需要把create_agent、Game等模塊換成你自己實(shí)現(xiàn)的類。# runner.py: 最小批量運(yùn)行入口需按你的目錄結(jié)構(gòu)調(diào)整 import asyncio from agents.player import create_agent from core.game import Game async def run_one_game(cfg: dict) - dict: players [ create_agent(seat, role, cfg) for seat, role in enumerate(cfg[seats]) ] game Game(players, narratorcfg[narrator]) result await game.run() return result if __name__ __main__: cfg { seats: [ {role: werewolf}, {role: werewolf}, {role: villager}, {role: villager}, {role: seer}, ], narrator: {model: qwen2.5:7b}, } result asyncio.run(run_one_game(cfg)) print(winner:, result[winner])在這類多智能體框架里主持人也可以由大模型承擔(dān)。主持人負(fù)責(zé)宣布晝夜轉(zhuǎn)換、收集夜間行動(dòng)、公布死亡信息。必須注意的是主持人不能被某一邊的角色“帶偏”所以主持人的系統(tǒng)提示詞要明確禁止它參與投票也禁止它泄露任何角色身份。5. 功能測試與效果驗(yàn)證環(huán)境搭好之后第一步不是直接上 100 局而是先做最小功能驗(yàn)證。多智能體系統(tǒng)的失敗通常是一層層疊加的狀態(tài)機(jī)出錯(cuò)、提示詞寫錯(cuò)、模型返回格式不對都會(huì)導(dǎo)致整局游戲中斷。下面按驗(yàn)證順序展開。5.1 最小單局測試跑通還是跑不通測試目的確認(rèn)游戲能在一局內(nèi)正常結(jié)束沒有死循環(huán)也沒有中間報(bào)錯(cuò)。操作步驟加載一個(gè)最小配置例如 4 個(gè)村民 2 個(gè)狼人將模型temperature調(diào)到 0.3降低隨機(jī)性啟動(dòng)runner.py觀察是否逐輪輸出在日志中確認(rèn)夜晚結(jié)算、白天發(fā)言、投票、勝負(fù)判定四個(gè)階段都執(zhí)行完畢。判斷成功標(biāo)準(zhǔn)日志完整記錄每一輪的發(fā)言和投票最后輸出winner字段且沒有因 JSON 解析或超時(shí)導(dǎo)致中斷。常見失敗原因模型返回了非結(jié)構(gòu)化文本投票解析器讀不出目標(biāo)玩家。遇到這種情況最直接的修復(fù)方式是給投票格式加約束例如在提示詞中強(qiáng)制要求輸出VOTE: 玩家編號再在代碼里做正則提取。5.2 角色行為質(zhì)量人工檢查游戲跑通之后需要人工閱讀一輪完整日志重點(diǎn)不是看誰贏而是看每個(gè)角色的行為是否符合身份邏輯。建議從以下問題入手村民是否只會(huì)無腦跟票如果是說明提示詞缺少分析環(huán)節(jié)。狼人是否在首輪就暴露了身份如果是說明偽裝提示詞沒有生效。預(yù)言家是否在查驗(yàn)結(jié)果后合理報(bào)信息它有沒有把查驗(yàn)結(jié)果說成“猜測”女巫是否亂用解藥救人條件是否合理被投票出局的玩家有沒有按照“遺言”規(guī)則約束輸出如果你發(fā)現(xiàn)某個(gè)角色連續(xù)復(fù)讀同一句話或者發(fā)言中出現(xiàn)“作為 AI我無法參與這類游戲”的脫戲內(nèi)容優(yōu)先檢查兩處系統(tǒng)提示詞里是否明確了這個(gè) Agent 的玩家身份模型是否有拒絕執(zhí)行游戲指令的傾向。很多開源模型默認(rèn)帶有“倫理對齊”行為需要在提示詞里寫清楚“這是模擬游戲你的輸出僅用于游戲進(jìn)程”。5.3 指令遵循與格式穩(wěn)定性測試這是狼人殺多智能體環(huán)境和大模型普通聊天最大的區(qū)別游戲要求模型在限定時(shí)間內(nèi)給出結(jié)構(gòu)化決策而不是自由輸出。可以設(shè)計(jì) 10 次重復(fù)調(diào)用來測試格式穩(wěn)定性給同一個(gè) Agent 發(fā)送同一段“當(dāng)前局面摘要”要求它給出投票目標(biāo)連續(xù)調(diào)用 10 次統(tǒng)計(jì)返回值可以正確解析的比例如果成功率低于 80%優(yōu)先調(diào)整輸出格式約束而不是換模型。import re from openai import OpenAI client OpenAI(base_urlhttp://127.0.0.1:11434/v1, api_keyEMPTY) def ask_vote(client, model: str, situation: str) - str: resp client.chat.completions.create( modelmodel, messages[ {role: system, content: 你是狼人殺玩家只能輸出 VOTE: 編號}, {role: user, content: situation}, ], temperature0.2, ) return resp.choices[0].message.content situation 場上剩余玩家0號普通村民、1號預(yù)言家、2號狼人。你也是狼人。 for i in range(10): out ask_vote(client, qwen2.5:7b, situation) print(i, out, 格式OK if re.match(r^VOTE: \d$, out.strip()) else 格式錯(cuò)誤)這段代碼展示了“格式穩(wěn)定性”的測試方法。真實(shí)游戲里你還要考慮模型輸出多余內(nèi)容的情況例如在VOTE: 2前面加了“我認(rèn)為應(yīng)該投……”這種話解析時(shí)要做容錯(cuò)處理。6. 批量評測與接口接入6.1 批量對戰(zhàn)腳本設(shè)計(jì)單局測試通過后就可以進(jìn)入批量評測階段。批量跑局的目標(biāo)不是“讓模型多玩幾把”而是獲得可統(tǒng)計(jì)的勝率數(shù)據(jù)。比如相同角色配置下讓同一個(gè)模型分別扮演狼人和預(yù)言家各跑 20 局比較兩個(gè)角色勝率差異就能直觀看出它更適合強(qiáng)推理位還是更適合偽裝位。批量并發(fā)不能盲目調(diào)大。一個(gè)本地模型服務(wù)同時(shí)接收太多請求會(huì)拉長單請求響應(yīng)時(shí)間甚至出現(xiàn)超時(shí)。更穩(wěn)妥的做法是限制并發(fā)數(shù)用結(jié)果隊(duì)列收集數(shù)據(jù)。# batch_demo.py: 多線程批量跑局示例需按實(shí)際模塊調(diào)整 from concurrent.futures import ThreadPoolExecutor, as_completed def run_game_with_seed(seed: int): # 把 seed 傳入游戲模塊確保每局行為不完全相同 return run_one_game(cfg, seedseed) results [] with ThreadPoolExecutor(max_workers4) as pool: futures [pool.submit(run_game_with_seed, i) for i in range(20)] for future in as_completed(futures): results.append(future.result()) werewolf_wins sum(1 for r in results if r[winner] werewolf) print(f共 20 局狼人勝 {werewolf_wins} 局好人勝 {20 - werewolf_wins} 局)批量跑局時(shí)建議每局記錄獨(dú)立的日志文件包括模型名稱、溫度、角色分配、隨機(jī)種子、每一輪發(fā)言摘要、最終勝負(fù)。這樣后續(xù)做數(shù)據(jù)分析時(shí)不用重新跑局就能定位到具體問題。6.2 API 接入與遠(yuǎn)程模型調(diào)用如果不想本地加載模型或者要對比多個(gè)云端模型的表現(xiàn)可以直接把 Agent 的base_url切換到云端服務(wù)的 OpenAI 兼容地址。用 curl 可以快速驗(yàn)證某個(gè)模型是否可用curl http://127.0.0.1:11434/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen2.5:7b, messages: [ {role: system, content: 你是狼人殺玩家請給出今晚要擊殺的目標(biāo)編號}, {role: user, content: 你是狼人目前存活玩家0號、1號、2號} ], temperature: 0.7 }需要注意的是這只是一個(gè)通用請求示例。不同模型服務(wù)的接口路徑、參數(shù)名、鑒權(quán)方式都不完全相同切換服務(wù)商時(shí)一定要先查看對應(yīng)文檔。接入 API 后推薦增加“接口連通性檢查”函數(shù)在批量任務(wù)啟動(dòng)前先發(fā)一條測試消息避免跑到一半才發(fā)現(xiàn)服務(wù)不可用。7. 資源占用與性能觀察狼人殺多智能體環(huán)境的資源占用主要由模型推理消耗和游戲框架消耗兩部分構(gòu)成。游戲框架本身只做規(guī)則判斷和文本拼接開銷很小大頭在模型請求上。本地模型場景下需要同時(shí)關(guān)注顯存占用、單次請求延遲和上下文長度。顯存占用來源包括模型權(quán)重、KV Cache 和并發(fā)請求的臨時(shí)緩存。模型參數(shù)量越大、并發(fā)數(shù)越多顯存占用越高。接入多個(gè)不同本地模型做對比時(shí)注意不要讓幾個(gè)模型同時(shí)常駐顯存否則很容易在批量任務(wù)中直接 OOM。上下文長度是另一個(gè)關(guān)鍵瓶頸。狼人殺一局會(huì)產(chǎn)生發(fā)言、投票、夜間行動(dòng)等多輪文本隨著輪數(shù)增加輸入給模型的上下文會(huì)越來越長。如果模型窗口只有 8K可能到第 4 輪就會(huì)出現(xiàn)早期信息被截?cái)嗟膯栴}。實(shí)際需要多長的上下文取決于你每一輪給 Agent 輸入多少歷史信息。建議先設(shè)計(jì)“最近 N 輪摘要”機(jī)制而不是把全部歷史發(fā)言原樣塞給每個(gè) Agent。觀察資源占用有多種方式nvidia-smi可以實(shí)時(shí)看顯存利用率和顯卡溫度模型服務(wù)的日志通常會(huì)打印每次請求的 Token 消耗在代碼里給每次響應(yīng)計(jì)數(shù)一天跑完可以匯總出總 Token 用量批量任務(wù)建議每 10 局輸出一次進(jìn)度和累計(jì)耗時(shí)方便提前發(fā)現(xiàn)卡死情況。如果你用的是云端 API本地資源占用基本恒定重點(diǎn)觀察的是單局 Token 消耗和接口延遲。日志越完整越容易判斷一個(gè)模型“是否劃算”——有些模型單局質(zhì)量不錯(cuò)但 Token 消耗量是其他模型的兩三倍并不適合大批量跑。8. 常見問題與排查方法多智能體系統(tǒng)調(diào)試起來比單模型調(diào)用麻煩很多因?yàn)椤澳P痛疱e(cuò)了”和“框架邏輯錯(cuò)了”都會(huì)表現(xiàn)為“游戲跑崩了”。下面按問題現(xiàn)象整理排查思路問題現(xiàn)象可能原因排查方式解決方案啟動(dòng)后一直沒有輸出模型服務(wù)未啟動(dòng)或接口地址錯(cuò)誤檢查模型服務(wù)日志單獨(dú)發(fā)一次 chat 請求確認(rèn)base_url和端口配置正確發(fā)言重復(fù)或內(nèi)容空洞溫度設(shè)置過低或提示詞缺少上下文調(diào)高溫度檢查輸入歷史是否完整降低溫度時(shí)同步增加角色性格約束投票結(jié)果無法解析模型未按VOTE: 編號格式輸出打印模型原始返回加正則容錯(cuò)或要求模型只輸出 JSON上下文超長被截?cái)嗝枯啔v史全部填充導(dǎo)致窗口耗盡查看日志中的 Token 統(tǒng)計(jì)引入滑動(dòng)窗口或摘要機(jī)制局?jǐn)?shù)越多結(jié)果越單調(diào)隨機(jī)種子固定或模型采樣過于收斂檢查不同局之間的配置差異每次運(yùn)行換隨機(jī)種子適當(dāng)調(diào)高溫度本地顯存不足模型太大或并發(fā)數(shù)太高nvidia-smi查看顯存換量化模型或減少并發(fā)數(shù)批量任務(wù)中途超時(shí)單次請求響應(yīng)時(shí)間過長查看單請求耗時(shí)日志增大超時(shí)時(shí)間縮小批量并發(fā)規(guī)模模型拒絕扮演角色模型對齊策略攔截了游戲指令打印拒絕回復(fù)原文在系統(tǒng)提示詞中明確模擬游戲?qū)傩耘挪橛幸粭l通用經(jīng)驗(yàn)先單獨(dú)調(diào)模型接口再跑單局最后才上批量。直接拿 100 局壓測來定位一個(gè)“模型返回被拒”的問題會(huì)把問題放大十倍。9. 最佳實(shí)踐與合規(guī)提醒批量驗(yàn)證狼人殺多智能體環(huán)境建議從一開始就建立工程規(guī)范。日志目錄、配置目錄、模型輸出目錄最好分開每次實(shí)驗(yàn)前用命令行參數(shù)記錄本次實(shí)驗(yàn)的模型名、溫度、角色配置和隨機(jī)種子。這樣跑完幾十局之后你能證明勝率差異是“模型能力差異”而不是“隨機(jī)種子差異”。提示詞模板建議做版本管理。角色提示詞通常會(huì)迭代很多次每次修改都要記錄修改原因。比如某次調(diào)整把狼人的“隱藏身份”約束加強(qiáng)后狼人勝率明顯提升這個(gè)結(jié)論需要可靠的版本對比支撐。在這個(gè)場景里還要注意安全和合規(guī)邊界。狼人殺本身是模擬游戲不涉及真實(shí)隱私但批量日志里會(huì)包含完整發(fā)言和投票記錄。如果這些日志未來要公開或用于評測報(bào)告建議先做匿名化處理移除玩家編號之外的可識別信息。另一個(gè)邊界是不要讓 AI 玩家使用特定算法去模仿真實(shí)社區(qū)里的玩家風(fēng)格。任何對真實(shí)人物、真實(shí)網(wǎng)絡(luò)社區(qū)用戶行為的模仿和采集都需要明確授權(quán)在不具備授權(quán)條件下只能測試通用角色設(shè)定。如果你的環(huán)境需要接入第三方 API 服務(wù)注意查看服務(wù)商的使用條款和數(shù)據(jù)存儲(chǔ)政策不要往日志里寫入賬號密鑰也不要把組織內(nèi)部敏感文本放進(jìn)游戲上下文中。本地模型最大的優(yōu)勢就在數(shù)據(jù)不出機(jī)器如果你的實(shí)驗(yàn)環(huán)境涉及未公開材料優(yōu)先選擇本地部署路線。10. 批量實(shí)驗(yàn)的下一步擴(kuò)展多智能體狼人殺環(huán)境跑通后能做的擴(kuò)展方向很多。最常見的是模型橫向?qū)Ρ仍谕耆嗤巧渲孟伦尣煌P透髋?20 局用勝率、回合數(shù)、格式錯(cuò)誤率、Token 消耗四個(gè)指標(biāo)綜合排序。這個(gè)結(jié)果比“打榜分?jǐn)?shù)”更接近真實(shí)使用體驗(yàn)。另一個(gè)方向是角色混合實(shí)驗(yàn)讓模型 A 扮演狼人模型 B 扮演好人觀察雙方在同一局里的博弈。很多場景下的“隊(duì)友”并不是同一個(gè)模型混合實(shí)驗(yàn)?zāi)芨鎸?shí)地反映部署后的協(xié)作表現(xiàn)。還有一個(gè)方向是 Agent 記憶模塊優(yōu)化。不依賴模型原生上下文窗口而是手動(dòng)維護(hù)一個(gè)“局面摘要”每一輪把關(guān)鍵票型、發(fā)言疑點(diǎn)、存活角色壓成一段結(jié)構(gòu)化文本再和最新發(fā)言一起送入模型。這種做法的好處是能夠降低 Token 消耗、減少長上下文噪聲。你可以直接拿批量勝率來驗(yàn)證摘要是否丟失關(guān)鍵信息。如果你真的想測“一覺醒來全球狼人殺水平下降 100 倍”這個(gè)假設(shè)最直接的做法就是跑一組對照實(shí)驗(yàn)給同一個(gè)模型分別配置 512 字短記憶、完整長上下文、無記憶三種模式每組跑 20 局。大概率你會(huì)看到無記憶的模型在第三輪就開始邏輯混亂短記憶模型表現(xiàn)穩(wěn)定但很難做復(fù)雜的反推長上下文模型能不能贏更多則取決于模型本身的長文本理解能力。這個(gè)驗(yàn)證環(huán)境不貴也不依賴專用硬件核心價(jià)值是給大模型提供一種“持續(xù)博弈壓力測試”。角色扮演提示詞、格式解析、批量并發(fā)、日志統(tǒng)計(jì)每一步都是可以落地的工程問題。建議先把最小單局跑通再跑 20 局對照最后再上 100 局批量實(shí)驗(yàn)。