4 篇文章带有标签 “架构设计”

JiuwenSwarm 架构设计、工作原理与核心模块深度剖析

JiuwenSwarm 是什么?

JiuwenSwarm 是一个华为云开源的分布式 AI 多智能体协同与能力自进化系统。简单说,它是一个让 AI 智能体像团队一样协作、并且越用越聪明的系统。

核心特色

1. 三种执行模式,适配不同场景

模式 怎么工作 适合
Plan 模式 单 Agent 深度推理,自带任务规划 Rail,边思考边执行 复杂任务、多步骤分析
Performance 模式 卸掉规划护栏,直问直答,延迟最低 快速问答、简单查询
Swarm 模式 Leader 拆解任务,组建多 Agent 团队并行协作,可跨机器 大型复杂工作、多角色分工
flowchart LR
    M["用户输入"] --> P{模式选择}
    P -->|agent.plan| A1["单 agent 深度规划<br/>+ task planning rail"]
    P -->|agent.fast| A2["单 agent 快速响应<br/>- heavy rail"]
    P -->|team| A3["leader 拆解任务<br/>+ teammate 分布式执行"]
    A1 --> R["输出结果"]
    A2 --> R
    A3 --> R

2. 可部署可扩展

Gateway + AgentServer 双进程架构,支持:

  • 多用户隔离SessionMap(channel_id, user_id, mode, project_dir) 四元组独立缓存 Agent 实例
  • 多端接入:Web / TUI / 桌面端 / 飞书 / 钉钉 / 企微 / Telegram / Discord
  • 分布式:Swarm 模式下可用 pyzmq + PostgreSQL 跨机协作,Leader 在主节点,Teammate 跑在工作机

3. 技能自进化——越用越聪明

这是最创新的部分。系统不训练模型权重,而是通过一个确定性状态机流水线自动迭代 Skill 定义

Kilo Code - AI 编码智能体架构设计文档

项目总览

Kilo Code 是一个功能强大的开源 AI 编码助手,基于 OpenCode 框架开发。项目采用 Monorepo 架构,使用 Turborepo 和 Bun Workspaces 管理多个包。

核心数据

指标 数值
Monorepo 包数量 23
TypeScript 文件数 5800+
支持的 AI 模型 500+
内置工具数量 50+
UI 组件数(kilo-ui) 65+
国际化语言 19 种
开源协议 MIT

核心特性

  • 多模型支持:支持 500+ AI 模型,包括 Claude、GPT、Gemini、Grok、Codex、GLM 等
  • 多客户端:CLI、VS Code 扩展、Web UI 和桌面应用,满足不同场景
  • 丰富的工具集:50+ 内置工具,涵盖文件操作、命令执行、代码搜索
  • 插件扩展:支持外部插件和 MCP 服务器,动态加载自定义工具
  • 会话管理:完整的会话系统,支持父子会话、上下文压缩、会话恢复
  • 浏览器自动化:集成 Playwright,AI agent 可操作网页、截图、表单填充

Monorepo 依赖架构

Kilo Code 采用 Turborepo + Bun Workspaces 分层架构,23 个包协同工作。

架构分层

Pi - AI 编码智能体架构设计文档

Pi 是一个模块化的 AI 编码智能体 Monorepo,使用 TypeScript 构建。它提供统一的 LLM 抽象层、通用的智能体运行时、丰富的终端 UI 框架,以及完全可扩展的编码智能体命令行工具。

1. 项目概览

Pi(@earendil-works/pi-mono)是由 Mario Zechner 开发的 AI 编码智能体 Monorepo,设计理念是模块化、可扩展、供应商无关。它将多个 LLM 供应商的复杂性抽象为统一 API,提供强大的智能体运行时和工具执行能力,并附带生产就绪的终端 UI。

核心能力

能力 说明
统一 LLM API 9 种 API 协议和 30+ 供应商品牌的单一接口。只需修改一个字符串即可切换供应商。
智能体运行时 完整的智能体循环,支持并行工具执行、消息注入队列和上下文压缩。
丰富的终端 UI 独立的终端 UI 框架,支持差异化渲染、文本编辑器、图片显示和浮层系统。
扩展系统 80+ 扩展示例、20+ 生命周期钩子。可注册工具、命令、快捷键和供应商。
Web 组件 基于 Lit 的聊天 UI,支持沙箱化 Artifact 渲染(HTML、SVG、PDF、DOCX 等)。
多运行模式 交互式终端、管道友好的打印模式,以及用于 IDE 集成的 JSONL RPC 模式。

包依赖关系图

graph TD
    subgraph "第一层:基础层"
        ai["<b>pi-ai</b><br/>统一 LLM API<br/>30+ 供应商"]
    end
    subgraph "第二层:运行时层"
        agent["<b>pi-agent-core</b><br/>智能体运行时<br/>工具执行"]
    end
    subgraph "第三层:UI 层"
        tui["<b>pi-tui</b><br/>终端 UI 框架<br/>零依赖"]
    end
    subgraph "第四层:应用层"
        coding["<b>pi-coding-agent</b><br/>编码智能体 CLI<br/>扩展与工具"]
        webui["<b>pi-web-ui</b><br/>Web UI 组件<br/>Lit + Tailwind"]
    end

    ai --> agent
    agent --> coding
    tui --> coding
    ai --> webui
    tui --> webui

    style ai fill:#1f6feb,stroke:#388bfd,color:#fff
    style agent fill:#238636,stroke:#3fb950,color:#fff
    style tui fill:#8957e5,stroke:#bc8cff,color:#fff
    style coding fill:#da3633,stroke:#f85149,color:#fff
    style webui fill:#e3b341,stroke:#d29922,color:#fff

图 1: Pi monorepo 包依赖关系图 — 4 层架构,5 个包

Cline 概览 - Cline 扩展架构和开发指南

Cline 扩展架构和开发指南

项目概述

Cline 是一个 VSCode 扩展,通过核心扩展后端和基于 React 的 webview 前端的组合提供 AI 辅助功能。该扩展使用 TypeScript 构建,遵循模块化架构模式。

架构概述

定义

  • 核心扩展:src 文件夹内的所有内容,按模块化组件组织
  • 核心扩展状态:由 index.ts 中的 Controller 类管理,作为扩展状态的唯一真实来源。它管理多种类型的持久存储(全局状态、工作区状态和密钥),处理状态在核心扩展和 webview 组件之间的分发,并协调多个扩展实例之间的状态。这包括管理 API 配置、任务历史、设置和 MCP 配置。
  • Webview:webview-ui 内的所有内容。所有用户可见的 react 或视图以及用户交互组件
  • Webview 状态:由 ExtensionStateContext.tsx 中的 ExtensionStateContext 管理,通过上下文提供者模式为 React 组件提供对扩展状态的访问。它维护 UI 组件的本地状态,通过消息事件处理实时更新,管理部分消息更新,并提供状态修改方法。上下文包括扩展版本、消息、任务历史、主题、API 配置、MCP 服务器、市场目录和工作区文件路径。它通过 VSCode 的消息传递系统与核心扩展同步,并通过自定义钩子(useExtensionState)提供类型安全的状态访问。