diff options
Diffstat (limited to 'personal_agent/agent.py')
| -rw-r--r-- | personal_agent/agent.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/personal_agent/agent.py b/personal_agent/agent.py index 8efe949..1f51c18 100644 --- a/personal_agent/agent.py +++ b/personal_agent/agent.py @@ -1,4 +1,5 @@ import json +import logging from personal_agent.context import ContextBuilder from personal_agent.identity import AgentIdentity, UserProfile @@ -18,6 +19,8 @@ from personal_agent.tools import ( ToolRegistry, ) +logger = logging.getLogger(__name__) + class Agent: def __init__( @@ -49,9 +52,10 @@ class Agent: self.tools.register(LongTermMemoryDeleteTool(self.long_term_memory_store)) self.messages: list[dict[str, object]] = [] + logger.info("Agent initialized") def chat(self, user_input: str) -> str: - print(f"\n[memory: {self.working_memory}]") + logger.info("User message received") self.messages.append( { "role": "user", @@ -71,7 +75,15 @@ class Agent: ) if response.tool_calls: - print(f"\n[tool call: {response.tool_calls}]\n") + for call in response.tool_calls: + if call.name == "long_term_memory_save": + logger.info( + "Memory save requested: category=%s, importance=%s", + call.arguments.get("category"), + call.arguments.get("importance"), + ) + else: + logger.info("Tool call requested: %s", call.name) if not response.tool_calls: answer = response.content or "" @@ -111,8 +123,10 @@ class Agent: else: try: result = tool.execute(call.arguments).content + logger.info("Tool execution completed: %s", call.name) except ToolError as error: result = f"Tool error: {error}" + logger.info("Tool execution failed: %s", call.name) self.messages.append( { @@ -125,15 +139,20 @@ class Agent: def end_task(self) -> None: self.working_memory.end_task() + logger.info("Task ended") def start_task(self, objective: str) -> None: self.working_memory.start_task(objective) + logger.info("Task started") def pause_task(self) -> None: self.working_memory.pause_task() + logger.info("Task paused") def resume_task(self) -> None: self.working_memory.resume_task() + logger.info("Task resumed") def complete_task(self) -> None: self.working_memory.complete_task() + logger.info("Taks completed") |
