feat: 添加观点传播系统
- 新增 Stance 数据结构 (optimism/fear) - 情绪影响 stance (happy→乐观, anxious→恐惧) - 实现 apply_social_influence 社交影响函数 - 确定性随机选择接触对象 - 单次变化限制 ±0.1 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -38,6 +38,12 @@ class Opinion(BaseModel):
|
||||
tick: int # 生成时的 tick
|
||||
|
||||
|
||||
class Stance(BaseModel):
|
||||
"""角色立场"""
|
||||
optimism: float = Field(default=0.5, ge=0.0, le=1.0)
|
||||
fear: float = Field(default=0.5, ge=0.0, le=1.0)
|
||||
|
||||
|
||||
class AgentState(BaseModel):
|
||||
emotion: Emotion = Emotion.CALM
|
||||
goal: str = ""
|
||||
@@ -45,6 +51,8 @@ class AgentState(BaseModel):
|
||||
opinion: Optional[Opinion] = None
|
||||
# 记录已评论过的事件,防止重复生成
|
||||
commented_effects: List[str] = Field(default_factory=list)
|
||||
# 角色立场
|
||||
stance: Stance = Field(default_factory=Stance)
|
||||
|
||||
|
||||
class WorldState(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user