since llms generate text, you can have them gen things that look like:
<tool call>{operating parameters for tool}</tool call> where the tool is a search engine, code, whatever, where the code operating the llm inserts the output of the tool back in as text for the llm to read (continued...)