相同提示詞的 n8n 節點隨機執行問題

我在 n8n 中遇到一個奇怪的問題,使用完全相同的提示和工作流程時,某些節點隨機顯示沒有返回數據,儘管數據實際上是可用的。有時工作流程執行正確,有時則失敗,而沒有對流程或配置進行任何更改。

這個問題似乎不一致且難以可靠地重現。我目前正在嘗試調試並找出這種行為的根本原因。

我在 ARM 虛擬機(Ubuntu)上自行託管 n8n

@Hari_Malam 具體是哪個(哪些)節點間歇性地返回空值 — 是 AI 代理 / 聊天模型節點,還是普通的 HTTP 請求 / 資料庫節點?這會完全改變問題原因。如果是 AI 節點,間歇性空輸出通常 = 模型非決定性或代理在執行中途決定跳過工具呼叫。如果是 HTTP/DB,更可能是時序問題或上游速率限制。

這是我的完整流程,在結束節點我實際上有第一個節點的資料,但有時仍然顯示錯誤

最後是 whatsapp 回覆節點 > 我從 whatsapp 觸發節點取得未定義的值,即使我有這個…

你可以看到左側有資料,我拖放了這個欄位

我認為問題在於你在 WhatsApp Reply 節點中的表達式語法。你使用的是:

{{ $('WhatsApp Trigger').item.json.metadata.phone_number_id }}

將所有引用從 .item.json 改為 .first().json

  • 寄件者:{{ $('WhatsApp Trigger').first().json.metadata.phone_number_id }}

  • 收件者:{{ $('WhatsApp Trigger').first().json.contacts[0].wa_id }}

.item 嘗試追蹤執行路徑回到觸發器,但在有 AI 代理路由的分支工作流程中會間歇性失敗。.first() 總是從該節點的輸出中獲取第一個項目,不管執行路徑如何。由於每次觸發你只會收到一條 WhatsApp 訊息,所以 .first() 在此是安全且可靠的。

這就是為什麼有時成功有時失敗:當 AI 代理的執行路徑簡單明了時,.item 能正常解析。當代理進行額外的工具調用或路由更複雜時,路徑變得模糊不清,.item 就會返回 undefined。

如果有幫助的話,請告訴我

這個問題是隨機的…
有時候會出現…
目前用你的解決方案運作良好…
感謝你的支援