← 返回
AI技术

AI Agent 拆开看就是 if 语句?我写了个对照实验,发现真正的问题在别处

✍️ zhirenhun 📅 2026/9/9 👁 36 阅读 ⏱ 7 分钟
AI Agent 拆开看就是 if 语句?我写了个对照实验,发现真正的问题在别处

AI Agent 拆开看就是 if 语句?我写了个对照实验,发现真正的问题在别处

前两天 dev.to 热榜第一的文章说,大部分 AI Agent 拆开看就是穿着风衣的 if 语句。评论区吵成一片,一半人狂点头,一半人骂作者不懂装懂。

我觉得两边说的都不是重点。所以干脆自己动手,写了个 60 行的对照实验:同一个客服值班任务,一个用 if/else 写,一个接大模型,喂同样六条消息,看看差距到底在哪、又在哪一边栽跟头。

对照实验真实运行输出

先说结论

规则版和 LLM 版在"常规消息"上打平,真正的差距全在长尾消息上。但 LLM 版也绝不是碾压——它赢的方式很危险,这个后面细说。

实验设计

任务设定成电商客服值班助手,六条消息分两档:

前三条是常规消息,特征明显:服务器故障报告、带订单号的物流查询、退款咨询。这种消息一个正则就能路由,属于规则的主场。

后三条是长尾消息,我故意写成真实用户会打出来的那种话——不带关键词,话里还套着话:

用户说付款了但订单还是待支付,后台看已经扣款了,
这算重复扣款吗?我该怎么跟他解释

你们那个积分是不是弄反了,消费反而涨积分,而且我上次
兑换的东西显示已发货但物流20天没动了

我把身份证照片发给客服了,现在担心隐私问题,能撤回吗

规则版就是典型"AI Agent"的真身:三个 if/elif 配正则,匹配"挂了/打不开"走工单,匹配订单号格式走查询,命中"退款"走话术,其他全部进兜底转人工。

def rule_agent(msg):
    if re.search(r"挂|打不开|宕机|崩溃", msg):
        return "[工单已创建] 已通知运维排查服务器,请稍候。"
    elif re.search(r"订单\s*\d{8}-?\d+", msg):
        num = re.search(r"\d{8}-?\d+", msg).group()
        return f"[自动查询] 订单 {num} 状态:运输中,预计明天送达。"
    elif "退款" in msg:
        return "[自动应答] 退款请在订单页点击'申请退款',1-3个工作日到账。"
    else:
        return "[兜底] 抱歉,我不太明白您的意思。已转人工。"

LLM 版就一行系统提示词加一次模型调用,用的 GLM-5.3-flash(图个便宜,这种任务犯不着上旗舰模型)。

常规消息:平局,但平得有意义

三条常规消息两边都接住了。但注意规则版答的是"标准答案",LLM 版答的是"人话"。比如服务器故障这条:

规则版:[工单已创建] 已通知运维排查服务器,请稍候。
LLM 版:非常抱歉给您带来不便!服务器故障已紧急上报技术团队加急处理,请您稍后再试。

如果客服考核的是响应模板一致性,规则版完胜。如果考核的是用户感受,LLM 版至少听起来像个活人。这一局没有输家,只是风格不同。

长尾消息:真正的分水岭

三条长尾消息,规则版全部兜底转人工,0% 处理率。LLM 版全部给出了具体处理建议,比如那条"重复扣款"的,它回的是:

"多为支付同步延迟,不算重复扣款。可先安抚并让用户等10分钟刷新,仍未更新则截图上报技术核实。"

这条回复让我后背有点凉。因为它不是在复读话术——它真的理解了"扣款成功但订单未更新"这个状态组合,还给出了带时间窗口的处理步骤。你翻遍全网的客服话术库,都找不到这句话的原文。

但 LLM 版赢得并不干净

细看它对身份证那条的回复:"若在撤回时限内可自行撤回"——你的系统里有撤回时限这个功能吗?我的实验里没有。它是顺着用户的话编了一个合理但可能不存在的功能。

规则版永远不会犯这种错,因为它只会说写在代码里的话。这就是那篇"if 语句"文章真正的价值:规则系统不说谎,但也不思考;LLM 会思考,但会顺手编造。两边都不是省油的灯。

所以正确的做法是什么

我自己的结论是:别二选一,分层。常规高频消息走规则(便宜、稳定、可审计),长尾消息才放行给 LLM,而且 LLM 的回复要过一道"引用是否存在"的校验——它可以组织语言,不能发明功能。

那个说"AI Agent 就是 if 语句"的作者没说错,他只是漏了后半句:好的 Agent 是 if 语句负责 80% 的确定性,模型负责剩下 20% 的混沌,并且永远有人盯着那 20%。

完整实验代码不到 70 行,两条路线加起来一屏就能放下。你自己的客服机器人是哪种,测一下就知道了——长尾消息那条线,比任何跑分都更能暴露系统的真实水位。

——

🧑‍💻

zhirenhun

一个热爱技术的程序员,喜欢分享前沿AI知识和开发经验。

AI Agent if语句 大模型 客服机器人