真实面经题目 · 原创解析
Agent 沙箱中承载 Skill 时,如何避免工具调用幻觉和多工具切换混乱?
这题考 Agent 沙箱中 Skill 的可靠调用,回答重点是能力声明、工具选择约束、沙箱权限、调用确认、错误恢复和防止模型编造工具能力。
真实面经题目 · 原创解析
这题考 Agent 沙箱中 Skill 的可靠调用,回答重点是能力声明、工具选择约束、沙箱权限、调用确认、错误恢复和防止模型编造工具能力。
我会先把 Skill 看成沙箱内可执行能力的封装,它必须有明确的名称、适用场景、输入 schema、输出 schema、权限需求、依赖、超时和错误语义。工具调用幻觉通常来自三类问题:模型不知道真实可用工具,工具描述含糊,或者没有执行前校验。解决思路是用注册表和 allowlist 只暴露当前任务可用 Skill;用结构化 schema 校验参数;用能力匹配或路由器先判断是否需要调用;对高风险 Skill 做用户确认或策略审批;执行在沙箱里限制文件、网络、环境变量和资源;返回结果要结构化,失败要告诉模型可恢复方式。多工具切换混乱时,要维护任务计划、当前步骤、已调用工具和停止条件,避免模型在相似工具之间反复跳转。核心是让模型在受控能力集合里决策,而不是让它凭自然语言猜工具。
一个 Skill 不只是说明文档,还应包含名称、用途、参数 schema、返回 schema、权限、依赖、执行入口、超时、幂等性和错误码。契约越清晰,模型越不容易编造不存在的参数或误用能力。
沙箱运行时应根据用户权限、任务类型、环境状态和风险等级生成工具 allowlist。模型看不到或无法调用未授权 Skill,即使它在训练中见过类似工具名,也不能越权执行。
在执行前检查工具是否存在、参数是否符合 schema、权限是否满足、是否需要确认、是否和当前任务步骤匹配。校验失败要返回明确错误,让模型修正参数或改走澄清,而不是直接执行危险动作。
Skill 执行应限制文件系统、网络、环境变量、进程、CPU、内存和运行时间。尤其是代码、文件、外部 API 或账户相关能力,要做到最小权限、可审计和可回滚。
相似工具多时,Agent 要维护当前目标、已尝试工具、失败原因和下一步计划。若连续调用没有新信息,应停止并总结问题,避免在搜索、读取、执行、修复工具之间循环。
指标包括不存在工具调用率、参数校验失败率、越权拦截率、重复工具调用率、工具成功率、人工确认触发率和任务恢复率。badcase 要回到工具描述、schema、路由策略和沙箱权限设计中修复。
模型尝试调用不存在的工具、编造参数、误解工具能力,或在没有权限和前置条件时调用工具,都属于工具调用幻觉。
不够。描述能降低误用,但还需要注册表、allowlist、schema 校验、权限控制、沙箱隔离和执行 trace。
高风险能力应要求用户确认、策略审批或人工审核,并提供预览、撤销或只读模式,不能让模型自动执行。
设置最大调用次数、重复参数检测、状态无进展检测和错误阈值,触发总结、澄清或人工接管。