把请假、会议室预定这类重复审批做成对话式自助:案例拆解
我们行政和 HR 每天被一堆鸡毛蒜皮的审批咨询缠着:"我还剩几天年假""下周二下午 3 号会议室空吗""请半天走哪个流程"。这些问题答案都在系统里,但用户懒得点进 OA 翻,宁可直接戳人。我花了两个下午把这摊事做成了一个对话式自助助手,这篇拆给你看。
要解决的不是审批本身,是审批前的扯皮
先厘清边界:真正的审批流(领导点同意)还是走原 OA,我没动它。我做的是审批的"前半段"——查额度、查空闲、发起单子这些纯查询和触发动作,让用户对话就能完成,不用进系统点来点去。
拆成三类对话动作
|
用户说 |
助手要做的 |
|---|---|
|
"我还有几天年假" |
查 HR 系统拿余额,直接报数 |
|
"明天下午会议室有空的吗" |
查会议室系统,列空闲时段 |
|
"我要请周五一天假" |
校验余额够不够,够就帮发起请假单 |
每一类对应一个工具调用。我用的是那种拖拖拽拽就能配 Agent 的平台,每个动作配一个 HTTP 工具节点,分别打 HR 系统和 OA 的内部接口。
关键:让模型把人话翻成接口参数
难点不在调接口,在于把"我要请周五一天假"这种自然语言,抽成接口要的 {type: annual, start: 2026-06-13, days: 1}。我在解析节点的 prompt 里要求模型先抽出结构化字段,缺了就反问。比如用户只说"我要请假"没说哪天,它会追问"请哪天?请几天?",凑齐了再调接口。
这里有个真实的坑:日期。用户说"下周五""这周末""端午后第一天",模型解析相对日期经常错,尤其跨周和节假日。我后来在工具节点里把"当前日期"作为上下文显式传进去,并且让它把解析出的日期复述给用户确认——"你是说 6 月 13 日周五对吧?"——确认了才发起。多一步确认,挡掉了好几起请错日子的乌龙。
发起单子要留一道闸
帮用户发起审批单这个动作有风险,万一模型理解错了,单子就误发了。我的处理是:所有"写"操作(发起请假、占用会议室)一律先生成一个"待确认"摘要给用户,用户回"确认"才真正调接口提交。查询类(查余额、查空闲)不用确认,直接答。读写分开对待,这条我建议照抄。
一个没做好的地方
会议室预定我做了"查空闲"但没做"自动占用",因为我们会议室系统的占用接口需要二次鉴权,配起来麻烦,就先只让它告诉用户哪个空、让用户自己去点。算是个半成品,但查空闲这一步已经省了不少来回了。功能不必一步到位,先把最高频的查询做顺。
收尾
整套助手背后的语言理解,我直接用了讯飞 Agent 的 MaaS 大模型 API,不用自己训意图识别模型——重复审批这种场景,现成模型的语义抽取能力足够,自建模型反而是浪费。
你们把哪些重复咨询做成自助了?写操作你们怎么防误触的,评论区说说做法。
更多推荐


所有评论(0)