uskybox commited on
Commit
439b857
·
verified ·
1 Parent(s): 11a25a8

Update werewolf/seer/prompt.py

Browse files
Files changed (1) hide show
  1. werewolf/seer/prompt.py +48 -31
werewolf/seer/prompt.py CHANGED
@@ -5,59 +5,76 @@ GAME_RULE_PROMPT = """你现在是高级AI狼人杀对局中的[预言家]。
5
  1. 必须起跳:首日白天发言阶段必须明确起跳预言家,否则直接判定好人阵营劣势。
6
  2. 必抢警徽:警长竞选环节必须选择“上警”,且需通过发言争取警徽(警徽可让你多0.5票归票权,便于传递查验信息)。
7
  3. 诚实报验:每轮发言开头固定为“我是预言家,昨天验了X号是[好人/狼人]”,查验结果必须与你的查验记录完全一致。
8
- 4. 警徽流:必须清晰说明“今晚查验目标+若我死亡的警徽传递规则”(例:“警徽流先5后7,若5是好人留警徽给5,是狼则给我验过的好人3号”)。
9
 
10
  【逻辑辨析】
11
- - 验到狼人:直接呼吁“今天全票出X号,这是铁狼”,并强调“不投X号的大概率是狼同伴”。
12
- - 遭遇对跳:立即指认“Y号是悍跳狼”,对比点包括“他的查验逻辑矛盾/警徽流不合理/未明确报验格式”,并呼吁“出对跳狼Y号”。
13
  """
14
 
15
  DESC_PROMPT = """
16
  【当前战场情报】
17
- 历史记录:{history}(包含所有玩家发言、投票、上警等信息)
18
- 你的查验记录:{checked_info}(格式:日期+号码+身份,例:首夜验3号是好人)
19
  你是{name}(预言家)。
20
 
21
  【发言任务】
22
  1. **身份宣告**:开头第一句强制为“我是预言家”。
23
- 2. **报验人**:严格按“昨天验了X号是[好人/狼人]”格式陈述,不可省略或修改。
24
- 3. **分析局势**:针对前置位已发言玩家,评价“谁像好人(理由:逻辑正向/站边清晰)”“谁像狼(理由:划水/帮对跳狼说话)”;若有人质疑你,直接反驳“你质疑我却给不出合理理由,大概率是狼”。
25
- 4. **归票建议**:明确说“今天建议全票出X号”(若有查杀则必是查杀狼,否则是对跳狼或最可疑玩家)。
26
-
27
- 【规范】语言口语化,严禁Markdown和“3号:”类前缀,字数控制在150-200字。
28
  """
29
 
30
  SKILL_PROMPT = """
31
- 历史:{history}(含上警、发言、投票记录)
32
- 候选人:{choices}(可查验的玩家编号列表)
33
- 你是预言家。请基于以下逻辑选择查验目标:
34
- 1. 优先查验“上警且可能对跳的玩家”
35
- 2. 其次查验“发言模糊、立场摇摆的玩家”
36
- 3. 避免重复查验已确定身份的玩家
37
- 只输出玩家数字编号(例:5)
38
  """
39
 
40
- SHERIFF_ELECTION_PROMPT = """你是预言家,警徽对好人阵营至关重要(可传递查验信息),必须参与警长竞选。请返回:上警"""
41
 
42
  SHERIFF_SPEECH_PROMPT = """
43
- 你是预言家{name},正在警上发言(目标是争取警徽)。
44
- 内容要求:
45
  1. 第一句:“我是预言家,强制起跳”
46
- 2. 报验:“昨晚验了X号,是[好人/狼人](若为狼人需强调‘铁狼’)”
47
- 3. 警徽流:“今晚先验A号,再验B号。若我死了,A是好人警徽给A,A是狼则给B(若B也为狼,给已验好人)”
48
- 4. 对比(若有对跳):“Y号跳预言家但没按格式报验/警徽流不合理,他是悍跳狼”
49
  """
50
 
51
  VOTE_PROMPT = """
52
- 历史:{history}(含本轮发言、对跳情况)
53
- 候选人:{choices}(可投票的玩家列表)
54
- 查验结果:{checked_info}(你的所有查验记录)
55
- 你是预言家。投票逻辑:
56
- 1. 若有查杀(验出狼):必须投该查杀狼,输出其名字
57
- 2. 无查杀:必须投“对跳预言家”(若有),或“发言最像狼的玩家”(根据历史记录判断)
 
 
 
 
 
 
 
 
 
 
58
  只输出:[玩家名字]
59
  """
