diff --git a/lib/crewai/src/crewai/agent/core.py b/lib/crewai/src/crewai/agent/core.py index e121a9771..83c2f0cfd 100644 --- a/lib/crewai/src/crewai/agent/core.py +++ b/lib/crewai/src/crewai/agent/core.py @@ -384,9 +384,9 @@ class Agent(BaseAgent): ) if unified_memory is not None: query = task.description - matches = unified_memory.recall(query, limit=5) + matches = unified_memory.recall(query, limit=10) if matches: - memory = "Relevant memories:\n" + "\n".join( + memory = "Relevant memories:\n" + "\n\n".join( m.format() for m in matches ) if memory.strip() != "": @@ -1811,10 +1811,10 @@ class Agent(BaseAgent): ), ) start_time = time.time() - matches = agent_memory.recall(formatted_messages, limit=5) + matches = agent_memory.recall(formatted_messages, limit=10) memory_block = "" if matches: - memory_block = "Relevant memories:\n" + "\n".join( + memory_block = "Relevant memories:\n" + "\n\n".join( m.format() for m in matches ) if memory_block: diff --git a/lib/crewai/src/crewai/memory/types.py b/lib/crewai/src/crewai/memory/types.py index e3d02e70d..2845fa4c1 100644 --- a/lib/crewai/src/crewai/memory/types.py +++ b/lib/crewai/src/crewai/memory/types.py @@ -100,7 +100,11 @@ class MemoryMatch(BaseModel): if self.record.metadata: for key, value in self.record.metadata.items(): if value: - lines.append(f" {key}: {value}") + if isinstance(value, list): + rendered_value = ", ".join(str(item) for item in value) + else: + rendered_value = str(value) + lines.append(f" {key}: {rendered_value}") return "\n".join(lines) diff --git a/lib/crewai/src/crewai/tools/memory_tools.py b/lib/crewai/src/crewai/tools/memory_tools.py index f088fef73..ead610cd5 100644 --- a/lib/crewai/src/crewai/tools/memory_tools.py +++ b/lib/crewai/src/crewai/tools/memory_tools.py @@ -57,7 +57,7 @@ class RecallMemoryTool(BaseTool): if not all_lines: return "No relevant memories found." - return "Found memories:\n" + "\n".join(all_lines) + return "Found memories:\n" + "\n\n".join(all_lines) class RememberSchema(BaseModel):