第11章 综合案例三:工单处理自动化系统
-
目标概述:本章挑战更贴近企业应用的场景 —— 开发一个自动化工单处理系统。该系统能够读取客户提交的工单(例如维修请求、投诉等),利用 AI 分类其类型、提取关键信息,甚至自动拟草回复或解决方案。本案例综合运用前面所学,包括文本解析、分类、生成回复等功能,让读者体会 AI 在企业流程自动化中的价值。
-
提示词结构:向 AI 说明此系统需求时,要涵盖多个功能模块:读取工单内容(假设以文本或表格形式存储)、分类(例如“报修”“投诉”“咨询”等类别)、提取重点字段(如用户姓名、产品型号、问题描述),以及生成回复建议。提示词可能需引导 AI 逐步完成:先生成分类模块代码,再生成信息提取模块,最后生成回复生成模块,然后组合在一起。我们明确要求使用某些NLP技巧:如分类可基于关键词或零样本推理模型,提取可用正则或简单NLP库(比如 spaCy)。提示中若涉及外部库,要指定安装导入方法。整体而言,这个Prompt较复杂,需要分解说明各子任务并希望AI分别生成。
-
流程图:绘制工单处理流程:系统监控到新工单 -> 解析工单内容 -> 分类确定处理部门/优先级 -> 提取关键数据(可能用于记录或自动填表) -> 若有模板,生成初步回复或解决方案建议 -> 人工审核后发送客户。流程图突出 AI 参与的环节:分类和回复生成。也展示AI如何与工单系统接口(假设简化为读取文件或数据库)。
-
可视化代码生成过程:将代码生成过程按照模块划分:1)分类模块:Cursor 生成 classifier.py,包含 classify_ticket(text) 函数。截图展示AI采用简单规则或提示GPT分类的代码(如内置几个类别关键字映射,或直接用OpenAI分类模型);2)信息提取模块:生成 extractor.py,提供 extract_info(text) 函数,可能通过正则识别"订单号:1234"这类字段或调用简单NLP。截图显示AI提取代码逻辑。3)回复生成模块:生成 responder.py,提供 generate_response(category, info) 函数,利用预定义回复模板或 LLM 根据类别生成解决方案。截图展示AI根据类别选不同风格回复的实现。最后集成 main.py:读取模拟工单数据、调用上述模块、输出结果(分类结果+建议回复),截图显示AI组装这些模块的代码段。整个过程中,如AI出现先后不一致(比如分类类别名和回复模块不匹配),我们演示如何调整提示确保统一。
-
样例项目代码结构:模块化清晰:
-
classifier.py:分类工单;
-
extractor.py:提取信息;
-
responder.py:生成回复;
-
main.py:主脚本,整合流程;
-
sample_tickets.txt:示例工单数据。
讲解如何替换为真实情境(如对接数据库、网络接口),并指出模块隔离的好处:方便替换更高级算法(如将简单分类换成AI模型服务)。 -
生成结果截图:展示一条示例工单处理的完整输出。例如工单文本:“客户张三反馈其购买的X产品无法开机需要维修”,系统输出分类“报修”,提取信息如{name: 张三, product: X产品, issue: 无法开机},以及建议回复“您好张三,我们已收到您关于X产品无法开机的报修请求…”. 截图包含终端打印的这些结果或日志。
-
测试点与失败案例:测试不同类别工单(投诉 vs 咨询)的分类准确度和回复差异;测试字段缺失或格式异常的工单,提取模块能否健壮处理。失败案例:AI 初版分类规则可能混淆相似类别,举例说明在提示中加入更多示例如何提高准确性。另可能回复口吻不妥(太生硬或不专业),我们通过在Prompt中规定语气(礼貌+简洁)改进之。强调最终回复给客户前应由人工审核,提示AI生成代码时也加入相应注释警示,这体现人机协作的必要。
-
术语解释:介绍“工单系统”“分类标签”“模板回复”等业务术语。解释正则表达式用于信息提取的原理(非编程读者可简单理解为模式匹配文本)。涉及到的NLP概念如零样本分类等也做简要说明。