Skip to main content
有多种方法可以在团队成员之间共享状态。

共享团队状态

Team Session State 支持跨 Agent 团队进行复杂的状态管理,具备共享和私有状态的功能。 团队通常需要在共享信息(例如购物清单)上进行协调,同时维护各自的私有指标或配置。Agno 为此提供了一个优雅的三层状态系统。 Agno 的团队状态管理提供了三个不同的级别:
  • Team’s team_session_state - 所有团队成员都可以访问的共享状态。
  • Team’s session_state - 仅团队领导者可以访问的私有状态。
  • Agent’s session_state - 每个团队成员的私有状态。
团队状态也会通过嵌套的团队结构进行传播。

如何使用 Team Session State

您可以设置 Team 上的 team_session_state 参数来在团队成员之间共享状态。 此状态对所有团队成员都可用,并在他们之间同步。 例如:
成员可以在工具中使用 team_session_state 属性来访问共享状态。 例如:

示例

这是一个关于团队管理共享购物清单的简单示例:
team_session_state.py
请注意,共享工具使用 agent.team_session_state,这使得状态可以在整个团队中传播和持久化——即使是团队内的子团队。这确保了所有成员拥有一致的共享状态。相比之下,团队特定的工具使用 team.session_state,允许私有、团队特定的状态。例如,团队领导者的工具会使用 team.session_state 来维护自己的会话状态。
请参阅完整示例 此处

代理上下文 (Agentic Context)

团队领导者维护一个共享的上下文,该上下文由代理(即团队领导者)更新,并在需要时发送给团队成员。 代理上下文对于代理之间的有效信息共享和协作至关重要,团队响应的质量取决于团队领导者如何有效地管理这个共享的代理上下文。 这可能需要为团队领导者使用更高质量的模型,以确保团队响应的质量。
团队成员的任务和响应会自动添加到团队上下文中,但代理上下文需要由开发者启用。

启用代理上下文

要启用团队领导者维护代理上下文,请设置 enable_agentic_context=True 这将允许团队领导者在运行期间维护和更新团队上下文。

团队成员交互

Agent Teams 可以共享成员之间的交互,从而使代理能够从彼此的输出中学习: