我正在創建這個工作流程,它將在代理內部作為工具調用另一個流程:
編輯字段
子工作流程沒有調用,並且沒有顯示值
總體上來說,你的設置看起來是正確的。有幾個地方需要檢查:
如果你願意的話,也可以分享一下 AI Agent 系統提示詞的內容,這往往有助於理解為什麼 Agent 不會調用某個工具。
在 Sub-Workflow Tool 節點(AI Agent 中作為工具的「Random Number Generator」)中,我有這個描述:
在 Sub-Workflow 本身中:觸發器「When Executed by Another Workflow」是否需要特定的輸入參數?如果是的話,它們必須與 agent 提供的 Tool-Input 完全匹配。
這是 system prompt
只返回數值結果。
我也分享 JSON
WSANTIAG_Llamada de Agentes (1).json (5,9 KB)
感謝提供 JSON 檔案,現在問題很清楚了。有兩個問題:
workflowId 指向正是這個工作流程(x2ClIhsa1nxXALcp),而不是指向一個獨立的子工作流程。該工具應該指向一個獨立的工作流程,該流程只能透過「When Executed by Another Workflow」啟動,並包含程式碼節點。按照目前的設定方式,當工具被呼叫時,整個工作流程會重新啟動,包括 Manual Trigger 和 Edit Fields,這不是預期的行為。matchingColumns 包含「hola」,這個值不符合結構描述(結構描述只定義了 max_random_number)。這可能是測試時留下的殘留內容,應該刪除或改正為 max_random_number。解決方案:將子工作流程(「When Executed by Another Workflow」+ 程式碼節點)分離成一個獨立的單獨工作流程。儲存它、複製其工作流程 ID,然後在主工作流程的工具節點中指向這個新 ID,而不是指向自己。
嗨 Rene
我已經提出了建立兩個工作流程的建議:
在 Random Number Generator 的輸出中產生了這個錯誤。
[
{
“response”: “There was an error: \“Workflow is not active and cannot be executed.\””
}
]
現在我分享這兩個 JSON 格式的工作流程
SubFlujo.json (1,5 KB)
WSANTIAG_Llamada de Agentes.json (4,3 KB)
嗨Santiago,
分成兩個工作流是正確的。錯誤很簡單明瞭:SubFlujo已保存但未激活(JSON中的"active": false)。
要修正這個問題:在n8n中打開SubFlujo,然後激活編輯器右上角的「Active」開關。Tool Workflow必須處於活動狀態,才能讓其他工作流調用它。即使你手動執行來測試,那也不算是對外部調用的「活動」。
激活後,重新執行AI Agent應該就能正常工作了。