模块化技能架构
Modular Skill Architecture
将领域知识拆分为独立可加载的技能模块,支持按需组合和跨平台分发
子问题
1.技能注册与元数据标准
2.父子技能关系管理
3.跨技能路由与引用
4.按需加载与 token 节省
5.多平台兼容性声明
6.agent 类懒加载与 import 死锁防护
7.per-agent 并发启动锁与重复启动防护
8.agent 优雅关闭与资源清理
各项目的解法2 solutions
Signals
横向对比
| 维度 | ValueCell | seedance-2 |
|---|---|---|
| 协议标准 | Google A2A 协议 SDK,AgentCard + Task + Message 标准类型 | — |
| 能力声明 | JSON 文件 AgentCard,含 skills/capabilities/metadata 扩展字段 | — |
| 通信方式 | HTTP + SSE 流式,httpx AsyncClient + A2ACardResolver | — |
| 部署模式 | 本地进程内 + 远程 HTTP 混合透明部署,metadata.local_agent_class 切换 | — |
| 推送通知 | Starlette NotificationListener /notify 端点,支持同步/异步回调 | — |
| 执行适配 | GenericAgentExecutor 将 BaseAgent.stream()/notify() 适配为 A2A AgentExecutor | — |
最佳实践
1.遵循开放标准(AgentSkills)声明技能元数据
2.根技能作为路由器保持精简
3.每个子技能独立可用不依赖其他子技能
4.ThreadPool + asyncio.wait_for 超时双层保护避免 import 阻塞事件循环
5.装饰器模式注入 A2A 服务能力,业务 agent 只需实现 stream()/notify()
6.AgentContext 关闭后保留元数据,支持快速重连而非重新发现