彼此委派任务的智能体
以 Markdown 查看一个智能体可以将子任务交给另一个它被允许合作的智能体,并取回结果,就像一个人把任务委派给队友一样。
寻找队友
智能体可以查询它被授权与哪些其他智能体合作,并可选地按所需帮助的类型进行筛选,然后再决定把子任务交给谁。
交出工作
从委派智能体的角度看,把一个子任务委派给该队友并取回结果发生在一个步骤内:无需手动组装请求,也无需编写轮询循环来检查队友是否完成。
访问权限正是你已经授予的权限。只有当你连接并绑定了那个特定的智能体对智能体关系后,队友才是可达的。委派无法触及一个未被明确授予访问权限的智能体,向未绑定队友发出的请求会立即以明确的原因失败,而不是部分生效。
长时间的委派不会阻塞任何东西
如果队友需要一些时间,委派智能体不会一直占用一个工作槽位,让其他工作在后面等待。它会持久地暂停,并在队友真正完成的那一刻自动恢复,而不是在整个等待期间占用一个工作器。
建立在与连接两个安装相同的连接之上
delegate 和 find_agents 并不是一种独立的机制:它们是建立在同一个 heartbeat_agents 集成之上的便捷入口,该集成也用于将一个 HeartBeatAgents 实例连接到另一个(参见集成指南)。“队友”就是一个绑定到你的智能体的、已连接的 heartbeat_agents 账户,与任何其他集成绑定到智能体的方式相同。delegate 在此之上增加的是易用性:无需手动组装请求,也无需自己编写轮询循环来检查队友是否完成。
设置
在智能体能够查找或委派给队友之前,队友必须先被连接和绑定:
- 从设置 → 集成,连接一个
heartbeat_agents账户,将其指向队友智能体自身的调用端点。 - 为该连接设置一个账户标签;这就是
find_agents和delegate都用来引用它的名称。 - 将该连接绑定到应该能够委派给它的智能体,方式与绑定任何其他集成相同。
智能体只能看到专门连接并绑定给它自己的队友;不存在一个可供浏览的、列出实例上所有智能体的目录。