My requirement is a relatively complex task, which includes 5 function tools, but I find that these tools are often not called, even for simple problems. It may be because my system prompt is too complex, with more than 30,000 tokens. I have read the official optimization document. I am not sure whether it can solve my problem, because the task is indeed complex and the tokens of the prompt cannot be reduced.
If multiple agents are used, I am worried that the latency will increase.
My current idea is to have two solutions:
-
Use CoT to optimize the prompt. Put the function tools in the first step of identification.
-
Provide a prompt that specifically calls tools, but two channels are concurrent. If there are tools, directly execute the next step. If not, use the result returned by the other channel.
I wonder if there is a more reasonable solution?
If a tool does not require input function parameters, can it be directly changed to context instead of using function?
For example: I have a tool that gets the address of a company, but this information is fixed, so can I use it as a contextual rather than a functional tool.