def take_next_step(
        self,
        name_to_tool_map: Dict[str, Tool],
        inputs: Dict[str, str],
    ) -> (AgentFinish, AgentAction):
        """How agent determines the next step after observing the inputs and intermediate
        steps"""
How agent determines the next step after observing the inputs and intermediate
        steps
autochain/chain/base_chain.py