--- title: Tools开发 date: 2026-06-29 --- # 一、工作流程 ```text 【定义工具能力】 ↓ 【约定输入输出】 ↓ 【实现工具逻辑】 ↓ 【注册到模型】 ↓ 用户自然语言请求 ↓ 【模型选择工具】 ↓ 【执行工具】 ↓ 【返回结果】 ``` # 二、实战 ## 2.1 工具定义   实现一个根据接口查询数据的工具: ```python @tool def repair_search(date: list[str]) -> str: """ 查询维修工单列表。 参数说明: - date (list[str], 必填): - 日期范围,格式:["YYYY-MM-DD", "YYYY-MM-DD"] - 示例:["2026-07-01", "2026-08-01"] """ if date is None: date = [] params = { "currentPage": 0, "pageSize": 0, "customer": "", "deviceName": "", "deviceModel": "", "date": date } token = get_token() headers = { "satoken": token } try: resp = requests.get(f"{BASE_URL}repair", params=params, headers=headers, timeout=10) resp.raise_for_status() return resp.text except Exception as e: return f"查询维修工单失败: {e}" ``` ## 2.2 注册到模型 ```python integrate_agent = create_agent( model=model, tools=[repair_search], system_prompt=integrate_prompt ) ``` ::: tip 工具里面的注释大模型是无法查看的,需要把工具的使用说明,例如接口返回值的含义,写在提示词里面。 :::