会议安排文本工具调用 - 题解
一、题目分析
本题要求解析自然语言会议描述,提取参会人、计算时长、判定审批逻辑、推算日期,最终输出工具调用 JSON。涉及两个工具:book_secure_slot(正常预约)和 check_compliance_rule(过去日期违规)。
核心计算链路:
- T+N 日期推算(基准 T=2024-06-01)
- 参会人清洗(INT/EXT 分类)
- 加权时长 = 基础时长 + INT人数×5 + EXT人数×15
- 审批逻辑(三级优先级覆盖)
二、难点分析
- 审批优先级易搞混:三条规则存在"后者覆盖前者"的关系(EXT > 紧急词 > 时长),LLM 容易按顺序判断而非按优先级覆盖
- T+0 陷阱:T+0 是"今天"而非"过去",模型容易误判为需要 TIME_TRAVEL
- 参会人数计算:当人数较多时(7人以上),模型容易数错人数,导致时长计算连锁出错
- 邮箱解析:需要从邮箱中提取用户名作为姓名,同时正确标记 EXT
三、Prompt 设计思路
3.1 步骤化拆解(Step1-Step5)
将整个流程拆成 5 个明确步骤,每步只做一件事,降低模型同时处理多个逻辑的负担。
3.2 审批逻辑重构为"优先级检查链"
原题的覆盖逻辑(后者覆盖前者)被重构为"按优先级从高到低检查,第一个命中即停":
- 检查1:有 EXT → true(停止)
- 检查2:含紧急词 → false(停止)
- 检查3:duration ≥ 60 → true,否则 false
这种"命中即停"模式比"覆盖"更符合模型的推理习惯。
3.3 T+0 反复强调
在多处显式强调"T+0=今天=2024-06-01,不是过去!正常预约!",用感叹号和重复来对抗模型的错误倾向。
3.4 人数计数示范
给出逐个数数的示例(A是1,B是2...G是7),教模型用枚举法计数,避免漏数。
3.5 大量完整计算示例
提供 5 个覆盖不同场景的完整示例,每个都展示从日期计算到最终输出的完整链路,包括:
- 含 EXT 的审批判定
- 含紧急词但 duration≥60 的情况
- 过去日期的 TIME_TRAVEL
- 多人计数场景
四、关键技巧
- 思维链引导:要求模型先在
<thinking>中逐步分析,再输出 JSON - 优先级逆序重构:将"覆盖"语义转为"优先级检查链",更适合 LLM 的线性推理
- 边界值显式标注:
≥60特别注明"60也算!65也算!" - 紧急词扩展:将"紧急/修复"扩展为"紧急/修复/Fix/fix/urgent/bug",覆盖中英文变体
- 日期预计算表:直接给出 T+0 到 T+3、T-1 到 T-3 的具体日期,减少模型计算负担
- 输出模板锚定:结尾给出空 JSON 模板,确保输出格式一致



京公网安备 11010502036488号