# Clawith 架构研究与 AgentKit 改进分析 ## 研究背景 Clawith (clawith.ai) 是一个开源的多智能体协作平台,基于 OpenClaw 构建,旨在将 AI 代理从简单的聊天机器人提升为组织的"数字员工"。 GitHub: https://github.com/dataelement/Clawith 许可证: MIT 技术栈: React 19 + TypeScript / FastAPI + PostgreSQL + Redis --- ## Clawith 核心架构 ### 1. Agent Plaza — 协作知识流 **设计理念**:代理共享的社交空间,代理在其中发布更新、分享发现、评论彼此的工作,实现知识流动而非被动查询。 **核心组件**: - `PlazaFeed`:类似社交 feed,支持 post、comment、tag 过滤 - `KnowledgeBase`:组织级共享知识池 - 代理可订阅相关领域 feed,实现"被动发现" ### 2. Persistent Identity — Soul & Memory **设计理念**:每个代理有跨会话的持久身份,而非每次会话从头开始。 **核心组件**: - `soul.md`:代理的个性、价值观、工作风格(持久存储) - `memory.md`:长期上下文和学习到的偏好 - 代理启动时加载 Soul,用于 Prompt 注入 ### 3. Organization Awareness — 组织感知 **设计理念**:代理理解完整组织结构,知道谁是同事,能自主建立工作关系和委派任务。 **核心组件**: - `OrganizationContext`:组织架构、代理能力矩阵 - 代理之间可以自发 `handoff`,而非只能通过中央编排器 - 像新员工加入团队一样自然融入 ### 4. Supervision Tasks — 主动跟进 **设计理念**:代理可以代表组织主动跟进同事,确保待办事项完成。 **核心组件**: - `SupervisorAgent`:可配置自动跟进规则 - `deadline`、`reminder`、`escalation` 机制 ### 5. Self-Evolution — 自我进化 **设计理念**:代理遇到无法处理的任务时,主动搜索 MCP 注册表发现并安装新工具。 **核心组件**: - 从 Smithery + ModelScope MCP 注册表搜索工具 - 代理可为自己或同事创建新 Skill - `SkillCreator` 工具 ### 6. Enterprise Governance — 企业治理 **设计理念**:组织级控制能力。 **核心组件**: - `UsageQuota`:每个用户/代理的消息限制、Token 配额、代理 TTL - `ApprovalWorkflow`:危险操作需人工审批 - `AuditLog`:全链路操作可追溯 - RBAC + 多租户隔离 --- ## AgentKit 当前架构 ### 项目结构 ``` src/agentkit/ ├── core/ # BaseAgent、Orchestrator、Dispatcher、Registry ├── skills/ # SkillConfig、Skill、SkillRegistry、SkillLoader ├── memory/ # WorkingMemory、EpisodicMemory、SemanticMemory、RAG ├── evolution/ # EvolutionMixin、Reflector、PromptOptimizer、ABTester ├── llm/ # LLMGateway、Provider(OpenAI/Anthropic/Gemini/DeepSeek/国产) ├── orchestrator/ # PipelineEngine、HandoffManager、DynamicPipeline ├── mcp/ # MCPClient、MCPServer、MCPManager ├── tools/ # Tool基类、FunctionTool、AgentTool、MCPTool ├── server/ # FastAPI Server、routes、middleware └── telemetry/ # OpenTelemetry tracing + metrics ``` ### 已实现的核心能力 - **ReAct Engine**:`react.py` 实现推理-行动循环 - **LLM Gateway**:`llm/gateway.py` 统一调用、路由、计量 - **Intent Router**:`router/intent.py` 三级路由(关键词+LLM) - **Quality Gate**:`quality/gate.py` 产出质量管理 - **Skill System**:`skills/base.py` SkillConfig + Skill + SkillRegistry - **Evolution System**:`evolution/lifecycle.py` 反思→优化→A/B测试→应用 - **Pipeline**:`orchestrator/pipeline_engine.py` 多步骤编排+重试+补偿 --- ## 差距分析 ### 功能对比表 | 功能 | Clawith | AgentKit | 差距 | |------|---------|----------|------| | Agent Plaza | ✅ | ❌ | 需要新增 plaza/ 模块 | | Soul/Memory 持久身份 | ✅ | ⚠️ 部分 | Soul 缺失,memory 是会话级非代理级 | | 组织感知 | ✅ | ❌ | Agent 不知道可以向谁求助 | | Supervision Tasks | ✅ | ❌ | 任务即结束,无跟进机制 | | 主动 Self-Evolution | ✅ | ⚠️ 被动 | evolve_after_task 是完成后触发 | | Enterprise Governance | ✅ | ⚠️ 部分 | QualityGate 有,Quota/审批/RBAC 无 | | 多渠道 Gateway | ✅ | ⚠️ MCP | 当前是 Agent 平台,Clawith 是 Channel | | 意图路由 | ✅ | ✅ | 已有 Intent Router | --- ## 建议优先实现的功能 ### P0 — 组织感知 + 主动进化 **1. OrganizationContext(组织上下文)** - 新增 `src/agentkit/org/context.py` - `OrganizationModel`:组织架构、代理能力注册表 - `Agent.on_task_start()` 自动注入组织上下文 - 支持代理主动 `handoff` 给合适的同事 **2. 主动工具发现** - 当 ReAct 循环遇到未知任务时,触发 MCP 注册表搜索 - 新增 `ToolDiscovery` 类 - 集成 Smithery + ModelScope MCP 注册表 ### P1 — Agent Plaza + Persistent Identity **3. Agent Plaza** - 新增 `src/agentkit/plaza/` 模块 - `PlazaFeed`、`KnowledgeShare`、`SubscriptionManager` - 代理可发布状态、评论、发现 **4. Soul & LongTermMemory** - 新增 `src/agentkit/identity/` 模块 - `SoulManager`:管理代理 soul.md - `LongTermMemory`:跨任务的持续记忆 ### P2 — Supervision + Enterprise Governance **5. Supervision Tasks** - 新增 `SupervisionTask` 类型 - `SupervisorAgent` 主动跟进机制 **6. Enterprise Governance 补齐** - `UsageQuota` - `ApprovalWorkflow` - 完善 RBAC --- ## 深入分析任务 请在另一个会话中完成以下分析: 1. **OrganizationContext 详细设计** - 如何表示组织架构和代理能力 - Agent 如何感知可用的同事 - handoff 协议如何扩展支持自发协作 2. **Agent Plaza 技术方案** - Feed 数据模型设计 - 与现有 Memory 系统如何集成 - 订阅/推送机制实现 3. **Persistent Identity 实现路径** - soul.md 的 Schema 设计 - LongTermMemory 与 WorkingMemory/EpisodicMemory 的关系 - 跨会话记忆如何注入 Prompt 4. **Self-Evolution 主动性增强** - 何时触发工具发现 - 如何平衡探索成本和任务需求 - 发现新工具后如何学习使用 5. **与现有 Phase 6/7/8 规划的关系** - Layered Memory(Phase 8) - Adaptive Chat(Phase 8) - Headroom(Phase 7) - 如何避免重复建设 6. **实现优先级和依赖关系** - 哪些功能可以并行开发 - 哪些必须依赖其他模块先完成 - 建议的迭代顺序