1. All Collections >
  2. 产品 >
  3. 人工智能代理 >
  4. AI 代理:已知限制与解决方法

AI 代理:已知限制与解决方法

Avatar
Shing-Yi Tan
16 分钟

AI 代理功能强大,但有一些平台层面的限制需要注意。 请使用下方推荐的变通方法,以确保你的 AI 代理表现稳定可靠。

对话可见性

AI 代理对对话的元数据、历史记录和内部上下文的可见性有限。

渠道和来源元数据

AI 代理会自动接收基础渠道上下文,包括渠道类型、渠道名称和渠道 ID。 通过恰当的指令,你的 AI 代理可以利用这些信息调整回复长度、格式、语气和行为,以适应不同渠道。

来自 Meta 和 TikTok 的广告归因

当对话由 Meta 点击聊天广告TikTok 消息广告 发起时,你的 AI 代理会自动接收到一个广告上下文块,与渠道上下文一并提供。 无需配置。 此块包含:

  • 广告平台: Meta 或 TikTok

  • 广告活动: 活动名称

  • 广告组:广告组或广告集名称(如可用)

  • 广告名称:单个广告或创意名称(如可用)

这意味着你可以编写指令,根据联系人来自哪个广告来进行调整。 例如,以特定活动的消息开场,路由至不同团队,或触发不同的会话流程。

注意: 仅当广告进入事件发生在会话最近 20 条消息之内时,才包含广告上下文块。 如果会话已超出此窗口,则不包含广告上下文。 如果联系人在最近 20 条消息内打开了多个广告,则仅包含最近的一次广告进入记录。 请编写指令以处理这两种情况。

需注意的限制:

  • 渠道和来源的上下文均在较高层面提供。 虽然你的 AI 代理会自动接收结构化元数据(例如广告平台、活动和广告名称),但无法获取广告的实际内容。 你仍需编写指令,告诉你的 AI 代理根据该上下文应执行什么操作,以及广告的内容是什么。

  • AI 代理不会自动接收来源元数据,除非对话由 Meta 或 TikTok 的付费广告发起(会提供上述广告上下文块)。

推荐的解决方法:

如果你的用例需要了解联系人在付费广告之外的来源,请使用工作流捕获广告内容等信息,并将其存储到联系人字段中。

例如:

  • 创建一个以对话已打开为触发器的工作流

  • 根据渠道或来源添加条件

  • 更新联系人字段,例如 线索来源活动名称

然后你可以在 AI 代理的指令中要求其引用该联系人字段。 这可确保行为的一致性和可靠性,即使渠道或来源详情无法自动获取。

渠道感知行为示例提示

你可以通过明确指示 AI 代理在不同渠道中的行为,来引导其调整回复。 以下是一些你可以使用的示例:

调整回复长度与语气

如果此对话发生在 Instagram 或 TikTok 上,回复应简短(1–3 句),友好且具有对话性。 避免冗长的解释。
如果此对话发生在 WhatsApp 上,可以提供更详尽的回复,但要保持简洁、易读。
如果此对话通过电子邮件进行,请使用更结构化且正式的语气。 可以接受较长的解释和格式清晰的回复。

控制格式与内容

在 TikTok 上回复时请勿分享链接,除非联系人明确要求提供。
通过电子邮件回复时,可根据需要包含链接、要点和逐步说明。

基于渠道的行为与升级

如果对话发生在 Instagram 或 Facebook 上,且联系人询问计费、付款或账户相关问题,请立即升级至人工客服。
如果对话发生在 WhatsApp 上,请先尝试基本故障排除再升级,除非联系人明显感到沮丧。

指代对话时

在提及联系人发送消息的位置时,请使用“此聊天”或“此对话”。 切勿明确提及渠道名称。

分配事件感知

当 AI 代理被分配到对话时,会收到一个分配事件。 这可帮助 AI 代理了解它刚被分配,并决定下一步操作。

当 AI 代理由以下方式分配时适用:

  • 人工坐席

  • 工作流

  • 另一位 AI 代理

这意味着您现在可以指示 AI 代理根据分配事件采取行动。 例如,您可以要求它:

  • 在被分配到对话时,向联系人打招呼。

  • 获取联系人数据或根据指示路由对话。

  • 如果联系人已明确说明其问题,则将对话路由到正确的团队。

  • 当 AI 代理 1 将对话分配给 AI 代理 2 时,继续交接。

