code: async def ask_opinion(self, addr, artifact):
          
          remote_agent = await self.env.connect(addr)
          return await remote_agent.evaluate(artifact)
docs: Ask an agent's opinion about an artifact.
  
          :param str addr: Address of the agent which opinion is asked
          :type addr: :py:class:`~creamas.core.agent.CreativeAgent`
          :param object artifact: artifact to be evaluated
          :returns: agent's evaluation of the artifact
          :rtype: float
  
          This is a shortcut to::
  
              remote_agent = await self.env.connect(addr)
              opinion = await remote_agent.evaluate(artifact)
  
          .. note::
  
              The artifact object should be serializable by the environment.