diff --git a/changelog/3457.changed.md b/changelog/3457.changed.md new file mode 100644 index 000000000..afd607d7a --- /dev/null +++ b/changelog/3457.changed.md @@ -0,0 +1,16 @@ +# Reduce Call Tool Result Context Size by Allowing UTF-8 in JSON Serialization + +This PR changes tool result serialization to prevent UTF-8 code points from being escaped during serialization. This drastically reduces the context size when returning a response that contains languages other than English. + +We have been running a monkey-patched version in production and it helped us improve the agent accuracy and control cost better. + +``` +>>> data = { "message": "أهلًا بالعالم" } +>>> json.dumps(data) +'{"message": "\\u0623\\u0647\\u0644\\u064b\\u0627 \\u0628\\u0627\\u0644\\u0639\\u0627\\u0644\\u0645"}' +>>> +>>> +>>> +>>> json.dumps(data, ensure_ascii=False) +'{"message": "أهلًا بالعالم"}' +```