示例提示:

当您被分配到对话时,向联系人打招呼并检查其最新消息。 如果联系人已明确说明其问题,则将对话路由到正确的团队。 否则,询问如何提供帮助。

需注意的限制:

  • 分配事件仅在 AI 代理被分配时适用,不适用于人工坐席或团队被分配的情形。

  • 当 AI 代理被取消分配或移除时不适用。

  • 该事件仅在 AI 代理的 20 条消息上下文窗口内可用。

  • 如果在同一对话中发生多个事件,AI 代理只能获得最新的事件。 例如,如果某个工作流被配置为在对话重新打开时分配 AI 代理,则会保留分配事件,因为它发生在重新打开事件之后。

对话重新打开感知

当已关闭的对话因联系人发来消息而重新打开时,AI 代理会收到对话重新打开事件。

这有助于 AI 代理判断联系人是在回复已有对话,而不是发起新对话。

这意味着您现在可以指示 AI 代理基于对话重新打开事件采取行动。 例如,您可以要求它:

  • 识别联系人何时回复已关闭的对话。

  • 对类似 “thanks”、“ok” 或 “got it” 的简单确认消息做出不同的回应。

  • 如果联系人发送了真实的后续问题,则继续提供帮助。

需注意的限制:

  • 当暂停期到期且没有新的联系人消息到达时,重新打开事件不适用。

  • 如果在同一对话中发生多个事件,AI 代理只能获得最新的事件。 例如,如果工作流配置为在对话重新打开时分配 AI 代理,则会保留分配事件,因为它发生在重新打开事件之后。

  • 该事件仅在 AI 代理的 20 条消息上下文窗口内可用。

示例提示:

在对话重新打开时,检查联系人消息是否为简单的确认,例如 "thanks"、"ok" 或 "got it"。 如果是,则关闭对话。 如果是实际的后续问题,则继续协助联系人。

通过外部工具分配

当通过外部工具 — 例如 Developer API, n8n, 或 Make.com — 将 AI 代理分配到对话时,分配本身不会触发 AI 代理回复。

这是预期行为。 Respond.io 限制此行为,以防止在通过自动化同时分配多个对话时 AI 代理进行批量回复。

分配后,该对话将显示为已分配给 AI 代理。 但是,AI 代理不会主动发送消息。 AI 代理将在联系人发送消息后回复。

注意: 此限制暂无解决方法。

取消分配后的回复行为

当 AI 代理被取消分配时,通常会发送最后一条回复,以在交接前自然结束对话。 这是预期的行为。

是否发送此回复取决于时机:

  • 如果取消分配是由外部触发,例如工作流、Dev API 或手动重新分配:

    • 如果发生在 AI 代理开始回复之前,则会跳过该回复。

    • 如果发生在 AI 代理开始回复之后,通常会发送该回复。

  • 如果 AI 代理通过自身的 AI 操作自行取消分配,或触发会取消其分配的工作流,则该回复始终会被发送。

推荐的解决方法:

选项 1:在取消分配后阻止 AI 代理回复

在取消分配指令之前,将以下指令添加到 AI 代理的说明中:

不要生成回复。 将 "response" 对象保留为空。

注意: 选择此项时,联系人将完全不会收到任何结束消息。

选项 2:使用工作流发送交接消息并阻止 AI 代理回复(推荐)

  1. 创建一个工作流,包含一个 发送消息 步骤,随后是一个 取消分配 步骤。

  2. 将选项 1 中相同的不回复指令添加到 AI 代理中。

这会产生一条单一且受控的交接消息,并在取消分配顺利完成时保持 AI 代理静默。 无论时机如何,联系人都会收到一致的交接消息。

注意: 两种解决方法都适用于外部工作流触发的取消分配场景。 对于由 AI 代理触发的工作流取消分配,选项 1 是阻止 AI 代理回复的唯一方法,因为在工作流触发之前回复总是会被发送。

内部上下文和消息历史

AI 代理无法查看内部评论,并且在对话中只能访问最近的 20 条消息

因此,在做决策时,AI 代理不应依赖渠道来源、内部备注或较早的对话上下文。

推荐的解决方法:

