> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-postgresql-tls-support.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 子智能体

> 在 ClickHouse 智能体中将任务委派给子智能体

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Beta 版功能。 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        了解更多。
                    </a>
                </u>
            </span>
        </div>;
};

子智能体是由父智能体调用来处理独立子任务的下级智能体。子智能体在自己的上下文窗口中运行，并使用自身附带的工具，然后将精简后的结果返回给父智能体。父智能体永远不会看到子智能体的中间步骤——只会看到最终答案。

使用子智能体可以让父智能体保持专注。对于耗时较长的研究、多工具探索以及专项审查步骤，如果将消耗大量标记的中间状态留在父智能体的上下文之外，效果会更好。

<div id="enable-subagents">
  ## 启用子智能体
</div>

在智能体构建器中，打开 **高级设置** 并开启 **子智能体**。这时会出现另外两个选项：

* **允许自我派生** - 开启后，智能体可以派生出自身的副本来并行工作。适用于扇出模式 (一个父智能体，多个相同的工作智能体) 。
* **附加子智能体** - 选择此父智能体可委派给的其他特定智能体。父智能体会在运行时根据任务决定调用哪个子智能体 (如果有) 。

保存。智能体运行时，会新增一个用于调用子智能体的工具。

<div id="when-a-subagent-helps">
  ## 子智能体有帮助的场景
</div>

* **研究类子任务** - 父智能体将复杂问题拆解后，把其中一部分交给专门处理该部分的子智能体，再综合各方回复。
* **工具密集型流程** - code interpreter 会话、多步骤网页搜索循环，或任何会因中间工具输出而占用父智能体上下文的工作。
* **专项审查** - 一个智能体负责生成，另一个负责审查，审查者的完整推理会保留在其自己的上下文窗口中。

不要为琐碎调用使用子智能体。交接会增加延迟并消耗更多标记。

<div id="subagents-vs-agent-chain">
  ## 子智能体与智能体链
</div>

子智能体是一种运行时委派机制——由父智能体根据实际情况动态决定。智能体链则是预先定义好的智能体图，并按固定顺序运行。路由是动态的时，适合使用子智能体；路由是固定的时，则适合使用智能体链。

<div id="limits">
  ## 限制
</div>

* 每个父智能体最多可列出 **10** 个子智能体。
* 从根智能体起，最大深度为 **5** 跳。
* 单次运行最多可加载 **50** 个唯一的子智能体目标。
* 每个请求最多可展开 **100** 个子智能体配置。

你引用的子智能体必须对运行父智能体的用户可见。无法解析到可访问智能体或已删除智能体的引用会被静默跳过——请将父智能体设计为能够妥善处理子智能体缺失的情况。
