添加子代理

子代理是一种轻量级代理,存在于你主代理的背景下。 子智能体允许你将工具、指令和知识逻辑地归入更大的智能体内明确定义的子智能体。 它们非常适合响应单一意图或完成单一任务的单一用例。 本文将解释如何创建和管理子代理。

创建子代理

  1. 转到主代理的 “代理 ”页,然后选择“ 添加代理”。

  2. 选择“ 创建代理”。

    截图显示选择添加子代理选项

  3. 输入新代理的名称。

  4. 确定应何时使用代理。 默认情况下,代理会根据其说明响应用户或触发器。

    • 如果你想使用默认行为(代理人选择 - 基于描述),请输入代理的简要目的描述。
    • 否则,请在“ 何时使用” 下展开列表,然后选择所需的行为。 有关支持的行为的详细信息,请参阅 “确定何时应使用代理”。
  5. 输入您希望智能体在被调用时遵从的清晰指令。 若要在说明中引用工具、变量或添加 Power Fx 公式,请输入斜杠(/)并从显示的菜单中选择所需的选项。

    重要

    在说明中引用现有工具时,请确定主要代理应直接访问该工具,还是仅在指令中显式调用时才能访问该工具。 将工具的使用限制为显式指令引用有助于防止出现类似工具或代理时的混淆。 例如,如果你有“检查帐户余额”代理和类似的“获取帐户余额”工具,请限制仅由代理调用的工具以避免重叠。 若要将工具限制为仅在从另一个代理引用时可用,请清除允许代理在工具详细信息页上的“其他详细信息”部分中动态决定何时使用此工具属性。

  6. (可选)添加仅此子代理可以使用的知识和工具:

    • “知识 ”部分中,选择“ 添加 ”,然后以与向主代理 添加知识 时相同的方式继续作。
    • “工具 ”部分中,选择“ 添加 ”,并继续执行与向主代理 添加工具 时相同的方式。
  7. 如果您不希望此智能体被触发,关闭已启用。 稍后可以 激活子代理

  8. 选择“保存”

管理输入和输出

默认情况下,子代理在主代理调用时会接收到一个自然语言任务来完成。 然后,当它完成任务时,会返回执行过程中发生的事情的自然语言摘要。 在某些情况下,为智能体指定更明确的输入和/或输出值可能更为有利。

管理输入

  1. 通过在 代理 列表中选择子代理详情页面,导航到它。

  2. 请向下滚动到 输入 部分。

  3. 要添加输入,选择 + 添加输入。 定义显示 描述,使代理能够理解输入的目的,以便在调用该代理时为输入填入相关值。

  4. 选择 一个数据类型

  5. 可选地,你可以选择 “使此输入为必需”,这要求输入在调用代理之前必须有值。

  6. 选择“保存”

注释

你可以选择展开 高级 部分,并为输入配置其他设置,包括 “应提示用户 选择”。 如果启用了设置,代理会明确向终端用户请求输入值,如果在可用上下文中找不到。 查看更多关于其他输入设置的详细信息

管理输出列表

  1. 通过在 代理 列表中选择子代理详情页面,导航到它。

  2. 向下滚动到 输出 部分。

  3. 要查看当前输出列表,请在输出部分中展开高级部分。

  4. 要添加输出,请选择 + 添加输出。 定义显示 名称描述,使代理能够理解输出的目的,以便在返回调用代理时填充相关值。

  5. 选择 一个数据类型

  6. 选择“保存”

输出 部分,你也可以选择在子代理完成后立即向用户发送消息。 要发送消息,请更改 运行后 选项。

确定何时应使用代理

默认情况下,子代理会根据用户的描述响应用户查询。 你还可以配置子代理拦截其他事件并响应,具体内容为“ 何时使用?”

事件 / 活动 Description
收到消息 在接收到一种活动类型 message 时调用——这是最常见的活动类型。 当用户向代理键入或说出某些内容时收到。 默认情况下,代理将响应任何消息。 若要将代理响应限制为特定类型的消息,请使用“其他详细信息”下的“活动类型”列表。
出现自定义客户端事件 当收到event类型的活动时调用。 默认情况下,代理会响应任何事件。 若要将代理响应限制为特定事件,请使用“其他详细信息”下的“事件名称”属性。
出现活动 在收到任何类型的活动时调用。 若要将代理响应限制为特定类型的活动,请使用“其他详细信息”下的“活动类型”列表。
对话更新 当收到conversationUpdate类型的活动时调用。 例如,当用户加入对话时,Teams 会发送此类活动
它已被调用 当收到invoke类型的活动时调用。 最常从 Teams 频道接收-例如,当用户与 Teams 中的消息或搜索扩展交互时。
它已被重定向到 当代理被 明确调用时,会被调用。
用户处于非活动状态一段时间 当用户在配置时间内未与主代理交互时调用。 从“其他详细信息”下的“非活动持续时间”列表中选择所需的非活动阈值。
计划完成 当主代理完成执行所有计划的步骤以响应用户查询或自治触发器时调用。
AI生成的响应即将发送 在主代理在调用一个或多个主题、作或知识源后为用户生成响应时调用。 Response.FormattedText使用系统变量查看生成的响应。 请将ContinueResponse变量设置为 false,如果您想阻止发送编排响应(也就是说,如果修改消息并使用消息节点发送您自己的消息)。

其他详细信息

根据选择 何时使用此选项?,可能有更多属性可用。 以下属性始终可用。

Condition

指定必须满足的条件才能调用代理。 例如,您可能只希望在员工使用的频道是 Microsoft Teams 时才呼叫代理人。

将子智能体范围限制到 Microsoft Teams 渠道的条件的屏幕截图。

如果需要更复杂的条件,可以切换到 Power Fx 公式编辑器:选择生成器,然后选择公式

显示转到公式编辑器选项的屏幕截图。

Priority

单个传入活动(如消息)可以触发多个智能体。 默认情况下,您为何时使用选择的选项确定智能体触发的顺序。

子智能体和主题共享它们可以响应的同一组触发器或事件。 如果代理和主题配置为响应同一事件(例如用户不活动),则可以使用优先级属性来确定应首先执行哪些作。

执行顺序:

  1. 已收到活动
  2. 已收到消息 / 事件 / 对话更新 / 调用
  3. 通过智能体

如果必须基于发生相同类型的事件调用多个代理或主题,则会按创建顺序(最早先调用)。

可以显式设置 Priority 属性。 较小的数字表示优先级较高。