在 n8n 中构建你的第一个 AI Agent:端到端的线索分诊工作流
中级11 分钟阅读自动化

在 n8n 中构建你的第一个 AI Agent:端到端的线索分诊工作流

一套基于官方文档的n8n潜在客户分流设计:验证输入、限制智能体可用工具、验证结构化输出、以原子方式保存提案,并把所有直接影响客户的操作放在审批之后。

您应该能够做到的事情

AI智能体是一种允许模型从明确提供的工具中作出选择的工作流。真正重要的是定义数据结构、确定性规则、安全工具与审核关卡,而不是尽可能提高自主性。

仅在此浏览器中保存。
本文内容

n8n的AI Agent节点允许模型在已配置的工具中作出选择。这种灵活性会增加非确定性和故障面,因此只有在更简单的确定性路由不足时,才应使用智能体。

本文介绍一套潜在客户分流设计:接收潜在客户信息、检索获准使用的背景资料、提出评分和回复草稿、验证结果,再转入人工审核。它不是可直接导入的工作流,也不是已经取得的运行结果;下文的验收测试说明了它在端到端可用前还需完成哪些工作。

本文假设你已安装n8n(在服务器上自托管或使用n8n Cloud),并拥有可用的Claude或OpenAI API密钥。如果你刚开始接触n8n,请先完成其基础教程。

该设计也遵循OWASP关于过度自主权的警告:尽量缩小工具权限和自主范围,并由工作流强制审批会产生后果的操作。如果潜在客户数据来自第三方或将用于主动联系,在导入数据或发起联系之前,应核实数据来源、告知义务、合法依据、拒绝联系名单和渠道规则;欧盟委员会说明,从第三方取得的数据并不能自动用于营销。

不要让第一个版本自动向真实潜在客户发送回复。在你具备日志、幂等性、评分阈值,并审核过足够多次运行、确认工作流能够应对混乱输入之前,请将草稿交由人工审核。

我们要构建什么

工作流如下:

  1. 新的潜在客户通过webhook进入(可能来自表单、活动或CRM等)。
  2. 智能体使用网页搜索补充该客户的公司信息。
  3. 智能体从三个维度为客户评分:匹配度、意向和紧迫度。
  4. 智能体起草个性化回复。
  5. 根据评分,智能体会:
    • 对置信度高且匹配度高的潜在客户,把回复和CRM提案加入审批队列;
    • 对中等评分的潜在客户起草回复供人工审核,并发送Slack通知;
    • 或者对匹配度低的潜在客户仅做记录和通知,不予回复。

这套模式的部分做法可以用于后果较轻的分流任务,但每个新领域都需要重新分析数据、错误、公平性和专业审查要求。不要把销售评分设计直接用于雇佣、医疗、法律、金融、儿童安全或建筑决策。

本文链接的配套JSON schema定义了接收数据的载荷。请先用它验证webhook输入,再让AI Agent节点接收数据。

添加智能体前置验证关卡

webhook不应将任意表单数据直接传给智能体。请在触发器与智能体之间添加验证步骤:

字段规则失败时的处理方式
email必填;去除首尾空格并验证,谨慎规范化域名;除非所属提供商定义了更严格的规范化,否则保留本地部分拒绝并通知负责人
message必填、非空、限制最大长度拒绝或转交人工审核
source必填枚举,例如website-form、event、crm拒绝未知来源
timestamp必填ISO时间戳,或由webhook生成使用接收时间并添加标记
lead_id必填的稳定ID,或生成的幂等键处理前去重

这个关卡可以防止格式错误的提交、webhook重复重试,以及藏在表单字段中的提示词注入内容直接进入后续流程。智能体仍然可以读取消息,但应由工作流判断记录是否符合处理条件。

思维模型:智能体 = LLM + 工具 + 循环

开始构建前,先了解这个概念。

2026年所说的“智能体”,是指能够使用工具的LLM。模型不只生成一次回复,还会决定调用哪些操作(称为“工具”)。每次工具返回结果后,模型会看到结果并决定下一步做什么——调用另一个工具、执行另一个步骤,或给出最终答案。

n8n的AI Agent节点实现了这个循环。你需要为模型提供:

  • 系统提示词(对其行为的指令与语气)。
  • 用户提示词(本次运行的输入)。
  • 一组工具(模型可以调用的其他n8n节点或子工作流)。

模型决定调用哪些工具、按什么顺序调用,以及使用什么参数。每个工具返回后,模型会重新判断。当模型认为任务已经完成时,就会返回最终答案。

这与静态工作流存在根本区别,因为步骤的顺序由模型而不是由你决定。设计智能体的关键在于:

  1. 为模型提供合适的工具(不能太少,也不能太多)。
  2. 编写限定其行为范围的系统提示词。
  3. 添加护栏,防止智能体偏离正轨。
  4. 设计输出,让下游节点能够可靠使用。

