功能
工具调用
让模型提出动作,让产品负责执行
符合条件的路由可以接收 OpenAI-compatible 工具定义。应用仍负责验证参数、授权动作并返回工具结果。
使用 JSON Schema 定义工具
在请求中描述函数与输入契约,并只选择已确认支持工具调用的路由。
tools = [{
"type": "function",
"function": {
"name": "lookup_order",
"description": "查询当前用户可见的订单",
"parameters": {
"type": "object",
"properties": {"order_id": {"type": "string"}},
"required": ["order_id"]
}
}
}]执行前验证
将模型生成的参数视为不可信输入。再次校验 Schema,应用用户与工作区授权,并拒绝产品边界之外的动作。
- 不允许模型选择凭据
- 检查资源归属与权限
- 副作用应有超时与幂等控制
- 记录决定但不记录敏感载荷
返回工具结果
追加一条与 tool call 关联的工具消息,然后通过同一条受治理路由发送更新后的会话。
Fallback 必须保留能力
必须使用工具时,策略路由及任何回退路由都必须保持工具调用资格,不能静默降级到不满足契约的路由。
