Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

代理

代理是 ZeroClaw 部署中的主角。本书中的其他一切——提供方、通道、安全配置、技能、内存——之所以存在,都是为了让代理能够使用它们。本节是核心展示,文档的其余部分则是配角。

多智能体。 ZeroClaw 通过一次安装即可运行多个智能体。每个智能体都拥有自己的一组引用(风险配置、模型提供方、通道)、自己的工作区目录以及自己的内存后端。一个智能体可以派生出临时的 SubAgent,后者会继承其父智能体的身份和安全策略;当智能体共享同一个 peer group 时,它们之间可以相互通信。在配置中,每个智能体对应一个 [agents.<alias>] 块。参见 Agents → Runtime internals

代理是一个连接

agent 不是你安装的程序。它是一个具名行 [agents.<alias>],用于连接两个部分:

  • 配置引用(关系层面):指向在别处配置的事物的指针,例如模型提供方、风险配置、运行时配置、通道、技能/知识/MCP 捆绑包、定时任务。每一项都是一个点分隔的别名。智能体并不拥有这些内容,而是指向它们;多个智能体可以指向同一项,也可以各自独立。
  • Filesystem 组件(磁盘端):每个 agent 的工作区目录、内存后端,以及身份(个性)来源。这就是关系图与具体目录树相结合的地方。
  Config references (relational)              Filesystem (on-disk)
  ──────────────────────────────             ──────────────────────
  - model provider                           - workspace/
  - risk profile                             - memory store
  - runtime profile          agents.<alias>  - identity / personality
  - channels             ──▶  (the join)  ◀──
  - peer groups
  - skill / knowledge / MCP bundles
  - cron jobs

代理指向左侧的引用,但不拥有其中任何一个:多个代理可以共享一个引用,也可以自由地各自分叉。它拥有右侧的文件系统那一半。

每个引用都是指向其所属章节的链接,其归属如下:模型提供方位于 Model Providers,配置文件位于 Security & Autonomy,通道位于 Channels,对等组位于 Peer Groups,捆绑包位于 Tools

一开始就采用多智能体

不存在所谓特权的“那个智能体“。运行时持有一个以别名为键的智能体映射;单智能体安装只是大小为一的映射。你不是先从一个机器人开始、之后再硬加更多,而是添加多个智能体并分别接线,它们从配置的第一行起就共存。

由于每个 agent 都连接自己的引用和自己的文件系统,因此 agent 可以共享某些维度,并在其他维度上各自独立地产生差异。两个 agent 可能共享同一个模型提供方,但在不同的风险配置下运行、在不同的渠道上响应,并保持完全独立的内存。

智能体之间通过两种方式相互联系,每种方式分别受控:它们可以在共享对等组的通道上发送消息,也可以在调用方的风险配置文件允许委派且目标处于调用方可达集合内时(同一配置文件的对等方,或调用方 delegates 列表中显式的跨配置文件条目;参见运行智能体)相互**委派**任务。

                    agents.researcher          agents.support
                    ─────────────────          ──────────────
  model provider     openrouter.prod ◀───────── openrouter.prod   (same one)
  risk profile       hardened                   permissive        (diverge)
  channel            discord.main               slack.helpdesk    (diverge)
  peers              └──────▶ peer group on discord.main ◀───────┘

两个代理共享同一个模型提供方,在不同的风险配置下运行,在不同的渠道上响应,仅在共享同一对等组的地方交汇。

SubAgent 是共存机制中短暂存在的例外:一个 agent 可以派生出一个临时的 SubAgent,该 SubAgent 会继承父 agent 的身份和安全策略,以执行单个任务。参见委派与 SubAgent

下一步去哪里

  • Agent 剖析[agents.<alias>] 上的每个字段,以及各引用所指向的内容。
  • Filesystem 组件:每个代理在磁盘上保存的工作区、内存和身份。
  • 运行 agent:寻址 agent、共存以及 agent 如何在 zerocode 的 Code 和 Chat 窗格中呈现。

有关运行时内部机制、权限模型、内存模型和代理循环的信息,请参阅 Runtime internals