可扩展多智能体对话工作流 - n8n AI聊天机器人解决方案
多智能体对话,AI聊天机器人,n8n工作流,OpenRouter集成,智能体配置,可扩展AI系统

这个工作流是为想要在单个聊天界面中实验或使用多个具有不同个性、指令和底层模型的AI智能体的用户设计的,无需复杂设置。它解决了同时管理和与多样化AI助手交互的问题,适用于头脑风暴、比较分析或角色扮演场景。

它能够在单个聊天界面中与多个AI助手进行动态对话。您可以:

定义多个独特的AI智能体
为每个智能体配置自己的名称、系统指令和LLM模型(通过OpenRouter)
使用@智能体名称提及与特定智能体交互
如果没有提及特定智能体,所有智能体都会响应(按随机顺序)
在多个回合中维护对话历史记录

它设计用于灵活性和可扩展性,允许您轻松添加或修改智能体,无需复杂的工作流重构。

主要特性
多智能体交互:同时与多个不同的AI个性聊天
个体智能体配置:为每个智能体自定义名称、系统提示和LLM
OpenRouter集成:访问与OpenRouter兼容的各种LLM
基于提及的触发:使用@智能体名称将消息定向到特定智能体
全智能体回退:如果未使用提及,随机调用所有定义的智能体
可扩展设置:智能体配置集中在单个代码节点中(作为JSON)
对话记忆:在会话中记住之前的交互

如何设置
配置设置(代码节点):
打开定义全局设置代码节点:编辑JSON以设置用户详细信息(名称、位置、备注)并添加所有智能体应遵循的任何系统消息指令
打开定义智能体设置代码节点:编辑JSON以定义您的智能体。根据需要添加或删除智能体对象。对于每个智能体,指定:
“name”: 智能体的唯一名称(用于@提及)
“model”: OpenRouter模型标识符(例如”openai/gpt-4o”、”anthropic/claude-3.7-sonnet”)
“systemMessage”: 此智能体的特定指令或角色
添加OpenRouter凭据:
定位AI智能体节点
单击通过语言模型输入连接在其下方的OpenRouter聊天模型节点
在’OpenRouter API凭据’字段中,选择或创建您的OpenRouter API凭据

如何使用
使用聊天触发器输入开始对话
要寻址特定智能体,在消息中包含@智能体名称。智能体将按提及顺序依次响应
示例:”@Gemma @Claude,请继续计数:1″将首先触发Gemma,然后是Claude
如果您的消息不包含@提及,所有在定义智能体设置中定义的智能体将以随机顺序响应
示例:”您对AI的未来有何看法?”将触发Chad、Claude和Gemma(基于您的默认设置)以随机序列
工作流将收集所有触发智能体的响应,并将其作为单个格式化消息返回

工作原理(技术细节)
设置节点:定义全局设置和定义智能体设置加载您的配置
提及提取:提取提及代码节点解析来自当聊天消息接收触发器的用户输入(chatInput)。它查找与定义智能体设置中定义名称匹配的@智能体名称模式
智能体选择:
如果找到提及,它会按提及顺序创建相应智能体配置的列表
如果未找到提及,它会创建所有定义智能体配置的列表并随机打乱它们
循环:循环遍历项目节点遍历选定的智能体列表
动态智能体执行:在循环内部:
如果节点(首次循环?)检查是否是第一个智能体响应。如果是(真路径 -> 设置用户消息作为输入),它将原始用户消息传递给智能体。如果不是(假路径 -> 设置最后助手消息作为输入),它将前一个智能体的格式化输出(lastAssistantMessage)传递给下一个智能体,创建顺序链
AI智能体节点接收输入消息。其系统消息和连接的OpenRouter聊天模型节点中的模型使用引用循环中当前智能体数据的表达式动态填充({{ $(‘Loop Over Items’).item.json.* }})
简单记忆节点向AI智能体提供对话历史记录
智能体的响应在设置最后助手消息节点中格式化(例如,**智能体名称**:\n\n响应)
响应聚合:循环完成后,组合和格式化响应代码节点收集所有lastAssistantMessage输出,并将它们连接成单个文本块,用水平规则(—)分隔,准备发送回用户

优势
可扩展性和灵活性:无需复杂的分支逻辑,添加、删除或修改智能体只需要在定义智能体设置节点中编辑简单的JSON,使设置和维护显著更容易,特别是对于管理多个助手的用户
模型选择:通过OpenRouter为每个智能体的特定任务或角色使用最佳模型
集中配置:保持智能体设置整洁且易于管理

限制
顺序响应:智能体按提及顺序(或随机)依次响应,而不是并行响应
无直接智能体到智能体交互(在一个回合内):智能体在处理单个用户消息期间不能直接调用或回复彼此。智能体B看到智能体A的响应只是因为工作流在下一个循环迭代中将其作为输入传递
延迟输出:用户只有在所有触发智能体完成生成后才会收到组合响应

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。