Give agents new abilities with custom tools.
@tool
decorator to override the inferred name and description. For example, this function has no docstring, so we use the decorator to provide a custom description:
product_search_task
is equipped with tools to search a database and format the results. Any agent assigned to this task will have access to these tools.