← 文章 / AI技术
余下有解 7小时前 · 2026-09-03 18:58:49 · 1 阅读

给了AIAgent人设、知识库和规则,为什么它还是不会真正“做事”

👀

很多人在做 AI Agent 时,大概都会从几件事开始:先给它一个身份,告诉它是谁;再放进去一套知识,让它知道这个领域里有哪些东西。然后补上规则,告诉它什么能做、什么不能做;最后再加一些性格和表达习惯,让它说出来的话更像一个具体的人。

我最开始做 AI 狼人杀时,也是这么想的。

而且那时候我真正担心的,并不是 AI 会不会玩狼人杀,而是桌上十个 AI Agent 最后会不会像同一个人在说话。

所以一开始,我花了不少精力去做不同玩伴的性格。有人更直接,有人更谨慎,有人习惯先观察,也有人更喜欢主动质疑别人。我希望它们从说话方式、表达节奏到思考习惯,都能明显不一样。

至于狼人杀本身,我当时反而没觉得有多难。毕竟这是一个已经非常成熟的游戏,规则很清楚,网上也有大量攻略、套路和发言资料。

我当时真的觉得:这些东西给够了,AI 不就会了吗?

后来才发现,我把这件事想得太简单了。

01|知道规则,不代表知道这一刻该怎么做

真正开始跑游戏以后,我很快碰到了第一个问题:AI 并不是不知道规则,而是它知道规则以后,还是经常不知道这一刻到底该怎么做。

比如预言家。它知道自己可以跳身份,也知道可以报验人,但真正进入一局以后,马上就会出现很多没法靠一句规则回答的问题:现在要不要跳?手里有金水,要不要马上报?如果前面已经有人跳了预言家,自己应该怎么处理?

狼人也是一样。它当然知道“狼人可以悍跳”,但知道有这个玩法,和知道这一局到底该不该跳,其实完全是两回事。

同一个动作放在不同局面里,可能是对的,也可能是错的。狼人杀真正复杂的地方,并不是规则本身有多难,而是每一种玩法都会和当时的身份、位置、已经公开的信息以及其他人的行为交织在一起。

做到这里我才慢慢意识到,规则解决的是“什么可以做”,但真正玩游戏要解决的是“此时此刻,什么值得做”。

这两个问题看起来很接近,背后其实是完全不同的难度。

规则告诉AI“有哪些动作可以做”,真正进入一局以后,还要判断“这一刻为什么要这样做”。

02|性格慢慢做出来了,游戏却还是不好玩

更有意思的是,我最开始最担心的那个问题——不同 AI Agent 有没有不同性格——反而慢慢能做出一些效果了。

有的说话比较直接,有的更谨慎,有的喜欢先观察,有的会主动质疑别人。如果只看单句发言,它们确实已经不像同一个人了。

但我真正坐下来玩的时候,还是会有一种很明显的感觉:不好玩。

一开始我也说不清到底哪里不对,后来连续看了很多轮发言以后,问题才慢慢变得清楚。

比如有人明确质疑了某个玩家,等轮到那个玩家发言时,他可能根本不回应;桌上已经说了一圈,到了后置位,还是会有人说“现在信息还不够,我再观察一下”“我觉得某个人有点可疑,但还不能确定”。

大家都在猜,也都在分析别人为什么这么说,但真正属于狼人杀的信息反而没有被打出来。有人不愿意明确报信息,有人不太愿意下判断,被质疑以后也不一定正面回应,局面已经到了需要有人往前推的时候,大家还在继续“看看再说”。

这时候会出现一种很奇怪的状态:他们像十个不同的人,但不像十个正在玩狼人杀的人。

有时候甚至更像一群朋友坐在那里聊狼人杀。话说了不少,游戏本身却没怎么往前走。

表达风格已经不同,但如果不回应、不判断、不推动局面,游戏依然不会真正发生。

03|我一开始可能把“性格”看得太重了

做到这里,我开始重新想一个问题:一个 AI Agent 像不像某个角色,到底应该看什么?

我原来一直在想,怎么让它“说得像一个不同的人”。但真正影响游戏体验的,后来已经不是它怎么说,而是它怎么选。

一个 AI Agent 说话听起来很强势,不代表它真的强势。

·  真正到了别人都不愿意给判断的时候,它会不会先站出来?

·  被人点名质疑以后,它会不会正面回应?

·  手里有重要信息的时候,它什么时候说、说到什么程度?

·  前面的判断被新信息推翻以后,它下一轮会不会调整?

这些东西,不是多加几个语气词就能解决的,也不是在设定里写一句“你是一个果断、有攻击性的人”,它就真的会这样行动。

所以我现在会觉得,说话方式可以把不同角色区分开,但真正让角色成立的,是它在不同局面里会怎么做选择。

到了这里,我原来那个“把人物性格设计好,Agent 就会越来越像真人”的思路,其实已经不够用了。

04|复杂 AI Agent,至少要拆成三层来设计

重新回头看这个项目,我觉得自己最开始其实把几个完全不同的问题混在了一起。

第一层是:角色设定。

它是谁,知道什么,有什么边界,平时更倾向于怎么表达。这一层决定的是这个 Agent 的基本轮廓,也是最容易被看到的一层,所以我们很自然会先花时间把它做好。但如果场景开始变复杂,只做到这里远远不够。

第二层是:状态理解。

Agent 要知道自己现在到底处在什么局面里。前面发生了什么,哪些信息已经确定,哪些还只是猜测,自己上一轮做过什么判断,别人又做出了什么回应。

放到狼人杀里,如果它不知道谁已经跳过身份、谁质疑过谁、自己上一轮站过谁,那么这一轮哪怕单独推理得很聪明,也很容易和整局游戏脱节。

