用SKILL实现请假流程信息收集
但是有了这个机器人功能就可以在OC系统里用对话的方式完成这个请假的操作。比如当我输入我想在后天请一天年假。系统会直接从我的对话里找取到必要信息比如请假的时间从20260405到20240405请假的类型为年假。之后机器人带着这些信息以及从上下文获取到的我的个人信息就可以对接HR系统里对应的接口完成这次操作。它的方便之处还在于有时候用户的给的信息可能是不全的比如当输入我想休天假。那么系统就会发现请假时间的信息不明确请假的类型也不明确。所以就会继续询问用户以确认请假的具体时间和请假的类型。我记得第一次看到这个系统是在2024年那时候AI应用已经成型了那时Dify之类的工具也都已发布所以实现这么一个流程是可行的只是设计会繁琐一些需要逐个节点取做判断。直到2025年年底Claude开始发布SKILL功能并且公开了标准很多平台都有在跟进于是我想是否可以利用SKILL功能来实现这个请假流程的信息收集。于是我打开TRAE让TRAE帮我创建这个SKILL然后也可以在TRAE里测试这个SKILL。打开TRAE输入如下内容帮我写一个请假的SKILL 触发当用户想要请假的时候出发。 需要确认的信息 请假的类型包括事假年假病假 请假的开始时间 请假的结束时间 首先从用户的消息中尝试判断这些信息。 如果不包含这些信息则依次向用户提问确认这些信息。以下是TRAE生成的SKILL符合我的预期。--- name: leave-request description: 处理用户的请假请求确认请假类型、开始时间和结束时间。当用户想要请假时触发。 --- # 请假处理 ## 功能描述 该SKILL用于处理用户的请假请求需要确认以下信息 1. **请假类型**事假、年假、病假 2. **请假开始时间**具体的日期 3. **请假结束时间**具体的日期 ## 触发条件 当用户表达想要请假的意图时触发例如 - 我想请事假 - 我需要请年假 - 我想请病假 - 我想请假 ## 处理流程 1. **信息提取**首先从用户的消息中尝试提取以下信息 - 请假类型 - 开始时间 - 结束时间 2. **信息确认**如果用户消息中不包含全部必要信息则依次向用户提问确认 - 首先确认请假类型如果未提供 - 然后确认开始时间如果未提供 - 最后确认结束时间如果未提供 3. **信息汇总**收集完所有信息后向用户确认请假详情。 ## 示例对话 **示例1用户提供完整信息** 用户我想请事假从5月1日到5月3日 系统好的我已收到您的请假请求。您将请事假从5月1日到5月3日共3天。 **示例2用户只提供部分信息** 用户我想请假 系统请问您要请什么类型的假事假、年假、病假 用户事假 系统请问您的请假开始时间是 用户5月1日 系统请问您的请假结束时间是 用户5月3日 系统好的我已收到您的请假请求。您将请事假从5月1日到5月3日共3天。 **示例3用户只提供完整信息** 用户我想在明天请一天年假 系统好的我已收到您的请假请求。您将请事假从5月1日到5月1日共1天。 ## 注意事项 - 时间格式建议使用明确的日期格式如5月1日、2026-05-01等 - 请假类型仅支持事假、年假、病假 - 确保开始时间早于结束时间接下来做几个测试我想在明天请一天年假 Builder 好的我已收到您的请假请求。您将请年假从2026年4月2日到2026年4月2日共1天。 我 我想在后天请一天病假 Builder 好的我已收到您的请假请求。您将请病假从2026年4月3日到2026年4月3日共1天。 我 我想在后天请两天病假。 Builder 好的我已收到您的请假请求。您将请病假从2026年4月3日到2026年4月4日共2天。 我 我想休一天假 Builder 请问您要请什么类型的假事假、年假、病假 我 年假 Builder 请问您的请假开始时间是 我 后天 Builder 请问您的请假结束时间是 我 后天 Builder 好的我已收到您的请假请求。您将请年假从2026年4月3日到2026年4月3日共1天。 我 我想休天假 Builder 请问您要请什么类型的假事假、年假、病假 我 事假 Builder 请问您的请假开始时间是 我 20250505 Builder 请问您的请假结束时间是 我 20250506 Builder 好的我已收到您的请假请求。您将请事假从2025年5月5日到2025年5月6日共2天。