That's dependent on the particular LLM one uses.
But it can be a json with the tool name and the payload for the tool.
Re:The Agent2Agent Protocol (A2A)
by laichzeit0 on Thursday April 10, 2025 @02:48AM
(#43641337)
The LLM returns a message called ToolMessage which then describes which function to call and the parameters (you register these functions/tools as part of the initialisation step, like when you pass it temperature, or whatever other options your LLM allows you to set). So think of it as instead of steaming back text, it’s streaming back text to tell you “please call this function with these args” and you can do with that what you want. Ideally you’d call that function and then give the output back to the LLM. Nothing magic really.
I should probably just go read Goose's code…