兩個上限
「一輪對話」指的是使用者說一句話、agent 回一句話之間的過程。在這一輪之內:- 最多跳 4 個節點(node 之間的轉移)
- 最多執行 4 個工具步驟(一次同時呼叫多個工具仍算一步)
上限是「每一輪」重新計算的,不是整通對話的總額。一通長對話跳過幾十個節點完全正常。
一輪連跳多個節點是刻意允許的
有些人第一次看到「一輪跳了三個節點」會以為是流程設計壞了。多數時候不是——那是使用者一次講完太多資訊的正常結果。 想像一個保養預約的流程,設計上是「問服務項目 → 問車型 → 問里程 → 彙整確認」四個節點。如果使用者開口就說:「我想預約定期保養,車子是 2019 年的,里程大概八萬公里。」三個問題已經全部有答案了。這時候正確的行為是直接跳到彙整節點確認資訊,而不是照著節點順序再把「請問您要什麼服務?」「請問車型?」「請問里程?」重問一次。使用者剛講完的事被逐題重問,聽起來像沒在聽——這是語音對話裡最傷體驗的一種毛病。 所以連跳是功能,不是 bug。上限存在的目的只是避免它失控。
想讓 agent 每跳一個節點就講一次話
如果你的情境確實需要 agent 逐節點確認(例如每一步都要複誦讓對方核對),這是提示詞層的要求,不是流程層的。做法:- 在節點的提示詞裡寫清楚:「先向使用者複誦目前掌握的資訊並取得確認,再進入下一步。」
- 在連線條件(edge condition)上加上「使用者已確認」這類前提,讓沒說話就跳過去不成立。
- 逐節點確認會拉長通話時間,只在真的需要核對的節點加,不要整條流程都加。
