Agno的工具系统采用模块化设计,扩展能力包含三个层级:
- 内置工具:开箱即用的常见工具如
DuckDuckGoTools
(搜索)、YFinanceTools
(金融数据),通过pip install duckduckgo-search yfinance
安装依赖。 - 自定义工具:继承
agno.tools.Tool
基类,实现__call__
方法即可创建新工具,例如天气预报API封装。 - 多工具协同:智能体自动选择合适工具,如案例中查询”纽约新闻”调用搜索工具,查询”NVDA股价”启用金融工具。
典型工具集成代码:agent = Agent(
tools=[DuckDuckGoTools(), CustomTool()],
show_tool_calls=True
)
当设置show_tool_calls=True
时,控制台会输出工具调用日志。工具执行结果会自动融入LLM的响应生成流程,开发者无需手动处理中间结果。工具系统还支持权限控制和频次限制等企业级特性。
本答案来源于文章《Agno:构建具备记忆、知识和工具的多模态智能体框架》