第三层是:决策机制。

也就是当局面发生变化以后,它到底凭什么决定下一步做什么。

它这一刻最重要的目标是什么?有哪些动作可以选?什么时候应该继续隐藏,什么时候需要公开信息?什么时候必须回应别人,什么时候反而应该主动把局面往前推?如果几个目标互相冲突,谁排在前面?这一层也是我最开始最容易忽略的地方。

我原本给了 AI 身份、规则和大量玩法资料,以为它“知道得足够多”以后,自然就会做出合理选择。真正跑起来以后才发现,知道有哪些选择,和知道现在为什么应该选这个,是两种完全不同的能力。

所以如果现在让我重新看一个复杂 AI Agent,我会把这三层分开:

角色设定决定它是谁,状态理解决定它现在看到了什么,决策机制决定它下一步为什么这么做。

复杂Agent不能只做人设,还要把“看懂当前状态”和“根据状态做决策”单独设计出来。

很多 Agent 第一眼看起来已经很完整,问题往往不是第一层没做好,而是后面两层其实还很薄。

05|如果再做复杂 Agent,我会先检查四件事

这次狼人杀让我踩得比较深的坑,不是某一条规则写错了,而是一开始把很多精力花在人设、知识和表达上,却没有先把 Agent 到底怎么“运行”想清楚。

如果以后再做一个需要长期互动、连续判断,甚至多人协作的复杂 Agent,我会先检查四件事。

1. 状态输入:它现在到底掌握了什么?

这里看的不是知识库里塞了多少资料,而是和当前这一刻真正有关的信息有没有进入它的判断。

前面发生过什么?哪些是事实,哪些只是推测?它自己做过什么,别人怎么回应?哪些东西已经因为新的信息发生了变化?

如果这一层没做好,Agent 看到的其实不是“现在这个局面”,而只是不断送到眼前的一小段新信息。后面的推理再复杂,也可能建立在一个残缺的局面上。

2. 目标与优先级:这一刻它最应该解决什么?

“赢得游戏”“帮助用户”“做好销售”这种目标都太大了。

真正进入一个复杂场景以后,Agent 面临的是不断变化的小目标和目标冲突。

狼人杀里,有时候重点是隐藏身份,有时候是回应质疑,有时候需要验证某个人,有时候则必须推动大家做出选择。局面一变,当前最重要的事情也应该跟着变。

如果 Agent 只有一个永远不变的大目标,它很容易每一轮都做出差不多的反应。

3. 行动空间:它真的有不同的选择吗?

这一点是我后来才越来越重视的。很多所谓 Agent,最后其实只有一个动作:生成一段回复。

但真实的人面对一个局面时,并不是只在决定“这句话怎么说”。他还会决定要不要说、先回应谁、要不要追问、要不要公开信息、要不要暂时保持沉默,甚至要不要推翻自己之前的判断。

如果最后所有思考都只能落成“一段更好的回复”,那么前面再复杂的推理,最后也被压缩进了一个非常窄的行动空间。

这可能也是为什么有些 Agent 看起来很聪明,却始终让人觉得它只是在“聊天”。

4. 反馈闭环:它做完以后,后面的局面真的变了吗?

这是狼人杀给我感受最明显的一点。一个玩家跳了预言家,其他人的判断应该发生变化;一个人拒绝回应质疑,别人对他的看法可能改变;一次投票结束以后,下一轮面对的局面也已经不是刚才那个局面。

所以 Agent 做完一个动作以后,不能只是把这一轮结束掉。这个动作造成的结果,要重新成为下一轮决策的一部分。

也就是:状态 → 决策 → 行动 → 结果 → 新状态。

如果这个循环没有真正跑起来,所谓“连续互动”很可能只是很多次单轮问答被串在了一起。

而我现在越来越觉得,这可能才是复杂 Agent 和一个“很会扮演角色的聊天机器人”真正拉开差距的地方。

再做复杂Agent时,我会先检查这四件事:它看到了什么、这一刻要解决什么、能做哪些动作,以及结果有没有真正进入下一轮。

做到这里以后,我对 AI Agent 的理解和刚开始已经有了挺大变化。

最开始,我把大部分注意力放在“怎么让十个 Agent 像十个不同的人”上。现在再回头看,这当然还是要做,但它其实只是其中一层。

真正把一个复杂 Agent 做起来,需要同时考虑角色设定、状态理解和决策机制,还要让它有足够的行动空间,并让每一次行动的结果真正回到下一轮里。

狼人杀只是一个非常极端的测试场景,因为它的信息一直在变化,每个人掌握的东西又不一样,上一轮的一句话甚至可能直接改变下一轮所有人的判断。

但也正因为这样,它让我很早就碰到了一个我原来没有意识到的问题:

很多 Agent 做不好的原因,未必是模型不够聪明,也未必是 Prompt 写得不够细,而是我们从一开始,就只设计了“它应该是什么样”,却没有真正设计“它到底怎么运行”。

真正连续运行的Agent,需要让“状态—决策—行动—结果”不断形成新的下一轮,而不是把很多次单轮回答简单串起来。

如果以后再做复杂 Agent,我会更早把注意力放到这件事上,不是先问它的人设应该怎么写、知识库应该塞多少东西,而是先把几个更底层的问题想清楚:

它现在能看到什么?这一刻的目标是什么?它有哪些真正不同的动作?做完以后,整个局面又会因此发生什么变化?

这些问题想不清楚,Agent 可能第一轮就很像,但要让它真的连续跑下去,差的往往就是后面这一层。

余下有解

记录真实问题、真实项目和真实解题过程。

原始来源: 余下有解

评论 (0)