Chapter 3. Tool Usage, Learning, and Protocols
The tool module is such an interesting module for augmenting your LLM and generating autonomous behavior in agents. By themselves, LLMs are nothing more than functions that take in some string and output some string. Although that creates interesting chatbots, they cannot yet interact with their environment.
A key trait that defines an agent is its ability to autonomously search for, select, and utilize tools, allowing it to interact with and influence its environment. With enough capabilities, agents can even create their own set of tools to use. The benefit of tools is not contained to interaction with the environment. Tools are typically used to access external knowledge or memories, as we discussed in the previous chapter. We can even use tools to access specialized (L)LMs that have capabilities that extend beyond what the agent is capable of, like multimodal LLMs or LLMs specialized for certain tasks (like coding). Generally, tools allow an ...