Tools 工具调用
工具是 Agent 连接外部世界的方式。模型本身不会真的查询数据库、调用接口或发邮件,它需要通过工具函数完成这些动作。
工具示例
python
def query_order(order_id: str) -> str:
"""根据订单号查询订单状态。"""
return f"订单 {order_id} 当前状态:已发货"工具函数的名称、参数类型和 docstring 都很重要,因为模型会根据这些信息判断什么时候调用工具。
工具设计原则
| 原则 | 说明 |
|---|---|
| 单一职责 | 一个工具只做一件事 |
| 参数明确 | 参数尽量结构化,不要传一大段自然语言 |
| 返回简洁 | 返回模型需要的信息,不要返回大量无关字段 |
| 权限校验 | 工具内部必须做鉴权和数据范围校验 |
| 风险分级 | 查询类工具可自动执行,写操作需要确认 |
常见工具类型
- 查询天气、时间、汇率等公开信息。
- 查询订单、库存、用户积分等业务数据。
- 调用搜索、向量库、知识库检索。
- 发送通知、创建工单、提交审批。
高风险工具
删除、扣款、退款、发券、修改权限等工具必须加人工确认。不要因为模型“看起来理解了”就直接执行写操作。
非官方声明
本站为个人维护的非官方中文学习文档,不代表 LangChain 官方。页面内容是基于公开文档、源码实践和中文开发者视角重新整理的学习资料。涉及 API 细节时,请以官方文档和实际安装版本为准。
参考来源
- LangChain / LangGraph 官方文档:
https://docs.langchain.com/ - LangChain API Reference:
https://reference.langchain.com/ - 本站内容为中文学习整理,不做官方身份声明。