Tools

Tools introduce skills to an Agent. They allow the agent to perform a specific task or to interact with the external world. Tools provide an interface which comprises of the following information -

  • Name: A good name helps the Agent guess what the tool can do e.g. GetCustomerOrders, FetchCustomerProfile, ConvertCurrency. It also helps differentiate between different tools and helps the LLM refer and pick the right tool for the right job

  • Description: A good description helps the Agent understand what the tool does and when to use it compared to other tools

  • Input Parameters: A list of inputs to the tools tells the Agent what to pass to the tool. Each input has the following information

    • Name: The name of the input - a good consistent name helps the Agent map the right values

    • Type: The data type - more about this below

    • Description: The description of the parameter. It helps to provide any additional information such as possible values, formats, or any additional information the LLM can use to generate the right value, validate the value provided or to convert

  • Output: Each tool produces an output which is the result of the execution of the tool. This includes the following -

    • Name: A name of the output - it is useful for the Agent to understand the output and what to do with it in the plan

    • Type: The type of the result. This is important if tools are to be chained together in plan steps.

    • Description: The description of the result

Last updated