第1步:触发器

打开n8n并创建一个新工作流。触发器配置如下:

  • 节点: Webhook
  • HTTP方法: POST
  • 响应模式: “When last node finishes”
  • 路径: 例如/lead-triage

这个webhook将接收潜在客户提交的数据。n8n会提供一个URL,你可以将其配置为表单提交或CRM出站webhook的目标地址。

测试时,先保存一次工作流,让webhook URL生效,并准备一个示例payload。典型的潜在客户webhook payload可能如下:

{
  "name": "Anna Lehtinen",
  "email": "anna@somecompany.fi",
  "company": "Some Company OÜ",
  "role": "Head of Marketing",
  "message": "Interested in your AI consulting services. We have a team of 10 and need help with prompt engineering training.",
  "source": "website-form",
  "timestamp": "2026-05-15T14:30:00Z"
}

点击“Test step”并提交测试payload,即可查看数据流入工作流。

第2步:AI Agent节点

在webhook后添加一个AI Agent节点。配置如下:

  • Agent / Tools Agent: 当前n8n AI Agent节点(1.82及以上版本)不再显示Agent Type下拉框,而是以Tools Agent运行。连接一个聊天模型和下文的工具。在仍显示Agent Type的旧模板中,选择Tools Agent;Conversational等旧类型已被移除。
  • 聊天模型: Claude(Anthropic)或OpenAI。先使用提供商当前的通用模型;只有在评估结果证明值得时,才改用更快或更强的层级。推理模式会为每一步智能体循环增加延迟和成本。
  • 记忆: 对无状态分流设为None(每个潜在客户互相独立)。对于多轮智能体对话,请使用记忆节点。
  • 系统消息: 智能体的行为在这里定义。使用下面的模板。
  • 用户消息: 从webhook中提取潜在客户数据。

系统消息:

你是[Your Company Name]的潜在客户分流智能体,该公司是一家AI咨询公司。

你的任务是处理收到的潜在客户,并生成结构化的分流决策。

对于每位潜在客户,你必须:

1. 使用`enrich_lead`工具收集该公司的背景信息。
2. 从三个维度为潜在客户评分:
   - 匹配度:潜在客户是否符合我们的理想客户画像?
     - 从事B2B、制造业或专业服务,规模为10-200人的公司。
     - 职位属于市场营销、运营、工程管理层或高管。
   - 意向:这次问询有多认真?
     - “只是好奇”与“正在积极评估”与“准备购买”。
   - 紧迫度:是否明确或暗示了时间要求?
3. 使用`score_lead`工具记录评分。
4. 使用`draft_response`工具生成个性化回复。
5. 使用`propose_route`工具,并从以下选项中选择一个:"review_priority"、"human_review"、"log_only"。

路由规则(按此顺序判断,首个匹配项生效):
- 如果匹配度 >= 7/10且意向 >= 7/10,则选择"review_priority"。回复会得到优先人工审核。
- 如果匹配度 >= 5/10或意向 >= 5/10,则选择"human_review"。发送前将由人工检查。
- 如果匹配度 < 5/10且意向 < 5/10,则选择"log_only"。我们只做跟踪,然后继续处理其他工作。

切勿编造信息。如果某项信息不明确,请在评分理由中标记[unclear]。

最后必须返回一个JSON对象:
{
  "fit_score": <1-10>,
  "intent_score": <1-10>,
  "urgency_score": <1-10>,
  "reasoning": "<2-3 sentences>",
  "drafted_response": "<the email body>",
  "routing": "<review_priority|human_review|log_only>"
}

请留意其中的结构。我们提供了:

  • 清晰的任务说明。
  • 明确的流程(第1–5步)。
  • 明确的评分标准。
  • 明确的路由逻辑。
  • 必须遵守的输出格式。

智能体不一定每次都能完美遵循。但系统消息越具体,它每次执行相同流程结构的可靠性就越高。

仅有JSON对象还不够。请在AI Agent节点后添加验证步骤;如果缺少评分、路由值不在允许的枚举范围内,或回复草稿为空,则拒绝该次运行。

第3步:工具

智能体需要可以调用的工具。在n8n中,工具在AI Agent节点下配置,可以是:

  • 子工作流。
  • HTTP请求。
  • 内置工具节点。

下面为智能体构建四个工具。

工具1:enrich_lead

创建一个子工作流:

  1. 接收公司名称和电子邮箱域名作为输入。
  2. 使用其条款允许此用途的已批准搜索或公司数据API。
  3. 返回带有规范来源URL和检索日期的结构化陈述;无法确认的规模或身份应保持未知。

工具描述(智能体会读取它,以决定何时调用该工具):

