From b794e5d73dc47722996508af4824b1e5496869a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8E=98=E6=9D=83=20=E9=A9=AC?= Date: Tue, 28 Nov 2023 16:22:40 +0800 Subject: [PATCH 1/2] feat: fix memory.add --- metagpt/roles/engineer.py | 4 ++-- metagpt/roles/role.py | 4 +++- metagpt/roles/sk_agent.py | 1 - 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/metagpt/roles/engineer.py b/metagpt/roles/engineer.py index c0e1b8a10..ffd96849b 100644 --- a/metagpt/roles/engineer.py +++ b/metagpt/roles/engineer.py @@ -168,7 +168,7 @@ class Engineer(Role): content=MSG_SEP.join(code_msg_all), role=self.profile, cause_by=self._rc.todo, - send_to="Edward", + send_to="Edward", # name of QaEngineer ) return msg @@ -209,7 +209,7 @@ class Engineer(Role): content=MSG_SEP.join(code_msg_all), role=self.profile, cause_by=self._rc.todo, - send_to="Edward", + send_to="Edward", # name of QaEngineer ) return msg diff --git a/metagpt/roles/role.py b/metagpt/roles/role.py index e1f43ef3a..dbf800c03 100644 --- a/metagpt/roles/role.py +++ b/metagpt/roles/role.py @@ -217,6 +217,7 @@ class Role: ) else: msg = Message(content=response, role=self.profile, cause_by=self._rc.todo) + self._rc.memory.add(msg) return msg @@ -227,7 +228,8 @@ class Role: # Store the read messages in your own memory to prevent duplicate processing. self._rc.memory.add_batch(news) # Filter out messages of interest. - self._rc.news = [n for n in news if n.cause_by in self._rc.watch] + old_messages = self._rc.memory.get() + self._rc.news = [n for n in news if n.cause_by in self._rc.watch and n not in old_messages] # Design Rules: # If you need to further categorize Message objects, you can do so using the Message.set_meta function. diff --git a/metagpt/roles/sk_agent.py b/metagpt/roles/sk_agent.py index 15b18dd3e..2443b8b58 100644 --- a/metagpt/roles/sk_agent.py +++ b/metagpt/roles/sk_agent.py @@ -74,5 +74,4 @@ class SkAgent(Role): msg = Message(content=result, role=self.profile, cause_by=self._rc.todo) self._rc.memory.add(msg) - self.publish_message(msg) return msg From 9745dd12f6bdb27bc5bbc16401605c3f9bbe688c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8E=98=E6=9D=83=20=E9=A9=AC?= Date: Tue, 28 Nov 2023 16:28:53 +0800 Subject: [PATCH 2/2] feat: fix memory.add --- metagpt/roles/role.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metagpt/roles/role.py b/metagpt/roles/role.py index dbf800c03..62c8b7708 100644 --- a/metagpt/roles/role.py +++ b/metagpt/roles/role.py @@ -226,9 +226,9 @@ class Role: # Read unprocessed messages from the msg buffer. news = self._rc.msg_buffer.pop_all() # Store the read messages in your own memory to prevent duplicate processing. + old_messages = self._rc.memory.get() self._rc.memory.add_batch(news) # Filter out messages of interest. - old_messages = self._rc.memory.get() self._rc.news = [n for n in news if n.cause_by in self._rc.watch and n not in old_messages] # Design Rules: