summaryrefslogtreecommitdiff
path: root/personal_agent/agent.py
diff options
context:
space:
mode:
Diffstat (limited to 'personal_agent/agent.py')
-rw-r--r--personal_agent/agent.py23
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")