章节摘要:本章是装备区第二站——工具体系(tools.py 1422 行 + default_tools.py 698 行)。Tool 基类极简(name/description/inputs/output_type + forward 四件套);@tool 装饰器把普通函数一键变工具(类型提示自动生成 JSON schema);tool_validation 用 AST 静态校验;ToolCollection 批量管理;生态集成四件套(from_hub/from_space/from_mcp/from_langchain)让 HF Hub、Gradio Space、MCP server、LangChain 工具直接复用。内置工具开箱即用(DuckDuckGo 搜索/Wikipedia/访问网页)。本章共 3 节,前置依赖为第 1-4 章。

Tool基类四件套(name/description/inputs/output_type+forward);PipelineTool(transformers pipeline包装成工具);@tool装饰器(普通函数→工具,docstring当description);_function_type_hints_utils.py(431行)类型提示→JSON schema自动生成(工具参数schema的核心);tool_validation.py(263行)AST静态校验工具类定义合法性(防引用未定义名)。
ToolCollection批量管理;from_hub(HF Hub加载工具/ToolCollection.push_to_hub分享);from_space(Gradio Space直接当工具,复用HF生态数千Space);from_mcp(MCP server工具,mcp_client.py 171行MCPClient);from_langchain(LangChain工具互转);工具生态战略(一次编写处处复用)。
default_tools.py(698行);FinalAnswerTool(终止信号);UserInputTool(人工干预);DuckDuckGoSearchTool(免费搜索);GoogleSearchTool/ApiWebSearchTool;WebSearchTool;VisitWebpageTool(markdownify转markdown);WikipediaSearchTool;SpeechToTextTool;gradio_ui.py GradioUI(把agent包装成交互界面)。
前置:第1-4章。后续:第6章沙箱(CodeAgent执行工具代码的安全边界)。