检索获准使用的潜在客户公司公开背景。输入:公司名称和电子邮箱域名。输出:带来源URL和检索日期的已核验陈述,以及歧义或错误。没有来源时,不要推断身份、规模或新闻。

工具2:score_lead

这是一个确定性验证工具:

  • 接收拟议评分,检查类型、范围、必填理由和允许的标签。
  • 返回验证错误或规范化的评分对象。
  • 不持有数据库、表格、CRM、电子邮件或其他写入凭据。

只有智能体的最终输出通过同一套服务端schema后,才将其保存。

工具描述如下:

验证拟议的潜在客户评分,但不进行持久化。输入:fit_score、intent_score、urgency_score和rationale。输出:{valid, errors, normalized_scores}。本工具不能写入记录或发送消息。

工具3:draft_response

创建一个子工作流,接收潜在客户背景信息和评分,并生成个性化电子邮件草稿。这个子工作流会在内部调用另一个AI节点,并使用专门的起草提示词:

为B2B问询起草个性化回复。输入:潜在客户的原始消息、公司信息补充摘要,以及匹配度/意向/紧迫度评分。

语气:热情、直接,不使用空洞的企业套话。回应客户的具体需求。仅在信息补充中的陈述有来源且相关时引用,否则省略。最后提出一个供人工审核的下一步。

长度:80–120个英文单词。

工具描述如下:

为潜在客户起草个性化电子邮件回复。输入:潜在客户消息、信息补充摘要和评分。输出:电子邮件草稿。

工具4:propose_route

该工具记录三种拟议路由之一;它不会发送电子邮件或写入CRM:

  • review_priority:把草稿放入优先人工审核队列。
  • human_review:把草稿放入标准人工审核队列。
  • log_only:记录分流结果,不准备出站操作。

schema验证后的确定性Switch节点会强制执行允许的枚举,并把review_priority和human_review送入审批队列。只有一个独立且受审批约束的子工作流持有面向客户的写入能力。

把该工具实现为无副作用的子工作流,并让它返回提案对象。Agent节点结束后,由确定性schema验证节点和Switch节点决定哪个分支可以持久化提案。没有独立审批工作流时,任何分支都不得抵达发送节点。

工具描述如下:

提出路由。输入:路由决策(review_priority、human_review或log_only)、评分、理由与草稿。输出:供确定性schema验证的内存提案对象。本工具不能持久化、发送电子邮件或更新CRM。

第4步:测试智能体

完成智能体配置并连接四个工具后,使用示例payload进行测试。

你应该会在n8n的执行视图中看到:

  1. Webhook接收payload。
  2. AI Agent启动。
  3. 智能体调用enrich_lead——你可以看到工具执行并返回结果。
  4. 智能体选择下一步(能否看到中间轨迹取决于模型和设置)。
  5. 智能体调用score_lead。
  6. 智能体调用draft_response。
  7. 智能体调用propose_route,并传入三个路由选项之一。
  8. 智能体返回最终JSON。

如果出现问题,n8n的调试面板会显示智能体与工具之间的消息。最常见的问题包括:

  • 工具描述不够具体。 模型无法推断工具适用的时机。请让描述更加具体。
  • 工具输入/输出schema不匹配。 智能体无法传入正确的参数。请明确说明schema。
  • 智能体无限循环。 它不断调用工具,无法结束。请设置最大迭代次数限制,并重新检查系统提示词。

第5步:添加护栏

未经防护的智能体不适合用于生产环境。信任它处理真实流量前,需要添加以下六项护栏:

1. 最大迭代次数。 根据成功评估案例所需的最少步数设置有限上限。测试触及上限时应转交人工,且不能留下未完成的外部操作。

2. 每份拟议回复的审批关卡。 review_priority只改变队列顺序,并不授权发送。面向客户的沟通应始终在经过身份验证的人工审批后才能发出,除非另有正式批准的政策;也不能仅凭系统已经运行了几周,就推断它是安全的。

3. 出站操作白名单。 配置CRM工具和电子邮件工具,使其只能操作符合预期模式的记录。这样可防止智能体将电子邮件发到错误地址,或为并非潜在客户的对象创建记录。

4. 日志记录。 为每次运行记录获批准的元数据:稳定的运行/客户引用、工作流和模型版本、工具名称与结果、验证结果、路由、审批人、重试和错误。潜在客户原始输入、信息补充结果、草稿和工具参数包含个人或机密数据,需要单独决定目的、脱敏、访问与保留期限。

5. 成本限制。 设置有限的智能体迭代次数和工作流超时,并在模型提供商处配置支出/速率提醒或上限。n8n套餐限制记录在执行与功能条款中;不要假定n8n Cloud会为自带的提供商密钥强制每日预算。跟踪提供商用量,并测试停止开关。

