SuperAPI AI 工具集

ag2-network-governance

智能体与模型

查看项目

更新于 10-15 19:48

技能介绍

本技能用于治理 AG2 多智能体网络,所有治理逻辑集中在 hub 侧:每次发送都经过 hub,每次观察都从 hub 读取,每条策略都在 hub 校验。使用前提是先阅读 ag2-network-quickstart,并了解 Hub.open、Passport、Resume、通道生命周期与 agent_client.register(...) 流程。

用途与主要能力:限制谁能与谁通信(access / AccessBlock);声明令牌桶限流意图(limits.rate / RateBlock,仅存储、进程内 hub 不强制执行);限制收件箱深度以防洪泛(limits.inbox / InboxBlock),并可通过 on_inbox_pressure / high_water 获取接近上限的预警;设置通道 TTL 默认值、并发上限与委派深度(limits / LimitsBlock);接入自定义访问与路由逻辑(如 JWT scope、租户配额、联邦,通过 HubArbiter / RuleBasedArbiter);在注册时认证智能体(AuthAdapter);调整通道关闭时机(acks_within、reply_within、max_silence、turn_within);读取审计日志或订阅状态变化(HubListener);注册自定义周期任务(register_sweeper);基于 Resume.observed 建立能力履历并按实际表现路由。

使用方式:在注册时传入 Rule,其 access 与 limits 为顶层块,rate 与 inbox 嵌套在 limits 内,例如 limits=LimitsBlock(channel_ttl_default="4h", delegation_depth=2, rate=RateBlock(per_minute=60, burst=10), inbox=InboxBlock(max_pending=100));注册后可用 await hub.set_rule(alice.agent_id, new_rule) 更新规则,并产生 AUDIT_KIND_RULE_SET。时长字符串由 parse_duration 解析(s/m/h/d,裸整数按秒,空串为 0)。仲裁通过 HubArbiter 协议实现,默认 RuleBasedArbiter 执行规则;可注册自定义仲裁器替换,注册时用 hub.register_arbiter(...),运行时可用 hub.arbiter 只读查看。认证默认使用 AuthRegistry.default() 的 NoAuth,生产环境可构造 AuthRegistry([NoAuth(), HMACAuth()]) 并通过 Hub.open(..., auth=registry) 注入;AuthAdapter 需提供 scheme 与 validate,失败抛 AuthError。期望由 sweeper 每 expectation_sweep_interval(默认 10 秒)评估;内置评估器仅 acks_within、reply_within、max_silence,内置处理器仅 audit、notify_channel、auto_close;turn_within 与 warn/hide 需自行注册评估器与处理器。审计记录可通过 await hub.audit_log.read_all() 读取,每条为含 kind 和 at 的字典。

限制:RateBlock 仅存储、进程内 hub 不强制执行;发送被拒绝不会写入内置审计日志,需注册 HubListener 捕获 on_envelope_rejected;BaseHubArbiter 对所有决策返回 Allow,子类只覆盖部分门时其余默认放行,如需保留规则执行应委托给 RuleBasedArbiter。其他未在资料中说明的功能、收费、平台或步骤暂未提供。