一、架构分层

在这里插入图片描述
架构分层说明
用户/触发源层

用户实时请求 → 直接调用 Command

定时器 / 外部事件 → 触发 Automation

插件层

Plugin 是分发与封装单元,内部可以包含 Command、Skill、Automation、Connector 任意组合。

例如:GitHub 插件可能同时提供 create_issue(Command)、auto_sync_issues(Automation)、connect_github_api(Connector)。

能力层(逻辑定义)

Command:单次、即时、无状态。

Skill:多步骤、可复用流程。

Automation:带触发规则的后台执行单元。

Connector:与外部系统通信的适配器。

执行与编排层(运行时支撑)

Runner:执行单一 Command。

Engine:管理 Skill 的工作流状态、重试、补偿。

Scheduler:维护触发规则,按时间/事件调用动作。

MCP Server:暴露标准化的工具接口,供 Agent 调用连接器。

外部系统

实际被连接器访问的资源(数据库、API、文件、消息队列等)。

关键关系箭头解释
实线箭头 → 调用/执行/协议转换

虚线箭头 → 包含/组合/复用

Skill 可包含 Command(虚线)—— 表示 Skill 内部可以把 Command 作为一个步骤。

Automation 的动作体可以是 Skill 或 Command(虚线)。

Plugin 通过虚线包含下层能力——表示“打包分发”关系,而非运行时调用。

二、详细说明

一、Command(命令)

核心定义 立即执行、一次性、无状态的操作单元。通常对应一个函数、一个 API 调用或一个 CLI 命令,执行后不保留任何上下文。

关键特征 同步或异步但立即返回:用户发出后,当前线程等待或快速拿到结果。

无记忆:不依赖之前的命令,也不为后续命令保存状态。

原子性:通常只做一件事,例如计算、查询、发送一个通知。

低开销:无需加载复杂流程定义或外部资源。

典型示例

  • 对话系统中的 get_weather(city)
  • 智能家居中的 turn_off_light(living_room)
  • 代码库中的 git status、ls -la
  • AI Agent 中的 search_web(query)(单次搜索)

技术实现

  • 函数注册表 + 参数解析器
  • 在 Agent 框架中常表现为 @tool 或 @function 装饰器
  • 执行环境:当前进程或轻量级 subprocess

何时用

  • 用户请求明确且独立,不需要多步编排
  • 需要极低延迟(<100ms)
  • 不需要重试、补偿、审计日志等复杂特性

与 Skill 的区别

  • Skill 是多步骤、有流程;Command 是单步、无流程。
  • Skill 可被多次调用并保持参数模板;Command 每次都是全新调用。

二、Skill(技能)

核心定义 封装了一个固定 SOP(标准操作流程)的可复用单元。包含步骤顺序、分支逻辑、错误处理、输入输出规范。

关键特征 有状态机或流程定义:内部可包含多个 Command 或子 Skill

参数模板:允许调用时传入变量,但流程骨架不变

可组合:一个 Skill 可以调用另一个 Skill

可观测:通常自带日志、重试、超时控制

典型示例

  • send_weekly_report:查询数据库 → 生成 Excel → 发邮件 → 归档
  • onboard_new_employee:创建账号 → 分配权限 → 发送欢迎信 → 创建日历
  • deploy_service:拉代码 → 构建镜像 → 滚动更新 → 健康检查

技术实现

  • 工作流引擎(如 Temporal、Camunda、Durable Functions)
  • 声明式 DSL(YAML/JSON 定义 steps)
  • 代码式(Python 类,每个步骤是一个方法)

何时用

  • 操作流程标准化,不会频繁变动
  • 需要多人/多 Agent 共享同一套业务逻辑
  • 要求完整执行记录和失败恢复能力

与 Automation 的区别

  • Automation 强调触发方式(时间/事件),Skill 强调内容本身。
  • 一个 Skill 可以被 Automation 作为“动作体”来调用。

三、Automation(自动化)

核心定义 由时间计划或外部事件触发、在后台自动执行的动作或流程。通常包含 Trigger(触发器) + Action(动作体,可以是 Command、Skill 或另一个 Automation)。