6. 决策归属。 模型可以建议review_priority、human_review或log_only,但最终规则应由工作流执行。将路由枚举、评分阈值和审批要求放在提示词之外,使其可测试、可见。

第6步:生产加固

下面这些模式能将可运行的原型转变为值得信赖的系统:

幂等性。 确保同一个潜在客户被处理两次时(例如webhook重试或人工重新运行),不会创建重复记录或消息。先查询再写入的检查仍可能出现竞态:应在数据库中以原子方式占用唯一键,并让所有下游写入使用同一个键。遵循原子占用、租约、审批令牌与outbox设计。

错误处理。 为每个工具调用添加错误处理。如果信息补充不可用或公司身份存在歧义,工作流应标记缺失数据并转交人工审核;它不能为了完成草稿而编造个性化事实。

可观测性。 跟踪关键指标:平均运行时间、工具调用频率,以及分配到各路径的百分比。异常情况应触发调查。

试点审核。 在经同意且边界明确的试点中,对照客户原始信息审核每次运行。试点规模应覆盖来源类型、语言、缺失字段、公司歧义、注入尝试和优先级类别。跟踪错误的信息补充、评分、路由、截止时间和草稿。固定的50条记录不能证明某个可靠性水平。

可强制执行的停止开关。 在模型之外约束执行和每个副作用分发器,使获授权的操作员无需重新部署即可暂停新启动或恢复执行的运行。测试禁用状态能阻止队列中及执行中的发送;仅由智能体“检查”的提示词指令或变量并不是停止开关。

最重要的设计决策:为智能体提供哪些工具

决定智能体质量的最大因素是工具集。常见的失败模式有两种:

工具太少。 智能体无法完成任务。它会尝试假装自己具备缺失的能力,通常导致编造内容。

工具太多。 智能体会感到困惑、选错工具,或浪费迭代次数进行探索,质量随之下降。

一条实用原则是:从最小可行工具集开始,只有在智能体明确表现出需要时才添加工具。

对于潜在客户分流,我们选择的四个工具基本合适。你还可以添加:

  • “lookup_existing_customer”工具,用于检查潜在客户是否已经是现有客户。
  • “schedule_meeting”工具,用于与你的日历集成。
  • “translate”工具,用于处理多种语言的潜在客户信息。

但每增加一个新工具,智能体就多一个需要做出的决策。每个工具都应该真正证明自己的价值。

可推广的模式

相同的控制思路可能有助于其他分流工作流,但下列标签与操作未经领域审查不可直接移植:

支持工单分流。 检索获准使用的客户历史并提出类别/优先级;账户、安全、退款、权益与客户消息等操作仍置于政策和人工关卡之后。

雇佣工作流。 不要把潜在客户评分改造成面试/拒绝自动化。雇佣决策可能产生法律与歧视风险,需要合格的HR/法律审查、无障碍控制、偏差评估、向员工/申请人保持透明,以及有实质意义的人工决策。

媒体问询处理。 将信息补充替换为“lookup_publication”,将路由替换为按优先级回复。

客户反馈转交。 将信息补充替换为情感分析和产品分类。

采购申请。 将信息补充替换为供应商查询,将评分替换为政策合规性,将路由替换为审批流程。

一种可以复用于后果较轻任务的流程是:验证入站事件 → 检索最低限度且获准使用的背景 → 请求结构化提案 → 确定性验证 → 按既定规则并由获授权人员决策 → 通过幂等且受控的工具执行。模型只提出建议,不掌握会产生后果的决定权。

何时不应使用智能体

有些工作流并不能从智能体中受益。如果逻辑完全确定——“始终先执行A,再执行B,然后执行C”——不使用智能体的常规n8n工作流会更快、更便宜,也更可靠。

在以下情况下,智能体才能体现价值:

  • 可能采用的路径很多。
  • 正确的路径取决于判断,而不是严格规则。
  • 某些决策需要综合多个来源的信息。

如果你的决策树只包含几条if-then-else语句,直接使用if-then-else节点即可。把智能体留给if-then-else变得难以管理的情况。

在实际工作中构建一次

n8n中的AI智能体是一种允许模型在已配置工具中作出选择的工作流。生产设计会约束这种选择,并让可问责的人与确定性政策掌控会产生后果的决定。

只有通过重复交付测试、无效输出测试、提供商超时测试、审批拒绝测试,并确认发送节点在无审批时不可达,这套设计才算完整。应在自己的实例上测量构建时间、延迟、纠正率与成本;本文不承诺设置时长或生产结果。

先用合成或经同意的非生产记录构建并测试。可以复用控制模式——用途明确且范围受限的工具、schema、幂等性、停止规则与审核关卡——但每个新工作流都要重新做领域和风险分析。

继续阅读

通过下一篇文章继续沿着相同的学习路径进行学习。