在沒有額外 Chat 節點的情況下,向用戶發送中間狀態更新?

嗨各位,

我目前在 n8n 中有一個較大的 AI/聊天工作流程,其中某些請求可能需要較長的時間才能完成。

為了改善使用者體驗,我新增了數個聊天節點,用來傳送中間狀態更新,例如:

  • “搜尋文章中…”

  • “處理請求中…”

  • “找到多個匹配項…”

問題是每個額外的聊天節點都會明顯增加工作流程執行時間。
在我的情況下,執行時間僅因為這些中間訊息而增加了約 20%。

所以我的問題是:

有沒有辦法在工作流程執行期間將進度/中間狀態更新傳送給使用者,而不使用額外的聊天節點?

也許透過:

  • 程式碼節點

  • Webhook 回應串流

  • 自訂前端事件

  • SSE/WebSocket

  • 執行鉤子

  • 或其他輕量級方法?

我的目標基本上是:

  • 保持工作流程的反應速度

  • 提供即時進度回饋

  • 避免明顯減慢工作流程

你們在較大的 AI/聊天工作流程中是如何處理這個問題的?

非常感謝!

早安 @Leon22
根據我的經驗,在 n8n 的原生聊天中,我還沒有看到一個通用的方式來發送中間狀態,而不使用聊天節點或支援的串流功能;當我需要更輕量級的解決方案時,我通常會透過輪詢/SSE/WebSocket 將進度轉移到外部前端。

添加代碼節點在這裡不會有太大幫助。它仍然需要進行相同的基礎調用,並且有相同的開銷。

如果您更喜歡留在 n8n 的原生聊天 UI 中,最快的解決方案是選擇性地進行操作,從 5 個狀態更新減少到大約 2 個。如果在有意義的檢查點進行,這將恢復大部分 20% 的性能,而無需進行大型架構更改。

如果您控制您的前端,SSE 是您提到的正確的長期解決方案。您目前的設置是什麼樣的?這將決定哪條路徑最現實。