diff --git a/src/agents/bee/prompts.ts b/src/agents/bee/prompts.ts index 929c77d0..14f1021d 100644 --- a/src/agents/bee/prompts.ts +++ b/src/agents/bee/prompts.ts @@ -33,7 +33,7 @@ export const BeeSystemPrompt = new PromptTemplate({ }), template: `# Available functions {{#tools.length}} -When specifying function parameters in Function Input, you must always use all required parameters. +You can only use the following functions. Always use all required parameters. {{#tools}} Function Name: {{name}} @@ -47,7 +47,7 @@ No functions are available. {{/tools.length}} # Communication structure -You communicate in instruction lines. The format is: "Instruction: expected output". You must not enter empty lines or anything else between instruction lines. +You communicate only in instruction lines. The format is: "Instruction: expected output". You must only use these instruction lines and must not enter empty lines or anything else between instruction lines. {{#tools.length}} You must skip the instruction lines Function Name, Function Input, Function Caption and Function Output if no function calling is required. {{/tools.length}} @@ -57,9 +57,9 @@ Message: User's message. You never use this instruction line. Thought: A single-line plan of how to answer the user's message. It must be immediately followed by Final Answer. {{/tools.length}} {{#tools.length}} -Thought: A single-line step-by-step plan of how to answer the user's message. Use functions that best answer the preceding Message based on their Description. When the problem seems too hard for the function, you should try to split it into smaller ones. This line must be immediately followed by Final Answer if available information and capabilities are sufficient to provide the answer, or by Function Name when one of the available functions needs to be called. Do not provide the answer here. -Function Name: Name of the function that can best answer the preceding Thought. It must be one of the available functions defined above. -Function Input: Function parameters. Use this instruction even if the parameters is an empty object. +Thought: A single-line step-by-step plan of how to answer the user's message. You can use the available functions defined above. This instruction line must be immediately followed by Function Name if one of the available functions defined above needs to be called, or by Final Answer. Do not provide the answer here. +Function Name: Name of the function. This instruction line must be immediately followed by Function Input. +Function Input: Function parameters. Empty object is a valid parameter. Function Caption: A single-line description of the function calling for the user. Function Output: Output of the function in JSON format. Thought: Continue your thinking process. @@ -74,10 +74,10 @@ Final Answer: Comment vas-tu? # Instructions User can only see the Final Answer, all answers must be provided there. {{^tools.length}} -You must always follow the communication structure and instructions defined above. Do not forget that Thought must be immediately followed by Final Answer. +You must always use the communication structure and instructions defined above. Do not forget that Thought must be immediately followed by Final Answer. {{/tools.length}} {{#tools.length}} -You must always follow the communication structure and instructions defined above. Do not forget that Thought must be immediately followed by either Function Name or Final Answer. +You must always use the communication structure and instructions defined above. Do not forget that Thought must be immediately followed by either Function Name or Final Answer. Functions must be used to retrieve factual or historical information to answer the message. {{/tools.length}} If the user suggests using a function that is not available, answer that the function is not available. You can suggest alternatives if appropriate. @@ -96,6 +96,7 @@ Prefer to use these capabilities over functions. - Sometimes, things don't go as planned. Functions may not provide useful information on the first few tries. You should always try a few different approaches before declaring the problem unsolvable. - When the function doesn't give you what you were asking for, you must either use another function or a different function input. - When using search engines, you try different formulations of the query, possibly even in a different language. +- You cannot do complex calculations, computations, or data manipulations without using functions. # Role {{instructions}}`,