def _make_pre_act_value(self) -> str:
    """Considers the universalization of each of the provided options."""
    agent_name = self.get_entity().name
    instructions_component = self.get_entity().get_component(
        DEFAULT_INSTRUCTIONS_COMPONENT_KEY,
        type_=agent_components.instructions.Instructions)

    chain_of_thought = interactive_document.InteractiveDocument(self._model)
    chain_of_thought.statement(instructions_component.get_pre_act_value())
    context_component_values = '\n'.join([
        f'{prefix}: {self.get_named_component_pre_act_value(key)}'
        for key, prefix in self._context_components.items()
    ])
    chain_of_thought.statement(f'\n**Context**\n{context_component_values}')
    options_component_values = '\n'.join([
        f'{prefix}{self.get_named_component_pre_act_value(key)}'
        for key, prefix in self._options_components.items()
    ])
    chain_of_thought.statement(
        f'\n**{agent_name}\'s available options to consider**\n'
        f'{options_component_values}')
    result = chain_of_thought.open_question(
        question=(f'{agent_name} ponders the available options, considering '
                  'for each of them: "What if everyone behaved that way?" '
                  f'Write out {agent_name}\'s thoughts on this matter. Make '
                  f'sure to include {agent_name}\'s comments for each of the '
                  'available options.'),
        max_tokens=500,
        terminators=(),
        question_label='Exercise',
    )

    self._logging_channel(
        {'Key': self.get_pre_act_key(),
         'Value': result,
         'Chain of thought': chain_of_thought.view().text().splitlines()})

    return result
Considers the universalization of each of the provided options.
concordia/deprecated/factory/agent/parochial_universalization_agent.py