关键特征 无人值守:不需要用户实时交互

触发驱动:cron、webhook、消息队列、文件变化、DB trigger

可配置并发与限流:避免资源耗尽

可暂停/禁用:运行时控制

典型示例

  • 每天 02:00 清理临时目录(cron)
  • 当 S3 bucket 有新文件时自动转码(event trigger)
  • 连续 5 次登录失败 → 锁定账号(alert-based trigger)
  • 每周一 10:00 拉取所有人的 Jira 任务并汇总发邮件

技术实现

  • 调度器:Airflow、Celery Beat、cron、Quartz
  • 事件总线:Kafka、RabbitMQ、AWS EventBridge
  • 低代码平台:Zapier、n8n、IFTTT

何时用

  • 需要周期性维护、监控、报表生成
  • 响应外部事件(IoT 传感器、Webhook)
  • 减少人工重复操作

与 Command/Skill 的关系

  • Automation 是执行策略,Command/Skill 是被执行的内容。
  • 一个 Automation 可以触发一个 Skill,该 Skill 内部包含多个 Command。

四、MCP / Connector(连接器)

核心定义 用来连接外部系统、数据源、协议或工具的适配层。MCP(Model Context Protocol)是一个具体协议,目的是让 AI模型能安全、标准化地访问外部资源;Connector 是更广义的同类概念。

关键特征 协议桥接:将外部 API(REST/gRPC/SQL/WebSocket)封装成内部统一调用接口

认证管理:OAuth、API Key、证书等由连接器负责

数据格式转换:JSON ↔ Protobuf、SQL 结果 ↔ 对象

连接池 & 重试:处理网络不稳定

典型示例

  • 数据库连接器:执行 SQL 并返回表格
  • Slack 连接器:发送消息、读取频道历史
  • 文件系统连接器:读写本地或 S3 文件
  • MCP 服务器:暴露 read_file、execute_shell 等工具给 LLM

技术实现

  • 实现了标准接口(如 list_tools(), call_tool(name, params))
  • 运行在独立进程或容器中,与 Agent 进程分离(MCP 典型架构)
  • 使用 JSON-RPC 或 gRPC 通信

何时用

  • 需要访问非本地能力(数据库、第三方 API、硬件设备)
  • 需要统一治理外部访问(审计、限流、熔断)
  • 想让 LLM 安全地调用真实世界接口(MCP 特别适合)

与 Plugin 的区别

  • Plugin 可能包含多个连接器 + 多个 Skill + UI 扩展;连接器仅解决通信与协议问题。
  • Plugin 是分发单元;Connector 是技术组件。

五、Plugin(插件)

核心定义 一组可独立安装、升级、卸载的能力集合,用于扩展系统功能。内部可以包含Command、Skill、Automation、Connector,甚至 UI 组件。

关键特征 封装与隔离:插件有自己的依赖、配置、生命周期

发现机制:系统启动时扫描插件目录,动态加载

版本管理:可以同时存在不同版本,或指定最低核心版本

权限声明:插件需要声明它要用哪些 API、存储、网络访问

典型示例

  • VSCode 插件:添加新语言支持、调试器、主题
  • ChatGPT Plugin:能够查航班、订餐、访问知识库
  • Home Assistant 插件:接入某品牌智能设备
  • 企业 RPA 平台插件:提供 OCR、PDF 处理等专用能力

技术实现

  • 基于约定(如 plugin.json + entry_point.py)
  • 使用插件框架:Eclipse 插件架构、VS Code 的 activate 函数
  • 沙箱环境(某些平台限制文件/网络访问)

何时用

  • 系统需要支持第三方扩展,且不能修改核心代码
  • 想按业务领域打包一组能力,方便不同团队共享
  • 需要热插拔、灰度发布某组功能

与上述所有组件的关系

  • Plugin 是打包与分发容器;Command/Skill/Automation/Connector 都是Plugin 可能包含的内容。
    可以有一个 “Database Plugin” 对外提供:
  • Connector:连接 MySQL/PostgreSQL
  • Command:run_query
  • Automation:每天自动备份
  • Skill:migrate_schema

三、总结对比

在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