rorshi commited on
Commit
d28f7eb
·
1 Parent(s): 146c098

자잘한 오류 수정

Browse files
npc_social_network/npc/npc_base.py CHANGED
@@ -132,8 +132,8 @@ class NPC:
132
  # Personality baseline 저장 (초기값 복사)
133
  self.personality_baseline = copy.deepcopy(self.personality.traits)
134
 
135
- # 나이 추가 (0 ~ 80세 기본 랜덤 초기화 → 나중에 생성 시 age 지정 가능)
136
- self.age = random.randint(0, 80)
137
 
138
  # 초기 personality_stage는 update_personality_stage()에서 자동 설정
139
  self.personality_stage = None
@@ -350,7 +350,7 @@ class NPC:
350
  decay_rate = max(0.0005, min(decay_rate, 0.005))
351
  self.personality[trait] += (self.personality_baseline[trait] - self.personality[trait]) * decay_rate
352
 
353
- print(f"[Personality Update] {self.name} → sensitive: {self.personality['sensitive']:.3f}, "
354
  f"stoic: {self.personality['stoic']:.3f}, cognitive_bias: {self.personality['cognitive_bias']:.3f}", flush=True)
355
 
356
  def decay_memories(self):
 
132
  # Personality baseline 저장 (초기값 복사)
133
  self.personality_baseline = copy.deepcopy(self.personality.traits)
134
 
135
+ # 나이 추가 (18 ~ 50세 기본 랜덤 초기화 → 나중에 생성 시 age 지정 가능)
136
+ self.age = random.randint(18, 50)
137
 
138
  # 초기 personality_stage는 update_personality_stage()에서 자동 설정
139
  self.personality_stage = None
 
350
  decay_rate = max(0.0005, min(decay_rate, 0.005))
351
  self.personality[trait] += (self.personality_baseline[trait] - self.personality[trait]) * decay_rate
352
 
353
+ print(f"[Personality Update] {self.korean_name} → sensitive: {self.personality['sensitive']:.3f}, "
354
  f"stoic: {self.personality['stoic']:.3f}, cognitive_bias: {self.personality['cognitive_bias']:.3f}", flush=True)
355
 
356
  def decay_memories(self):
npc_social_network/npc/npc_manager.py CHANGED
@@ -77,11 +77,11 @@ class NPCManager:
77
  # 1. Initiator가 Target에 대해 무슨 말을 할지 LLM으로 생성
78
  prompt = f"""
79
  # 지시사항
80
- 당신은 '{initiator.korean_name}'입니다. 지금 당신은 '{target.korean_name}'와 마주쳤습니다.
81
  '{target.korean_name}'에 대한 당신의 현재 생각과 감정을 바탕으로, 먼저 건넬 자연스러운 첫 마디를 생성하세요.
82
  (예: "앨리스, 어제 시장에서 파는 그 옷 정말 예쁘더라.", "밥, 요즘 허리가 아프다던데 괜찮아?")
83
 
84
- # 당신의 정보
85
  - '{target.korean_name}'와의 관계: {initiator.relationships.get_relationship_summary(target.name)}
86
 
87
  → 첫 마디:
 
77
  # 1. Initiator가 Target에 대해 무슨 말을 할지 LLM으로 생성
78
  prompt = f"""
79
  # 지시사항
80
+ 나는 '{initiator.korean_name}'입니다. 지금 나는 '{target.korean_name}'와 마주쳤습니다.
81
  '{target.korean_name}'에 대한 당신의 현재 생각과 감정을 바탕으로, 먼저 건넬 자연스러운 첫 마디를 생성하세요.
82
  (예: "앨리스, 어제 시장에서 파는 그 옷 정말 예쁘더라.", "밥, 요즘 허리가 아프다던데 괜찮아?")
83
 
84
+ # 나의 정보
85
  - '{target.korean_name}'와의 관계: {initiator.relationships.get_relationship_summary(target.name)}
86
 
87
  → 첫 마디:
npc_social_network/npc/npc_relationship.py CHANGED
@@ -96,7 +96,7 @@ class RelationshipManager:
96
  memory_details = "\n".join([f"- {mem.content} (감정: {mem.emotion})" for mem in profile.key_memories])
97
  prompt = f"""
98
  # 지시사항
99
- 당신은 '{self.owner_npc.korean_name}'입니다. 당신의 기억을 바탕으로 '{target_korean_name}'에 대한 당신의 생각과 감정을 한두 문장으로 솔직하게 요약해주세요.
100
 
101
  # '{target_korean_name}'와(과)의 핵심 기억들
102
  {memory_details}
 
96
  memory_details = "\n".join([f"- {mem.content} (감정: {mem.emotion})" for mem in profile.key_memories])
97
  prompt = f"""
98
  # 지시사항
99
+ 나은 '{self.owner_npc.korean_name}'입니다. 나의 기억을 바탕으로 '{target_korean_name}'에 대한 나의 생각과 감정을 한두 문장으로 솔직하게 요약해주세요.
100
 
101
  # '{target_korean_name}'와(과)의 핵심 기억들
102
  {memory_details}
npc_social_network/simulation_core.py CHANGED
@@ -58,7 +58,7 @@ def tick_simulation():
58
  witness = random.choice(potential_witnesses)
59
 
60
  # 3. 목격한 내용을 바탕으로 '소문' 기억 생성 (대화 내용 요약, 관계에 따른 거짓말 등 고도화 가능)
61
- gossip_content = f"'{initiator.name}'이(가) '{target.name}'에게 '{initial_utterance[:100]}...'라고 말하는 것을 봤다."
62
 
63
  # 4. 목격자가 '소문'을 기억하도록 함
64
  witness.remember(
@@ -67,7 +67,7 @@ def tick_simulation():
67
  emotion="curiosity",
68
  memory_type="Gossip",
69
  )
70
- add_log(f"[목격] {witness.name}이(가) {initiator.name}와 {target.name}의 대화를 목격함.")
71
 
72
  except Exception as e:
73
  add_log(f"상호작용/목격 중 오류 발생: {e}")
 
58
  witness = random.choice(potential_witnesses)
59
 
60
  # 3. 목격한 내용을 바탕으로 '소문' 기억 생성 (대화 내용 요약, 관계에 따른 거짓말 등 고도화 가능)
61
+ gossip_content = f"'{initiator.korean_name}'이(가) '{target.korean_name}'에게 '{initial_utterance[:100]}...'라고 말하는 것을 봤다."
62
 
63
  # 4. 목격자가 '소문'을 기억하도록 함
64
  witness.remember(
 
67
  emotion="curiosity",
68
  memory_type="Gossip",
69
  )
70
+ add_log(f"[목격] {witness.korean_name}이(가) {initiator.korean_name}와 {target.korean_name}의 대화를 목격함.")
71
 
72
  except Exception as e:
73
  add_log(f"상호작용/목격 중 오류 발생: {e}")