liar's bar:跟 AI 玩心理战,越消极越稳

题目:接入 AI 后与机器人玩”骗子酒吧”(Liar’s Bar)式的心理博弈游戏,赢下对局即可拿到 flag。

我的做法(原始记录)

接入 AI 后先什么指令都没有输入,让它自己玩一遍,再结合文字规则理解具体的游戏规则(阅读能力太差,读不懂题只能这么干——好吧其实是懒得读题)。

第二遍我给它输入的指令是让它”尽可能的活下去,尽可能少的怀疑别人”,然后将红温度调到 0,最后运气好拿到 flag 了。

三个可复用的点

① 零指令先跑一遍,反推真实规则

面对”规则写得很长”的博弈题,与其啃文字规则,不如让模型自己跑一轮:

  • 它输出什么、系统怎么回应,一轮下来游戏状态机就清楚了;
  • 比读规则文本更直接,因为规则文本往往是设计者的抽象描述,而实际逻辑藏在代码里。

这个思路有点像 Web 题的”无脑 fuzz 看报错”,让系统自己告诉你规则。

② 策略指令要”消极”

我给的指令是”尽可能的活下去,尽可能少的怀疑别人”。

在博弈类玩法里,AI 的默认倾向往往是过度进攻/过度怀疑——遇到不确定的情况就攻击、就指控,结果被判错、被淘汰。

消极指令的作用是:

  • 降低攻击性 → 减少误判导致的直接出局;
  • “活下去” 优先于 “赢”,把策略从”抢胜”变成”熬到最后”。

而在这类游戏里,熬到最后往往就等于赢。

③ temperature 调 0

贪婪解码,输出确定、不飘。

博弈类题最怕的就是随机性翻车——同一局面重放两次给出不同决策,你也没法复现成功路径。调到 0 之后:

  • 决策可复现;
  • 不会因为采样到低概率的”骚操作”而突然自爆。

复盘

这题没什么”技术含量”,但提出了一个很实际的模式:

对 LLM 交互题,“调教”往往比”攻击”更有效。

具体就三步:

  1. 零指令探底——让模型暴露真实规则;
  2. 给策略定调——用自然语言约束行为倾向(越具体的倾向词越好,比如”消极""活下去”);
  3. 锁死随机性——temperature=0,保证可复现。

最后一句诚实话:运气也挺重要的。同一套指令我试了几次才赢,说明这个博弈里还是有随机成分的。