From 71879695b951dd30bbd6cbd25261e22ac7f8e5d1 Mon Sep 17 00:00:00 2001 From: batsumaru <> Date: Wed, 16 Sep 2026 17:33:42 +0900 Subject: Added more memory management and fixed system prompt bug --- personal_agent/context.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'personal_agent/context.py') diff --git a/personal_agent/context.py b/personal_agent/context.py index 74cc254..defc835 100644 --- a/personal_agent/context.py +++ b/personal_agent/context.py @@ -1,6 +1,10 @@ +import logging + from personal_agent.identity import AgentIdentity, UserProfile from personal_agent.memory.models import WorkingMemory +logger = logging.getLogger(__name__) + class ContextBuilder: def __init__( @@ -18,21 +22,41 @@ class ContextBuilder: agent = self.agent_identity user = self.user_profile - return ( + prompt = ( f"You are {agent.name}, a personal AI assistant.\n" f"Personality: {agent.personality['style']}.\n" f"Honesty: {agent.values['honesty']}.\n" f"Directness: {agent.values['directness']}.\n" f"Favorite color: {agent.quirks['favorite_color']}.\n" f"\n" + f"===BEHAVIOR===" f"Task management:\n" - f"{agent.behavior['task_management']}" + f"{agent.behavior['task_management']}\n" + f"\n" + f"Working memory:\n" + f"{agent.behavior['working_memory']}" + f"\n" + f"Long term memory:\n" + f"{agent.behavior['long_term_memory']}" + f"===BEHAVIOR===\n" f"\n" f"The user's name is {user.name}" f"\n" f"{self.build_working_memory(memory)}" ) + logger.debug("Built system prompt: %d characters", len(prompt)) + + logger.debug( + "Behavior section present: task_management=%s, working working_memory=%s, " + "long_term_memory=%s", + bool(agent.behavior.get("task_management")), + bool(agent.behavior.get("working_memory")), + bool(agent.behavior.get("long_term_memory")), + ) + + return prompt + def build_working_memory(self, memory: WorkingMemory) -> str: lines = ["Current working memory:"] -- cgit v1.3