Best practices for tool output
1. Outputs
The outputs should not contain a human written like sentences. Becuase this is an API function response, it's more expected to have it more concise, straightforward, key-value paired, number/enum oriented.
- Thus an output like this is not good:
{
"message": "The item with ID 342 is updated successfully."
}
- Instead, the below is better:
{
"status": "OK",
"success": true,
"action": "update",
"data": {
"item_id": 342
}
}
2. Error messages
In case there's an error, the error messages should be descriptive and possibly it might contain a statement how to recover from failure.
Error messages or feedback should provide specific corrective actions rather than just highlighting issues.
- The below error message is not corrective:
{
"status": 500,
"message": "Internal server error"
}
- Instead below is a better and corrective error message:
{
"status": "500",
"message": "Internal server error",
"error": "Item ID is None!"
}
Here the model can understand that the reason is to have Item ID to be None, and so it knows how to resolve it.