Function Calling:商品筛选与只读工具调用|课前预习

课程名称:Function Calling:商品筛选与只读工具调用|项目任务:基于商品事实的客服回答|编号:W04-D04

第一部分:业务知识

在一个国内电商平台搜索同一品类商品,记录页面如何处理:

  • 在售与下架;
  • 价格筛选;
  • 默认排序;
  • 无结果;
  • 商品事实和营销话术的区别。

再写一条客服回复,明确标出哪些词来自商品事实,哪些只是解释或建议。

第二部分:技术相关

带着一个协议问题进课堂:模型返回 get_order 和订单号,是否已经查过数据库?两条工具结果先后回来时,程序靠什么知道它们各自对应哪个调用?如果第一轮参数坏了,还应继续请求第二轮解释吗?先画你认为的消息顺序,课堂“两轮协议”中核对。

一位用户想找 500 元以内的通勤耳机;另一位想查询订单 O20260825001。模型可以理解语言并提出动作,但价格、库存、候选、可信 customer_id 和执行许可都不能由模型决定。

先判断

  1. Function Calling(函数调用) 返回工具名和参数,是否代表 Python 函数已经执行?
  2. Tool(工具) Schema(数据结构约束) 已 strict,为什么仍要程序白名单与 effect(副作用类型) 检查?
  3. 商品候选为什么必须由程序硬筛选,而不是让模型“推荐最适合的”?
  4. API(应用程序接口) 返回顺序改变,最终候选顺序应改变吗?
  5. 模型参数中出现 customer_id=C9999,应忽略还是拒绝?
  6. TrustedCustomerContext(可信模拟客户上下文) 从哪里来,为什么它不等于真实登录或鉴权?
  7. 订单属于 C1001,但 Host(宿主应用) 上下文是 C1002,哪些信息可以返回?
  8. 未知工具、退款、发货和额外参数应在哪个时刻阻断?
  9. 怎样用调用前后状态证明“零副作用”?
  10. 模型解释候选时,哪些事实必须能回指 API?

保留原始判断。课堂会用工具轨迹、状态前后对照和真实/Fixture API 逐项复验。

入口

课堂课件 · 学员任务书 · 课后复习

带进课堂的问题:工具参数的形状和类型都要核对

业务思考:模型输出带有 order_id,但它的值是一个列表。应该交给订单服务试一试,还是在哪里停止?

技术准备:画出“读取输入 → 校验 → 处理 → 报错或提交”的顺序,标出你认为最早应停止的位置。占用原有预习讨论时间,不需要提前完成项目。

课堂讲解后,可用本课预习问题解答核对自己的判断。

带着一个业务判断进入课堂

参数格式完全正确,为什么仍可能查不到订单?把 customer_id 放在模型参数里,能证明归属吗?

写下你的判断和理由;课上讲机制、做反例实验时会对照核对。先不要调用付费模型。

带着一个问题进课堂

员工已登录为什么不能证明可以替任意客户创建工单?

只写自己的判断与不确定点;课堂用项目证据验证,不要求预习时实现。