【AI面试临阵磨枪-89】Skill 幻觉、参数缺失、格式错误、业务异常如何处理?

一、面试题目

AI Agent Skill 在执行中会出现:幻觉、参数缺失、格式错误、业务异常 ,请分别说明原因、处理策略、工程落地方案

二、知识储备

1. 整体核心思想

Skill 是业务执行单元 ,必须稳定、可控、可预期、不可乱执行

所有异常处理遵循四步:

前置拦截 → 异常捕获 → 自动修复 → 降级兜底

禁止模型"猜"、禁止"强行执行"、禁止"静默失败"。

2. 四大异常场景处理方案(面试必背)

(1)Skill 幻觉(最核心)

现象

  • 模型编造不存在的 Skill
  • 编造不存在的参数、订单号、金额
  • 跳过业务规则、乱调用工具、虚构结果

原因

  • 意图理解错误
  • 上下文太长干扰
  • 工具描述不清晰
  • 模型自由发挥

处理方案(四层防御)

  1. 白名单强制约束
    只能调用注册在列表里的 Skill,不在白名单直接拒绝
  2. Skill 描述极简、精准
    不提供多余信息,减少模型误解
  3. 输出格式强校验
    不符合 JSON Schema 直接判定幻觉,拒绝执行
  4. 业务规则二次校验
    执行前校验订单真实性、用户身份、金额合法性

处理流程

幻觉 → 拦截 → 反问用户澄清 → 不执行 → 日志上报

(2)参数缺失

现象

  • 缺少 userId、orderId、位置信息
  • 调用 Skill 关键参数为空

原因

  • 用户表达不完整
  • 模型未抽取到信息
  • 上下文丢失

处理方案

  1. 参数非空校验:执行前自动检查
  2. 反问式补全 :引导用户补充缺失信息
    例:"请告诉我你的订单号"
  3. 上下文回填:从历史对话自动提取
  4. 拒绝执行:关键参数缺失不往下走

原则

不猜参数,缺啥问啥

(3)格式错误

现象

  • 模型返回不是合法 JSON
  • 字段类型错误(字符串/数字颠倒)
  • 缺少必填字段、结构错乱

原因

  • Prompt 约束不足
  • 模型输出不稳定
  • 上下文干扰

处理方案

  1. JSON Schema 强校验
    严格校验结构、字段名、类型
  2. 格式修复器
    自动补全、修正引号、逗号、括号
  3. 重试格式化
    失败 1-2 次后重新让模型输出格式
  4. 兜底降级
    多次失败转人工/静态回复

原则

格式不合法 → 不解析 → 不执行

(4)业务异常

现象

  • 订单已完成、不能退款
  • 库存不足、超出时效
  • 权限不足、越权操作
  • 接口超时、调用失败

原因

  • 业务规则不满足
  • 下游服务故障
  • 数据状态非法

处理方案

  1. 异常分类处理
    • 规则异常:告知用户原因
    • 系统异常:熔断+重试
    • 权限异常:拒绝+提示
  1. 自动重试(仅网络/5xx)
  2. 熔断降级
    下游故障直接返回兜底
  3. 清晰话术
    不抛技术异常,给用户友好提示

3. 统一异常处理架构(企业级标准)

复制代码
入口 → 参数校验 → 权限校验 → 格式校验 → 业务校验 → 执行
   ↓ 任意一步失败
异常捕获 → 分类处理 → 修复/反问/重试 → 兜底返回 → 日志上报

4. 代码实现(Skill 统一异常处理器)

python 复制代码
class SkillExceptionHandler:
    def handle(self, error):
        # 幻觉
        if "invalid_skill" in str(error):
            return "我没理解你的需求,请再说一遍"
        
        # 参数缺失
        if "missing_param" in str(error):
            return "请补充订单号"
        
        # 格式错误
        if "format_error" in str(error):
            return "系统格式异常,正在重试"
        
        # 业务异常
        if "business_error" in str(error):
            return "订单已完成,无法退款"
        
        # 系统异常
        return "服务繁忙,请稍后再试"

四、破局之道(面试满分总结)

Skill 异常处理的核心是:

幻觉靠白名单拦截,参数缺失靠反问补全,格式错误靠Schema强校验,业务异常靠规则判断。

所有异常必须可捕获、可分类、可修复、可降级 ,确保 Skill 执行稳定、安全、不资损、不幻觉,这是企业级 Agent 能否上线的关键。

30 秒口述精简版

Skill 出现幻觉用白名单+格式校验 拦截;

参数缺失通过非空校验+反问用户 补全;

格式错误用 JSON Schema 强校验+自动修复

业务异常根据规则分类返回友好提示

整体遵循前置拦截、异常捕获、自动修复、降级兜底,保证执行稳定可控。

相关推荐
Mr_凌宇9 分钟前
AI 应用工程进阶扩展学习笔记 二
前端·面试
Hyyy22 分钟前
Git Worktree 完全讲解
前端·后端·面试
云技纵横1 小时前
Redis 延迟双删还是读到脏数据?一次缓存一致性事故
redis·后端·面试
weedsfly2 小时前
前端开发中的代理模式——从 Vue 3 响应式到日常开发
前端·javascript·面试
咖啡八杯2 小时前
GoF设计模式——状态模式
java·面试·架构
尘世中一位迷途小书童2 小时前
Cesium 涟漪扩散点:自定义材质,参数调对了才好看
前端·面试
zzz_23682 小时前
【Java实习面试算法冲刺】图论
java·算法·面试
Sam_Deep_Thinking3 小时前
一次线程池线上故障复盘:四层防线如何避免数据丢失
java·面试·程序员
Lhappy嘻嘻4 小时前
网络(二)|Java Socket 编程全实战:UDP 回显 / 词典服务器、TCP 单线程→多线程线程池演进
java·开发语言·网络·学习·面试·udp·tcp
胡萝卜术12 小时前
从API调用到手写LRU:力扣146「LRU缓存」的哈希表+双向链表终极进化之路
前端·javascript·面试