AI 入门与核查AI 应用

AI检查日程冲突:相邻端点不等于重叠,缓冲时间要单独计算

让AI找出冲突会议时,09:00–09:30与09:30–10:00经常引起歧义。它们没有正时长的交集,却可能没有足够转场时间。先定义“重叠”和“缓冲不足”,再让AI分别报告,才不会把两个问题混成一个结论。

木质桌面上的纸质月历、陶瓷花瓶与彩色笔
配图:Swello · Unsplash License

先明确任务与结果

先统一日期与时间基准,按同一人员或资源比较。采用结束端点不占用的区间时,两场会议只有max(开始时间)<min(结束时间)才有正时长重叠;等于只是相邻。缓冲需求另加规则,不能修改原时间或把相邻写成重叠。

先固定区间与资源规则

RFC 5545的VEVENT说明定义DTSTART为包含的开始、DTEND为不包含的结束。本文借用这一端点约定做自编练习:开始包含、结束不包含,只统计正时长交集。它不是对所有日历、课程或业务系统的默认假设;真实资料若另有规则,应先明确。

还要声明谁不能同时参加、哪些会议室不能重复占用。两场会议时间重叠,但人员和资源完全独立时,不一定构成当前问题中的冲突。本例明确四场会议共用同一位人员与同一间会议室,不加入循环会议、跨日和全天事项,先把基础规则讲清楚。

完整例题:四场会议,六个无序配对

以下都是虚构练习。四场日期均为2026-10-15,采用固定UTC+08:00时间基准,所有结束时间都晚于开始时间。固定偏移只服务于这个例子,不代表任何地点长期采用的时区政策。若原始日程写“上午九点”却没有日期或时区,先按日期与偏移歧义核查补齐资料,不能直接套表。

本例固定输入
会议ID开始结束共用资源
A09:0009:30人员P / 会议室R
B09:3010:00人员P / 会议室R
C09:2009:40人员P / 会议室R
D10:0010:15人员P / 会议室R

保留原时间的核查提示词

这是虚构日程核查,不创建或修改日历。日期2026-10-15,固定UTC+08:00。A 09:00–09:30;B 09:30–10:00;C 09:20–09:40;D 10:00–10:15。四场共用人员P与会议室R。开始包含、结束不包含。列出全部6个无序配对,按max(start)<min(end)判断正时长重叠,输出交集起止与分钟数;相等标为相邻,不算重叠。另对A→B、B→D检查10分钟缓冲,分栏报告。保留ID与时间;不猜缺失值,不自动改期或发送邀请。
这是建议的AI输入,不是宣称某个模型已经输出正确答案。

先人工算出答案,再检查AI输出

A与C的交集从较晚开始09:20到较早结束09:30,共10分钟。B与C则是09:30到09:40,共10分钟。A与B的较晚开始和较早结束均为09:30,严格小于不成立,故没有正时长重叠;B与D同理。

四场会议共有4×3÷2=6个无序配对。不能只列出相邻行,因为C会同时影响A与B;也不能把A–C和C–A算成两次。每对可保留一个稳定键,例如按ID排序后写A|C,方便发现遗漏与重复。

六对的手工验收答案
配对交集或关系重叠分钟判定
A–B09:30端点相邻0不重叠
A–C09:20–09:3010重叠
A–D相隔30分钟0不重叠
B–C09:30–09:4010重叠
B–D10:00端点相邻0不重叠
C–D相隔20分钟0不重叠

转场缓冲是另外一条要求

现在只对A→B与B→D这两个指定交接检查10分钟缓冲。它们的下一场开始减上一场结束均为0分钟,所以缓冲不足10分钟;结论应是“没有时间重叠,但不满足缓冲要求”。这个判断不代表整份日程已可执行,因为A–C、B–C的真正重叠仍未解决。

若缓冲因地点不同而变化,应提供路线或明确分钟数,AI不能自行推断“同楼层五分钟一定够”。也不要把结束时间偷偷延长10分钟后覆盖原表;保留原始区间与缓冲规则,读者才能知道哪个结论来自会议占用、哪个来自额外要求。

两种报告的区别

会误导的结论

A–B重叠10分钟,需要改期。

可核对的结论

A–B时间重叠0分钟;可用缓冲0分钟,低于要求10分钟,缺口10分钟。

原始端点未变。第二种描述能区分时间事实与额外转场要求,也不会伪造一个交集。

逐项验收,不根据语气相信结果

把AI输出与六对答案逐项比较:ID是否一致、原时间是否改变、漏了哪一对、是否把0当成未知。特别检查它是否只比较排序后相邻会议,或因为A与B相邻就遗漏了穿插其中的C。格式完整也不能代替配对完整。

会议改名时仍以稳定ID关联。可以参考稳定ID合并名单的核查方法,但不要因为会议标题相同就删除一项。验收记录最好保留原输入、规则、模型返回、逐对核对结果和仍需询问的问题,方便下一次修改规则时重算。

本例通过条件

  • 全部6个无序配对出现且不重复。
  • 仅A–C、B–C有正时长重叠,均为10分钟。
  • A–B和B–D均保留相邻、0分钟重叠的事实。
  • 10分钟缓冲作为单独要求,只对指定交接报告。
  • 不改原时间、不发送邀请、不把练习当真实日历已同步。

缺资料时保留待确认项

实际日程可能包含取消状态、可忽略的透明事件、循环例外、多个时区与跨午夜结束时间。它们会改变比较对象或时间归一化方式。先确定哪些条目真正占用当前资源,再扩展本例方法;缺结束时间时,应标为无法按本规则判断,而不是假造一个默认时长。

如果只是需要机器规则来找重叠,程序和电子表格也能计算;AI更适合帮忙解释异常与整理待确认项。无论采用哪一种方式,最后都应回到原始日程和有权限的日历操作流程,不把一段文字建议当作实际改期完成。

三类不同结果

可计算

日期、时间基准、开始结束与资源都明确,逐对给出交集。

规则冲突

资料完整,但缓冲或资源约束未满足,报告规则与缺口。

资料不足

缺日期、时区、结束或资源,列出缺项并保留未知。

常见问题

09:30结束、09:30开始算冲突吗?

按本文开始包含、结束不包含且只算正时长交集的规则,不算时间重叠。是否满足转场缓冲要另行检查。

可以让AI直接把冲突会议挪开吗?

本文只做核查,不授权改日历。实际改期还要确认参与人、资源、时区、通知和权限,不能把建议当成已执行。

为什么不能只比较排好序的相邻行?

一场较长或穿插的会议可能与多个条目重叠。本例C同时影响A与B。完整配对或经过验证的区间算法才能避免这种遗漏。

参考资料与延伸阅读

继续阅读