我们团队有一个让人头疼的活儿:每天要处理30-50张来自业务部门的IT支持工单,其中六成是重复性问题——"密码忘了"、"VPN连不上"、"打印机没反应"、"某个系统登录报错"。为了处理这些工单,我们两个运维同事每天要花一半以上的时间。上个月,我搭了一个AI智能体,把重复工单的自动化处理率做到了65%,两个运维终于有时间去处理真正复杂的故障了。
动手之前,我先明确了这个智能体的边界:
边界划清楚很重要——如果一开始就想让智能体"什么都干",最后大概率什么都干不好。
我对比了几套方案:
方案 | 优点 | 缺点 |
|---|---|---|
纯LangChain脚本 | 轻量、可控 | 状态管理要自己写 |
Coze/Dify等平台 | 上手快、自带编排界面 | 和内部系统集成要写插件 |
LangGraph | 状态机清晰、适合多步骤任务 | 学习成本略高 |
考虑到工单处理是典型的多步骤、有分支、可能出错要重试的流程,我最终选了 LangGraph,搭配 Qwen2.5-7B(通过vLLM部署在内部一台T4显卡的服务器上)做判断和生成。
智能体的处理流程用LangGraph实现,核心节点如下:
from langgraph.graph import StateGraph, END
# 1. 分类节点:判断工单类型和紧急度
# 2. 检索节点:从知识库(向量库)检索解决方案
# 3. 工具节点:按需调用内部API(重置密码/查账号/查网络)
# 4. 生成节点:生成回复内容并回填工单
# 5. 兜底节点:处理失败则标记转人工
graph = StateGraph(WorkOrderState)
graph.add_node("classify", classify_workorder)
graph.add_node("retrieve", retrieve_solution)
graph.add_node("call_tool", call_internal_api)
graph.add_node("generate", generate_reply)
graph.add_node("escalate", escalate_to_human)关键设计是工具调用的权限控制:智能体只能调用白名单里的API(重置密码、查询账号状态、查询工单状态),凡是涉及删除数据、修改权限的高危操作,一律强制转人工。这一步绝对不能省——AI再聪明,也不能给它越权的工具。
这类智能体最容易翻车的地方不在流程,而在判断质量。我踩了几个坑后总结出三点:
上线两周的数据:
当然也有反思:最开始我把期望定得太高,总想让智能体"聪明"地解决一切问题,结果反而一堆工单在AI那里绕圈子。后来想明白了——智能体的价值在于把重复劳动标准化,而不是取代人的判断。把65%的标准问题快速处理掉,让人的精力聚焦在那35%真正需要思考的问题上,这才是智能体的正确打开方式。
如果你也在做内部工单、客服、IT支持类的智能化改造,建议从"高频重复+流程标准"的场景切入,先把小闭环跑通,再逐步扩展能力边界。