Easy Tool: Enhancing LLM-based Agents with Concise Tool Instruction provides a framework transforming diverse and lengthy tool documentation into a unified and concise tool instruction for easier tool usage
Development Easy Tool follows a simple pattern of: 1. Task Planning, 2. Tool Retrieval, 3. Tool Selection and 4. Tool Execution, coupled with thoughtful prompting to enable SOT tool usage over multiple models.
Problem Using new tools, software, especially can be challenging for LLMs (and people too!), especially with a poor or redundant documentation and a variety of usage manners.
Solution Easy tool provides "a simple method to condense tool documentation into more concise and effective tool instructions."
I: Tool Description Generation
/* I: Task prompt */
Your task is to create a concise and effective tool usage description based on the tool documentation. You should ensure the description only contains the purposes of the
tool without irrelevant information. Here is an example:
/* Examples */
{Tool Documentation}
Tool usage description:
{Tool_name} is a tool that can {General_Purposes}.
This tool has {Number} multiple built-in functions:
1. {Function_1} is to {Functionality_of_Function_1} 2. {Function_2} is to ...
/* Auto generation of tool description */ {ToolDocumentationof‘AviationWeatherCenter’} Tool usage description:
‘Aviation Weather Center’ is a tool which can provide official aviation weather data...
II: Tool Function Guidelines Construction
/* Task prompt */
Your task is to create the scenario that will use the tool.
1. You are given a tool with its purpose and its parameters list. The scenario should adopt the parameters in the list.
2. If the parameters and parameters are both null, you
should set: {"Scenario": XX, "Parameters":{}}.
Here is an example:
/* Examples */
{Tool_name} is a tool that can {General_Purposes}. {Function_i} is to {Functionality_of_Function_i} {Parameter List of Function_i}
One scenario for {Function_i} of {Tool_name} is: {"Scenario": XX, "Parameters":{XX:XX}}
/* Auto-construction for Tool Function Guidelines */
‘Ebay’ can get products from Ebay in a specific country. ‘Product Details’ in ‘Ebay’ can get the product details for a given product id and a specific country.
{Parameter List of ‘Product Details’}
One scenario for ‘Product Details’ of ‘Ebay’ is:
{"Scenario": "if you want to know the details of the product with product ID 1954 in Germany from Ebay", "Parameters":{"product_id": 1954, "country": "Germany"}}.
Results The performance is SOT over multiple models. ChatGPT, ToolLLaMA-7B, Vicuna-7B, Mistral-Instruct-&B and GPT-4