Tool-Using Agents Explained | Boolean & Beyond