Agent 继承体系
Agent Inheritance Hierarchy
通过多层继承构建可扩展的 Agent 能力体系,每层叠加特定职责
子问题
1.基类能力划分
2.状态管理继承
3.工具能力组合
4.领域特化扩展
5.卡死检测与策略自动切换
6.异步资源清理链(工具→Agent→MCP 连接)
7.MCP 工具动态发现与热注册
各项目的解法1 solutions
Signals
横向对比
| 维度 | OpenManus |
|---|---|
| 继承层数 | 四层:BaseAgent→ReActAgent→ToolCallAgent→领域Agent |
| 配置方式 | Pydantic BaseModel + Field 声明式,extra=allow 允许子类扩展 |
| 状态管理 | 四态枚举 + asynccontextmanager 安全转换,异常自动回滚 |
| 能力叠加模式 | 每层严格单一职责:状态机→Think-Act→工具调用→领域特化 |
| 工具组合方式 | ToolCollection 容器 + 声明式 Field 覆盖 + MCP 动态注册 |
| 卡死检测 | 重复消息计数 + 策略变更提示注入 |
| 领域特化成本 | 最少 15 行代码(SWEAgent),仅需声明 prompt + 工具集 |
最佳实践
1.每层只添加一个核心能力
2.使用 Pydantic 声明式配置
3.Pydantic Config extra=allow 允许子类自由扩展字段
4.model_validator 构建初始化链替代 __init__ 覆盖
5.特殊工具机制(special_tool_names)控制 Agent 终止条件