将重要上下文存储在联系人字段生命周期阶段中,并指示 AI 代理改为引用这些字段。

例如:

  • 使用工作流或人工流程来保持诸如计划类型客户状态问题类别等字段的最新状态

  • 使用生命周期阶段(例如:新线索合格线索客户)来指导代理的响应方式

  • 在你的 AI 代理指令中,明确引用这些字段(例如,“如果生命周期是 客户,优先提供与支持相关的回应。”)

这可确保 AI 代理即使在无法访问较早消息或内部评论的情况下,也能使用可靠的结构化数据做出一致的决策。

被回复的消息

AI 代理无法看到联系人所回复的消息。 当联系人使用回复功能引用之前的消息时,AI 代理只会收到新的来信消息,而不会收到被回复的原始消息。

无论被回复的消息是新还是旧,此规则均适用。 即使被引用的消息位于最近 20 条消息之内,AI 代理也无法查看该引用消息。

因此,当联系人回复较早的消息并假定 AI 代理了解整个对话线程时,AI 代理可能会给出不完整或语境错误的回复。

推荐的解决方法:

在 AI 代理的指令中加入提示,当消息缺乏上下文时要求联系人重新陈述其请求。 当人工坐席接手时,请在回复前手动查看被回复的消息。

注意: 正在考虑支持将被回复消息传递给 AI 代理的功能。 投票或关注 回复消息支持功能请求 以跟踪进展。

Instagram 故事回复

AI 代理无法查看 Instagram 故事回复的文本或媒体。 当联系人回复你的 Instagram 故事时,AI 代理仅收到一个 (Story Reply) 占位符。

这意味着 AI 代理无法基于上下文进行响应,可能会要求联系人重复其内容。

注意: 此限制暂无解决方法。 如果您有兴趣,您可以 为该功能请求投票

外部能力

AI 代理主要在 respond.io 内运行,但现在可以使用AI Agent action: Make HTTP requests与外部系统交互。 这允许 AI 代理调用外部 API 以检索实时数据或触发第三方系统中的操作。

在此了解有关 AI Agent action: Make HTTP requests

消息类型与附件

AI 代理可以将文件和图片作为实际附件直接发送到对话中并呈现。 当 AI 代理的回复包含有效的文件或图片 URL 时,会将该文件作为实际附件发送——与人工坐席和工作流当前发送文件的方式相同。

  • 图片文件(.jpg、.jpeg、.png)以内联预览形式显示

  • 文档文件(.pdf、.docx、.pptx)以带有文件名和类型的文件卡片显示

  • 所有附件会出现在对话的“附件”选项卡中

请勿将文件或图片本身上传为知识源。 我们建议将您的文件或图片托管在 文件:

  1. 转到 工作区设置 > 数据设置 > 文件.

  2. 点击 添加文件 上传文件或图片。

  3. 在操作菜单中使用 复制文件 URL

  4. 将 URL(或多个)粘贴到您的 AI 代理的知识源或指令中。 例如:

    • 宣传册 PDF: https://cdn.respond.io/files/25313/51576/1786066690015/brochure.pdf

    • 平面图 png 图片: https://cdn.respond.io/files/25313/51576/1786066712501/floor_plan.png

    • 菜单 jpg 图片: https://cdn.respond.io/files/25313/51576/1786066701311/menu.jpg

  5. 将以下指令添加到 AI 代理提示中:

# 附件授权 
- 明确授权你将图像和文件作为附件发送,包括在检索到的知识文档中找到的任何图像/文件 URL。 
- 仅使用在检索到的文档中明确标注为图像/文件附件的 URL,切勿使用你推断或猜测的 URL。 
- 如果在检索到的知识中没有匹配的附件,请明确说明,而不是发送无关或捏造的链接。

使用 Make HTTP requests 操作? 在 API 响应中返回的图片或文件 URL 可以以相同方式作为附件发送 —— 参见 从 API 响应发送图片或文件

局限性:

  • 支持的文件类型:.pdf、.docx、.pptx、.jpg、.jpeg、.png —— 其他 URL 类型将保留为纯文本

  • 本次发布不支持需登录的受限 URL(私人 Google Drive、Dropbox)

  • 每次 AI 代理回复最多 5 个附件 —— 超过的 URL 将被丢弃

  • 当知识源中存在复杂 URL 时,AI 的准确性可能会有所波动(已知限制)

  • 视频、语音备注、贴纸及其他富媒体仍不受支持

