Erupt 1.14.3:让多个 AI Agent 在你的后台管理系统里"组队干活"

2026-05-19 22 预计阅读时间:1 分钟
来源:oschina.net AI 摘要 原文链接

免责声明:本文为 AI 摘要整理,建议结合原文阅读。摘要可能省略上下文、版本差异或边界条件,不作为官方说明。

预计阅读时间:9 分钟

上周 Erupt 把 Claude 嵌进 Spring Boot 后台的操作刚刷屏,1.14.3 版本就带着更猛的东西来了——A2A 多智能体协作、跨会话记忆、浏览器直连服务器终端。企业级 AI Agent 不再是单兵作战,而是真正在后台里"组团打工"。

A2A 协作:Agent 之间不再是孤岛

A2A(Agent-to-Agent)协议是这次更新的核心。以前在后台管理系统里调 AI,本质上是一个 Agent 单独响应请求——你问它答,答完就散。1.14.3 让多个 Agent 可以互相发现、互相委托任务。

具体场景:一个"数据查询 Agent"接到用户的自然语言请求,发现需要先做权限校验,就把校验环节委托给"权限 Agent";权限 Agent 返回结果后,数据查询 Agent 再继续执行。整个过程用户只看到最终答案,中间的协作是 Agent 之间自动完成的。

Erupt 在框架层做了两件事: - Agent 注册中心:每个 Agent 启动时声明自己的能力(skill)和接口地址,其他 Agent 可以按能力查找。 - 任务委托链路:支持异步委托 + 结果回传,委托方可以设置超时和回退策略。

跨会话记忆:Agent 终于"记住你了"

之前的 AI 对话是无状态的——每次打开新会话,Agent 对你之前的操作一无所知。1.14.3 引入了跨会话记忆机制:

  • 用户画像持久化:Agent 自动提取用户的历史操作偏好、常用查询模式,存入向量数据库。
  • 上下文窗口拼接:新会话启动时,自动从记忆库拉取相关上下文,拼进 prompt,避免重复解释。
  • 记忆衰减策略:太久或太低频的记忆会被降权,防止无关信息污染当前对话。

这意味着你在后台管理系统里跟 Agent 说"帮我查上个月那个报表",它真的能知道"那个报表"是哪个。

浏览器直连服务器终端:运维 Agent 的最后一公里

1.14.3 把浏览器终端嵌进了后台管理界面。不是简单的 web shell,而是和 Agent 联动的:

  • Agent 可以直接在服务器终端执行命令,用户在浏览器里实时看到输出。
  • 用户也可以手动接管终端,Agent 观察操作并提供建议。
  • 终端会话有完整的审计日志,谁执行了什么命令一目了然。

这对运维场景的价值很直接——Agent 发现磁盘告警,自动登录服务器排查,把诊断过程实时展示给你,你确认后再让它执行修复命令。

实操:在 Spring Boot 项目里接入 Erupt 1.14.3 的 AI Agent

下面是一个最小可运行的接入示例。假设你有一个已有的 Spring Boot 项目,想加上 Erupt 的 AI Agent 能力。

第一步:添加依赖

<!-- pom.xml -->
<dependency>
    <groupId>xyz.erupt</groupId>
    <artifactId>erupt-upms</artifactId>
    <version>1.14.3</version>
</dependency>
<dependency>
    <groupId>xyz.erupt</groupId>
    <artifactId>erupt-ai</artifactId>
    <version>1.14.3</version>
</dependency>
<!-- 如果需要浏览器终端 -->
<dependency>
    <groupId>xyz.erupt</groupId>
    <artifactId>erupt-tpl</artifactId>
    <version>1.14.3</version>
</dependency>

第二步:配置 AI Agent

# application.yml
erupt:
  ai:
    # 主模型配置,这里用 Claude(也支持 OpenAI、DeepSeek 等)
    model:
      provider: claude
      api-key: ${CLAUDE_API_KEY}   # 建议用环境变量,不要硬编码
      model-name: claude-sonnet-4-20250514
      max-tokens: 4096
    # 跨会话记忆
    memory:
      enable: true
      store: vector              # 可选 vector / redis / local
      decay-days: 30             # 超过 30 天的记忆降权
    # A2A 协作
    a2a:
      enable: true
      registry: local            # 本地注册中心,生产环境可切换为 redis
      timeout-ms: 60000          # 委托任务超时 60 秒
    # 浏览器终端
    terminal:
      enable: true
      audit-log: true            # 开启命令审计日志

第三步:定义一个带 AI 能力的 Erupt 模型

// Product.java — 商品管理模型,Agent 可以自然语言查询和操作
@Erupt(
    name = "商品管理",
    desc = "支持 AI Agent 自然语言交互的商品数据管理"
)
@EruptAI(
    enable = true,
    skills = {
        "查询商品库存",
        "修改商品价格",
        "生成销售报表"
    }
)
@Table(name = "t_product")
public class Product {

    @EruptField(
        views = @View(title = "商品名称"),
        edit = @Edit(title = "商品名称", notNull = true)
    )
    private String name;

    @EruptField(
        views = @View(title = "价格"),
        edit = @Edit(title = "价格", notNull = true)
    )
    private Double price;

    @EruptField(
        views = @View(title = "库存"),
        edit = @Edit(title = "库存")
    )
    private Integer stock;

    @EruptField(
        views = @View(title = "状态"),
        edit = @Edit(
            title = "状态",
            type = EditType.SELECT,
            select = @Select(
                options = @Option(
                    options = {
                        @OptionItem(label = "在售", value = "ON"),
                        @OptionItem(label = "下架", value = "OFF")
                    }
                )
            )
        )
    )
    private String status;
}

@EruptAI 注解的 skills 字段声明了这个模型上 Agent 能做什么。A2A 协作时,其他 Agent 会根据 skills 列表判断是否要委托任务给这个模型的 Agent。

第四步:启动并验证

# 设置 API Key 环境变量
export CLAUDE_API_KEY=sk-ant-xxxxx

# 启动 Spring Boot
mvn spring-boot:run

# 打开后台管理界面,在 AI 对话面板输入:
# "帮我查库存低于 10 的商品"
# Agent 会自动翻译为 SQL 查询并返回结果

启动后,后台管理界面的右侧会出现 AI 对话面板。输入自然语言,Agent 会根据你声明的 skills 自动路由到对应的模型和操作。如果涉及权限校验,A2A 会自动委托给权限 Agent。

上手之前想清楚这几件事

  1. API Key 安全:生产环境务必用环境变量或密钥管理服务,不要写进配置文件提交到 Git。
  2. Agent 权限边界skills 声明的是 Agent 的能力范围,但实际执行权限仍然受 Erupt UPMS 的角色控制。Agent 不能绕过权限体系做事。
  3. 记忆存储选型local 模式只适合单机开发,生产环境用 vector(需要部署向量数据库如 Milvus)或 redis(牺牲语义检索能力但部署简单)。
  4. 终端审计:浏览器终端开启 audit-log 是合规刚需,尤其是金融和政务场景,别为了"方便"关掉它。
  5. A2A 超时策略:委托任务 60 秒超时是保守值。如果你的 Agent 需要调用外部 API(比如第三方数据源),考虑适当放大,同时设置回退逻辑——超时后 Agent 应该告诉用户"没查到,建议手动操作"而不是静默失败。

Erupt 1.14.3 把 AI Agent 从"聊天机器人"推进到了"后台管理系统里的协作员工"。多 Agent 组队、记忆延续、终端联动,这三个能力组合起来,企业级后台的 AI 化不再是概念,而是可以落地的工程选择。


相关推荐