feat(engine): 实现行动点系统

- 扩展 AgentState 添加 action_points, max_action_points, last_action_tick 字段
- 新增 ActionFeedback 模型用于返回行动执行结果
- 创建 action_points.py 模块实现行动点消耗与恢复逻辑
- 行动消耗表: vote=1, trigger_skill=2, influence=2, comment/support/chaos=0
- 每 tick 恢复 1 点行动点(不超过 max)
- 行动点不足时拒绝执行并返回失败反馈
- 新增 7 个测试用例,全部 37 个测试通过

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
empty
2025-12-30 13:48:33 +08:00
parent 4664796d0b
commit 5ae63d9df9
6 changed files with 267 additions and 7 deletions

View File

@@ -20,6 +20,9 @@ def get_default_state() -> WorldState:
memory=[],
stance=Stance(optimism=0.6, fear=0.4),
faction="neutral",
action_points=3,
max_action_points=3,
last_action_tick=0,
),
"bob": AgentState(
emotion="calm",
@@ -27,6 +30,9 @@ def get_default_state() -> WorldState:
memory=[],
stance=Stance(optimism=0.4, fear=0.6),
faction="neutral",
action_points=3,
max_action_points=3,
last_action_tick=0,
),
},
events=[],