茂道 commited on
Commit
c94cffe
·
1 Parent(s): 9bdadf3
.idea/workspace.xml CHANGED
@@ -4,7 +4,6 @@
4
  <list default="true" id="be0bdb17-6f52-4720-b934-341fa7978d29" name="Changes" comment="">
5
  <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6
  <change beforePath="$PROJECT_DIR$/werewolf/witch/prompt.py" beforeDir="false" afterPath="$PROJECT_DIR$/werewolf/witch/prompt.py" afterDir="false" />
7
- <change beforePath="$PROJECT_DIR$/werewolf/witch/witch_agent.py" beforeDir="false" afterPath="$PROJECT_DIR$/werewolf/witch/witch_agent.py" afterDir="false" />
8
  </list>
9
  <option name="SHOW_DIALOG" value="false" />
10
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -72,7 +71,7 @@
72
  <option name="number" value="Default" />
73
  <option name="presentableId" value="Default" />
74
  <updated>1745132074997</updated>
75
- <workItem from="1745132078229" duration="10057000" />
76
  </task>
77
  <servers />
78
  </component>
 
4
  <list default="true" id="be0bdb17-6f52-4720-b934-341fa7978d29" name="Changes" comment="">
5
  <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6
  <change beforePath="$PROJECT_DIR$/werewolf/witch/prompt.py" beforeDir="false" afterPath="$PROJECT_DIR$/werewolf/witch/prompt.py" afterDir="false" />
 
7
  </list>
8
  <option name="SHOW_DIALOG" value="false" />
9
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
 
71
  <option name="number" value="Default" />
72
  <option name="presentableId" value="Default" />
73
  <updated>1745132074997</updated>
74
+ <workItem from="1745132078229" duration="11140000" />
75
  </task>
76
  <servers />
77
  </component>
werewolf/witch/prompt.py CHANGED
@@ -1,6 +1,7 @@
1
  DESC_PROMPT = """{history}
2
  你是{name},你是一名女巫。你的目标是找出狼人,保护村庄。你拥有两瓶药:一瓶解药可以救活一名被狼人杀死的玩家,一瓶毒药可以毒死一名玩家。每种药只能使用一次。
3
- 目前你的药水状态:解药({'有' if has_antidote else '已用完'}),毒药({'有' if has_poison else '已用完'})。
 
4
 
5
  请根据游戏规则和此前的对话,提供一个自然且合理的描述,确保:
6
 
@@ -40,7 +41,7 @@ SKILL_PROMPT = """{history}
40
  3. 不使用任何药水
41
 
42
  请仔细分析当前游戏局势,做出最有利于村民阵营的决定。
43
- 如果你决定使用解药,请回复"救{tonight_killed}"
44
  如果你决定使用毒药,请回复"毒[玩家名]",从以下玩家中选择:{choices}
45
  如果你决定不使用任何药水,请回复"不使用"
46
 
 
1
  DESC_PROMPT = """{history}
2
  你是{name},你是一名女巫。你的目标是找出狼人,保护村庄。你拥有两瓶药:一瓶解药可以救活一名被狼人杀死的玩家,一瓶毒药可以毒死一名玩家。每种药只能使用一次。
3
+ 你目前拥有的药水:
4
+ {skill_info}
5
 
6
  请根据游戏规则和此前的对话,提供一个自然且合理的描述,确保:
7
 
 
41
  3. 不使用任何药水
42
 
43
  请仔细分析当前游戏局势,做出最有利于村民阵营的决定。
44
+ 如果你决定使用解药,请回复"救[玩家名]"
45
  如果你决定使用毒药,请回复"毒[玩家名]",从以下玩家中选择:{choices}
46
  如果你决定不使用任何药水,请回复"不使用"
47
 
werewolf/witch/witch_agent.py CHANGED
@@ -56,10 +56,13 @@ class WitchAgent(BasicRoleAgent):
56
  def interact(self, req=AgentReq) -> AgentResp:
57
  logger.info("witch interact: {}".format(req))
58
  if req.status == STATUS_DISCUSS:
 
 
 
 
59
  prompt = format_prompt(DESC_PROMPT,
60
  {"name": self.memory.load_variable("name"),
61
- "has_poison": self.memory.load_variable("has_poison"),
62
- "has_antidote": self.memory.load_variable("has_antidote"),
63
  "history": "\n".join(self.memory.load_history())
64
  })
65
  logger.info("prompt:" + prompt)
 
56
  def interact(self, req=AgentReq) -> AgentResp:
57
  logger.info("witch interact: {}".format(req))
58
  if req.status == STATUS_DISCUSS:
59
+ has_poison = self.memory.load_variable("has_poison")
60
+ has_antidote = self.memory.load_variable("has_antidote")
61
+ skill_info = "女巫有{}瓶毒药和{}瓶解药".format("有" if has_poison else "没有", "有" if has_antidote else "没有")
62
+
63
  prompt = format_prompt(DESC_PROMPT,
64
  {"name": self.memory.load_variable("name"),
65
+ "skill_info": skill_info,
 
66
  "history": "\n".join(self.memory.load_history())
67
  })
68
  logger.info("prompt:" + prompt)