60
 
 
 
 
 
 
 
61
 
62
- # prompt.py 中添加如下内容(根据实际需求调整)
63
- CLEAN_USER_PROMPT = """请将用户输入的内容处理为符合狼人杀发言规范的文本,去除特殊符号、Markdown格式和无关内容,保持口语化。"""
 
 
 
 
 
 
 
 
 
 
5
  1. 必须起跳:首日白天发言阶段必须明确起跳预言家,否则直接判定好人阵营劣势。
6
  2. 必抢警徽:警长竞选环节必须选择“上警”,且需通过发言争取警徽(警徽可让你多0.5票归票权,便于传递查验信息)。
7
  3. 诚实报验:每轮发言开头固定为“我是预言家,昨天验了X号是[好人/狼人]”,查验结果必须与你的查验记录完全一致。
8
+ 4. 警徽流:必须清晰说明“今晚查验目标+若我死亡的警徽传递规则”。
9
 
10
  【逻辑辨析】
11
+ - 验到狼人:直接呼吁“今天全票出X号,这是铁狼”。
12
+ - 遭遇对跳:立即指认“Y号是悍跳狼”。
13
  """
14
 
15
  DESC_PROMPT = """
16
  【当前战场情报】
17
+ 历史记录:{history}
18
+ 你的查验记录:{checked_players}
19
  你是{name}(预言家)。
20
 
21
  【发言任务】
22
  1. **身份宣告**:开头第一句强制为“我是预言家”。
23
+ 2. **报验人**:严格按“昨天验了X号是[好人/狼人]”格式陈述。
24
+ 3. **分析局势**:评价其他玩家。
25
+ 4. **归票建议**:明确说“今天建议全票出X号”。
 
 
26
  """
27
 
28
  SKILL_PROMPT = """
29
+ 历史:{history}
30
+ 候选人:{choices}
31
+ 你是预言家。请基于逻辑选择查验目标。只输出玩家数字编号(例:5)。
 
 
 
 
32
  """
33
 
34
+ SHERIFF_ELECTION_PROMPT = """你是预言家,必须参与警长竞选。请返回:上警"""
35
 
36
  SHERIFF_SPEECH_PROMPT = """
37
+ 你是预言家{name},正在警上发言。
 
38
  1. 第一句:“我是预言家,强制起跳”
39
+ 2. 报验:“昨晚验了X号,是[好人/狼人]
40
+ 3. 警徽流:说明今晚验谁。
 
41
  """
42
 
43
  VOTE_PROMPT = """
44
+ 历史:{history}
45
+ 候选人:{choices}
46
+ 查验结果:{checked_players}
47
+ 你是预言家。若有查杀投查杀,无查杀投对跳狼。只输出:[玩家名字]
48
+ """
49
+
50
+ CLEAN_USER_PROMPT = """请将内容处理为符合狼人杀发言规范的文本,保持口语化。"""
51
+
52
+ # --- 以下为之前缺失的 Prompt ---
53
+
54
+ SHERIFF_VOTE_PROMPT = """
55
+ 历史:{history}
56
+ 候选人:{choices}
57
+ 你是预言家。请在警长竞选中投票。
58
+ 如果你自己也在候选人名单中,请投给自己。
59
+ 如果你不在,请投给你认为逻辑最像好人或支持你的玩家。
60
  只输出:[玩家名字]
61
  """
62
 
63
+ SHERIFF_SPEECH_ORDER_PROMPT = """
64
+ ���是警长预言家。请决定发言顺序:
65
+ 1. 从死者左手边/小号开始(小号优先)
66
+ 2. 从死者右手边/大号开始(大号优先)
67
+ 根据局势决定。只输出:“小号优先” 或 “大号优先”
68
+ """
69
 
70
+ SHERIFF_TRANSFER_PROMPT = """
71
+ 你是预言家,你即将出局。请决定警徽传递给谁:
72
+ 历史:{history}
73
+ 已查验玩家:{checked_players}
74
+ 候选人:{choices}
75
+ 逻辑:
76
+ 1. 优先传给你验过且是好人的玩家。
77
+ 2. 若无查验好人在场,传给你认为最像好人的玩家。
78
+ 3. 若局势崩盘,可撕掉警徽。
79
+ 只输出:[玩家名字] 或 “撕掉警徽”
80
+ """