Merge branch 'pr-10'
This commit is contained in:
@@ -87,9 +87,10 @@ class LLMAI(AI):
|
||||
|
||||
for p in raw_pairs:
|
||||
if isinstance(p, list) and len(p) == 2:
|
||||
pairs.append((p[0], p[1]))
|
||||
# LLM 可能返回 null 作为 params,需要转为空字典。
|
||||
pairs.append((p[0], p[1] or {}))
|
||||
elif isinstance(p, dict) and "action_name" in p and "action_params" in p:
|
||||
pairs.append((p["action_name"], p["action_params"]))
|
||||
pairs.append((p["action_name"], p["action_params"] or {}))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
||||
@@ -126,6 +126,10 @@ class Simulator:
|
||||
async def _phase_execute_actions(self):
|
||||
"""
|
||||
执行阶段:推进当前动作,支持同月链式抢占即时结算,返回期间产生的事件。
|
||||
|
||||
TODO: 为单个角色的 tick_action() 添加 try-except 处理。
|
||||
当前如果任一角色的动作执行抛出异常,整个 step() 会失败,
|
||||
导致 month_stamp 不会推进,游戏卡在同一个月份无限循环。
|
||||
"""
|
||||
events = []
|
||||
MAX_LOCAL_ROUNDS = 3
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"avatar_thinking": ... // 从角色角度,以第一人称视角,简单清晰的描述想法
|
||||
"current_emotion": ... // 从以下列表中选择一个最符合当前心情的词:平静、开心、愤怒、悲伤、恐惧、惊讶、期待、厌恶、疑惑、疲惫
|
||||
"short_term_objective": ..., // 角色接下来一段时间的短期目标
|
||||
"action_name_params_pairs": list[Tuple[action_name, action_params]] // 一次性决定未来的5~10个动作,按顺序执行
|
||||
"action_name_params_pairs": list[Tuple[action_name, action_params]] // 一次性决定未来的5~10个动作,按顺序执行。action_params 必须是字典 {{}},不能是 null。
|
||||
}}
|
||||
}}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user