五厂面经真题集字节跳动面经高频字节真题动作分级意图识别速答 · 约 5 分钟更新 2026-09-29

怎么让 Agent 在开放任务中先澄清需求,而不是直接执行高风险操作?

一句话结论

核心是动作分级与槽位检查。将写操作、对外发送、花钱等设为高风险并强制确认,关键字段缺失时生成澄清问题,不可逆且信息不足时必须提问。

先这样答

核心方案是引入动作分级机制与意图槽位检查。Agent 需要在底层拦截高风险动作。我们将写操作、对外发送信息、花钱类任务定义为高风险级别。系统在调用这些工具前,强制挂起当前执行流程。Agent 必须向用户发起澄清或确认请求。用户完成授权后,Agent 才能继续执行后续操作。

具体实现依赖意图识别与槽位检查机制。Agent 解析用户输入时,提取任务意图与必需参数。系统预先为高风险任务定义关键槽位。关键字段缺失时,Agent 停止猜测参数。系统直接触发澄清策略,生成对应的提问话术要求用户补充具体信息。

澄清时机的判断结合了信息完整度与动作可逆性。当任务信息不足且操作不可逆时,Agent 必须停下来提问。如果操作可逆且试错成本很低,Agent 可以先执行再根据用户反馈修改。这种区分保证了任务推进效率,同时控制了高风险操作的破坏性。

面试官会怎么追问

  • 「怎么定义和识别你说的写操作、对外发送这些高风险动作?」 开发者在工具注册阶段配置风险等级属性。系统维护一个高风险工具列表。Agent 规划出工具调用序列后,执行引擎会拦截并检查这个序列。一旦匹配到高风险工具,引擎就会阻断静默执行并抛出确认请求。

  • 「大模型经常自己脑补缺失的槽位参数,怎么防止它乱猜?」 我们在 Prompt 中明确禁止大模型捏造参数。系统强制模型在输出工具调用前输出推理过程。模型需要对比必需槽位与当前已有的上下文信息。发现关键信息缺失时,模型必须调用专门的澄清工具来向用户提问。

  • 「你提到可逆且便宜的操作先做再改,怎么判断操作是不是便宜?」 这需要结合业务场景预设规则。查询类接口通常调用成本很低且完全可逆。如果是生成文本或草稿,消耗的只是少量 Token 费用。系统将这类读操作或本地生成操作标记为低成本,允许 Agent 直接试错。

回答的坑

  • 试图用一段万能 Prompt 解决所有高风险拦截,而不懂在工程链路上做动作分级硬拦截。
  • 忽略操作可逆性与试错成本评估,导致 Agent 变成每走一步都要问用户的问答机器。
—— 本题完 ——