render_tool_description#

Build typed tools from annotations and docstrings. See the guide.

zett_agent.tools.base.render_tool_description(tool, *, snippet=True, guidelines=True, base=None)[source]#

Return a tool description that carries its snippet and guidelines.

Some endpoints show the model only a tool’s description, and a deferred tool reaches the model through tool search with no system prompt beside it. Folding the guidance into the description keeps it next to the tool in both cases. The result is the plain description when the tool has nothing to add, so it is safe to call for every tool.

Parameters:
  • tool (AgentTool) – Tool whose metadata is rendered.

  • snippet (bool) – Include the Snippet section when the tool has one.

  • guidelines (bool) – Include the Guidelines section when the tool has any.

  • base (str | None) – Text to put the sections after, instead of tool.description. Extensions that each add to a request’s descriptions pass the text they received, so one does not overwrite what another appended.

Return type:

str

Examples

Render everything the model should know in one string:

text = render_tool_description(read_file)