text: for receiver in self.agents:            receiver.receive(speaker.name, message)        # 4. increment time        self._step += 1        return speaker.name, messageDefine roles and questâ€‹character_names = ["Harry Potter", "Ron Weasley", "Hermione Granger", "Argus Filch"]storyteller_name = "Dungeon Master"quest = "Find all of Lord Voldemort's seven horcruxes."word_limit = 50  # word limit for task brainstormingAsk an LLM to add detail to the game descriptionâ€‹game_description = f"""Here is the topic for a Dungeons & Dragons game: {quest}.        The characters are: {*character_names,}.        The story is narrated by the storyteller, {storyteller_name}."""player_descriptor_system_message = SystemMessage(    content="You can add detail to the description of a Dungeons & Dragons player.")def generate_character_description(character_name):    character_specifier_prompt = [        player_descriptor_system_message,        HumanMessage(            content=f"""{game_description}            Please reply with a creative description of the character, {character_name}, in {word_limit} words or less.             Speak directly to {character_name}.            Do not add anything else."""        ),    ]    character_description = ChatOpenAI(temperature=1.0)(