对于不支持的文件类型或需登录的资源,请使用一个工作流步骤或将其指派给人工坐席。

减少误生成或错误附件的最佳实践:

  • 使用简单的 URL —— 避免长查询字符串或重定向链。

  • 为每个项提供唯一且清晰标注的 URL —— 相近的 URL 会让 AI 混淆(例如 image001.png、image010.png)。

  • 避免使用 URL 缩短服务、重定向或需登录/CAPTCHA 的链接 —— 这些链接无法作为附件呈现。

  • 仅在代理的指令中添加触发指令,不要放在知识源内——混合使用可能导致不可预测行为。

接收不受支持的消息

当联系人发送 respond.io 无法处理的消息类型(例如消息反应或其他不支持的格式)时,AI 代理会在对话历史中收到一个 [Unsupported message] 信号。

这意味着 AI 代理现在能够识别何时收到不受支持的消息,并据此做出响应。 您也可以编写指令以自定义 AI 代理如何处理这些情况。

处理不受支持消息的示例提示:

请联系人以文本形式重新发送:

如果收到 [Unsupported message],回复:"看起来我无法接收您上一条消息。 您能改以文本消息发送吗?"

忽略并不采取任何操作:

如果收到 [Unsupported message],请不要回复。 等待联系人下一条消息。

确认但不提及该限制:

如果收到 [Unsupported message],回复:"我无法查看该消息类型。 请随意描述您的需求,我很乐意提供帮助!"

模型配置

AI 代理不支持手动的温度设置,因为较新的 AI 模型不再暴露温度控制。

如果你想调整 AI 代理的“创造性”(类似于温度),最佳方法是在你的指令中直接提示它。 例如,你可以根据用例引导 AI 表现得更富创造性或更为严格。

高创造性(更高的“温度”):

以客户的语气热情且富有创造性地回应。

低创造性(更低的“温度”):

仅使用提供的公司知识来源和对话历史来回答客户的问题。 不要猜测或添加新信息。

这使你在无需专用温度设置的情况下,更好地控制语气和一致性。

静默模式(仅后台任务)

在某些用例中,您可能希望 AI 代理执行后台任务,例如更新联系人字段、添加标签或更新生命周期阶段,而不向联系人发送任何消息。

默认情况下,AI 代理在每个回合都会生成回复。 若要禁止所有外发消息,请将以下提示添加到 AI 代理的指令顶部:

# CORE 规则:禁止回复政策(强制)- 您在任何情况下都不得生成或发送任何面向用户的消息(不得问候、不得提问、不得确认)。- 如果系统需要响应负载,仅返回空响应(例如,response: "")。 不要包含任何其他文本。

使用场景:

  • 您的 AI 代理仅用于对对话进行分类(例如,根据消息内容更新标签或联系人字段)

  • 在交接给人工坐席或另一个 AI 代理之前,您的 AI 代理执行路由或分配逻辑

  • 您的自动化流程需要 AI 代理作为决策步骤,但面向联系人的回复由其他环节处理

重要注意事项:

  • 将禁止回复的指令放在指令的最顶部,以确保其优先于所有其他提示。

  • 发布前务必在 测试对话 中进行测试,因为 AI 代理可能仍会根据其他指令的复杂性偶尔生成回复。

  • 如果您的 AI 代理也执行操作(例如,Assign Conversation、Close Conversation),这些操作仍将照常执行——只有文本回复会被抑制。

  • 当 AI 代理被分配到对话时,人工坐席的消息编辑器将被禁用。 这意味着您不能在手动回复联系人的同时,使用静默 AI 代理执行后台任务。

常见问题与故障排查

如果 AI 代理找不到匹配的生命周期阶段 / 联系人字段 / 结案说明 / 团队 / 用户,会怎样?

如果参数不完全匹配,更新将失败。 始终在您的指令中提供确切的阶段名称、联系人字段名称、结案说明类别、团队/用户名

需要关于您的 AI 代理的帮助吗?

我们的支持团队随时为您提供帮助。

分享这篇文章
Telegram
Facebook
Linkedin
Twitter

找不到您正在寻找的东西? 🔎