diff options
| author | batsumaru <> | 2026-09-14 11:29:49 +0900 |
|---|---|---|
| committer | batsumaru <> | 2026-09-14 11:29:49 +0900 |
| commit | feeb6b9e17fd18f9dfc2dd0f63d790649e5205d2 (patch) | |
| tree | a52c3841ccc8afba26f54e3420095c385d28b5d1 /agent.py | |
| parent | d0bbd8aeea139ca4bf4ed37020c71c60a65f0a95 (diff) | |
Added more memrory methods
Diffstat (limited to 'agent.py')
| -rw-r--r-- | agent.py | 26 |
1 files changed, 20 insertions, 6 deletions
@@ -23,16 +23,14 @@ class Agent: user_profile, ) - self.working_memory = WorkingMemory( - objective="Testing working memory", - facts=["The user is testing the agent's working memory system."], - notes=["This is temporary test data."], - ) + self.working_memory = WorkingMemory() self.messages: list[dict[str, object]] = [] def chat(self, user_input: str) -> str: - + if self.working_memory.objective is None: + self.working_memory.start_task(user_input) + print(f"\n[memory: {self.working_memory}]") self.messages.append( { "role": "user", @@ -90,6 +88,7 @@ class Agent: else: try: result = tool.execute(call.arguments).content + self.working_memory.add_note(f"{call.name} returned: {result}") except Exception as error: result = f"Tool error: {error}" @@ -101,3 +100,18 @@ class Agent: } ) raise RuntimeError("Tool call limit exceeded") + + def end_task(self) -> None: + self.working_memory.end_task() + + def start_task(self, objective: str) -> None: + self.working_memory.start_task(objective) + + def pause_task(self) -> None: + self.working_memory.pause_task() + + def resume_task(self) -> None: + self.working_memory.resume_task() + + def complete_task(self) -> None: + self.working_memory.complete_task() |
