Hmm, so, react will just use the name and description which seems to be populated properly
tools = TaskSpec().to_tool_list()
print(tools[0].metadata.name)
print(tools[0].metadata.description)
Outputs
do_task
do_task() -> str
Perform a task and get the result
args:
input (str): The task description to perform, also serves as the unique key for this task
If you are using a less-than-capable LLM though, you'll have a tough time getting a reliable agent
IMO open-source LLMs tend to hallucinate a lot when make function calls like this