Design multi-agent memory architectures