雙引擎對照(W5)
同一份情境、同一批病患,規則式與 LLM 跑出來不一樣。差異的來源不是誰比較聰明,而是誰在決定下一步。
情境:醫師請假處理 v3(學員版)·差異點 4 處
規則式
8 步 · 差異 3 處- 1取得 A醫師 10/01 的掛號名單
- 目標
- 盤點受影響的病患
- 動作
- appointment.query
- 理由
- 觸發事件指定了醫師與日期
- 2查代診與 14 天內可用門診
- 目標
- 備妥可提供的選項
- 動作
- doctor.schedule.query
- 理由
- 可接受結果含代診與改期
- 3依掛號號碼順序外撥王○明差異
- 目標
- 聯絡第 1 位病患
- 動作
- voice.outbound
- 理由
- 固定依掛號號碼由小到大處理
- 4病患回覆:想看原醫師 → 提供全部三個可用時段差異
- 目標
- 取得病患選擇
- 動作
- 提供 3 個時段
- 理由
- 規則規定一次列出全部可用時段
- 5病患選定 10/06 下午 → 改期
- 目標
- 完成改期
- 動作
- appointment.reschedule
- 理由
- 病患已明確確認時段
- 6病患說「那天我要上班」→ 無對應規則,轉人工差異
- 目標
- 處理無法歸類的回覆
- 動作
- humanTask.create
- 理由
- 回覆不符任何已定義意圖,依保底轉人工
- 7其餘 52 位批次發送改期簡訊
- 目標
- 收尾未互動病患
- 動作
- sms.send
- 理由
- 批次處理剩餘 Work Item
- 8Run 完成
- 目標
- 結案
- 動作
- 標記完成
- 理由
- 所有 Work Item 均已有結果
LLM
8 步 · 差異 3 處- 1取得 A醫師 10/01 的掛號名單
- 目標
- 盤點受影響的病患
- 動作
- appointment.query
- 理由
- 觸發事件指定了醫師與日期
- 2查代診與 14 天內可用門診
- 目標
- 備妥可提供的選項
- 動作
- doctor.schedule.query
- 理由
- 可接受結果含代診與改期
- 3先外撥術後追蹤的陳○志差異
- 目標
- 優先處理風險較高的病患
- 動作
- voice.outbound
- 理由
- 術後追蹤需較長處理時間,先行聯絡
- 4病患回覆:想看原醫師 → 只提議最近的一個時段差異
- 目標
- 取得病患選擇
- 動作
- 提議 10/03 上午
- 理由
- 病患提過「越快越好」,先給單一建議
- 5病患選定 10/06 下午 → 改期
- 目標
- 完成改期
- 動作
- appointment.reschedule
- 理由
- 病患已明確確認時段
- 6病患說「那天我要上班」→ 改提早上時段並完成改期差異
- 目標
- 在病患的限制下找出可行時段
- 動作
- appointment.reschedule
- 理由
- 病患限制為平日白天上班,改以上午診提議
- 7其餘 52 位批次發送改期簡訊
- 目標
- 收尾未互動病患
- 動作
- sms.send
- 理由
- 批次處理剩餘 Work Item
- 8Run 完成
- 目標
- 結案
- 動作
- 標記完成
- 理由
- 所有 Work Item 均已有結果
差異點說明
- 第 3 步 處理順序不同:規則式固定依掛號號碼,LLM 自己決定先處理術後病患。順序是誰決定的——這就是兩者最根本的差別。
- 第 4 步 提議方式不同:規則式一次列出全部時段(寫死的規則),LLM 依對話內容只給一個建議。LLM 比較像人,但也比較不可預測。
- 第 6 步 同一句「那天我要上班」,規則式歸不了類只好轉人工,LLM 聽懂了限制並自行改提上午診。這一步是 LLM 的價值,也是它的風險——它做的事沒有寫在任何規則裡。
- 第 8 步 結果判定兩邊一樣:由系統依成功執行的工具呼叫判定,不採信模型自述。引擎可以換,判定不能換。