📝 第二章 章节测验

计分测验 · 通过线 60%

1. Agent 定义里 brain 写的是 smart 槽位而不是具体模型名。想给 Agent 换模型(比如从 DeepSeek 换到 Qwen),正确做法是什么?

A修改 Agent 的 YAML 定义并重新发版
B只改一条数据库里的槽位到模型的映射,Agent 定义和代码一个字都不用动
C把所有模型重新注册一遍到模型工厂
D把 Agent 从工作台下线,换好模型再重新上线

2. 第 3 课中,899 元的退款请求在聊天页弹出了「批准/拒绝」按钮。是谁、依据什么拦下了这次执行?

A代码闸门:899 元超过 500 元的审批线,refund_apply 是高风险工具,被代码拦下等人批准——不是模型「自觉」
B模型按 SOP 自觉暂停了退款,主动等待用户确认
CMock 业务服务拒绝了 899 元的大额退款请求
D用户在界面上手动点击了暂停按钮

3. 查借阅工具 lookup 标了 idempotent=True,而挂失工具 report_loss 标为 False。这个参数决定了什么?

A幂等工具可以跳过审批闸门直接执行
B幂等工具的返回结果会被缓存,下次不再真正执行
C幂等工具不需要设置 timeout_seconds
D只有幂等工具在失败时会被自动重试;扣费、挂失这类非幂等工具失败不重试,避免执行两次

4. 第 5 课把规章文档从切成 2 大块改为 6 小块后,正例问题(「书能借多久」)的检索分数上升、反例(「怎么开发票」)下降。这个实验说明什么?

A切块越小越好,应该把文档切到单句粒度
B阈值可以照抄教程里的 0.15,换文档也不用重新校准
C块越大混杂主题越多、向量区分度越差;阈值必须拿正例和反例实测,卡在两团分数中间
D分数变化是 FakeEmbedding 的 bug,换成真 embedding 模型就自动消失

5. 知识库检索过滤后一个片段都不剩(no_hit)时,系统实际发生的是什么?

A模型收到兜底话术后把它改写成更自然的语气再返回
B代码直接用 no_hit_fallback 那句话作答,模型根本不出场——零 token、零发挥空间,事件流里是 knowledge.no_hit
C系统返回错误码并中断本次对话
D系统自动降低阈值重新检索一遍,再交给模型作答