用途:在 n8n 中构建或编辑 LangChain 系列 AI 节点(AI Agent、LLM Chain、Text Classifier 等)时的设计指南。
节点选型:需要多轮推理、调用工具或记忆时用 AI Agent(.agent);一次性文本进文本出用 Basic LLM Chain(.chainLlm);自然语言分流用 Text Classifier(.textClassifier,单节点多输出);字段抽取用 Information Extractor;正/中/负用 Sentiment Analysis;长文压缩用 Summarization Chain。图片、音频、视频生成不要包进 Agent,直接用提供方原生单次调用节点。
子节点模式:Agent 主输入为提示或用户消息,另有 model(ai_languageModel,必需)、memory(ai_memory)、tools(ai_tool)、outputParser(ai_outputParser)四个槽位。连接方向为子节点指向 Agent,JSON 连接写在子节点侧;多个工具都连到同一个 ai_tool index 0。最终答案在 $json.output。
要点:工具名称与描述即提示的一部分,需按 API 设计;结构化输出用 outputParserStructured 并配 autoFix 与可编码的修复模型;每工具用法写进工具描述而非系统提示;多步逻辑优先用 .toolWorkflow;有副作用的工具加人工审核节点(如 slackHitlTool);调高 options.maxIterations;系统提示中用 {{ $now }} 放当前日期。工具类型可选原生工具节点、.toolWorkflow、.toolHttpRequest、.mcpClientTool、.toolCode。参数由 Agent 决定时用 $fromAI('paramName', '描述', 'string'),仅传 JSON,不能携带二进制,身份与权限类参数应确定性传入。
记忆:memoryBufferWindow 默认 contextWindowLength 为 5,过低;需外部读取时用 memoryPostgresChat 等;sessionKey 需稳定,不可硬编码 'default',也不要交给 $fromAI。
边界:模型可通过 passthroughBinaryImages 看图,但工具不能接收二进制;可先把上传预存到存储,把键注入系统提示,由工具以字符串参数取回。聊天机器人必须过滤机器人自身用户 ID 以防自触发循环。
持久化 Agent:与工作流内的 AI Agent 节点不同,是由 n8n 存储与版本化的独立助手记录,通过 n8n_manage_agents 管理。需配置 N8N_MCP_ACCESS_TOKEN 并使用 n8n 2.34+ 且启用 agents 模块,且每个操作都需要该令牌。构建顺序为 reference、discover_assets(需 projectId 与 kind)、create、mutate(每次一个资源并携带最新 hash;n8n 返回 configHash,需作为 args.baseConfigHash 回传)、validate、publish(仅在用户明确要求时)、call(真实执行;approvals 不得代用户批准)。字段名接近错误会返回 INVALID_ARGS,hash 过期返回 STALE_CONFIG。更多细节暂未提供。