我开源了一个通用 AI Agent 编排层:让创业者快速搭建多用户 Agent 服务

9 阅读5分钟

一个真实的痛点

假设你在做一个创业产品,核心能力依赖 AI Agent——可能是一个智能客服、一个数据分析助手、一个自动化写作工具、或者任何需要 Agent 持续交互的服务。

你的 Agent 本身可能已经很好用了。但当你想把它变成一个产品,让 100 个用户同时用的时候,你会发现要解决的工程问题远比 Agent 本身复杂:

  • 每个用户需要独立隔离的运行环境
  • 高峰期的并发请求怎么调度和排队
  • Agent 执行失败了怎么自动恢复
  • 怎么把 Agent 的实时进度推给前端
  • 怎么监控每个任务的状态和资源消耗

这些问题跟你的产品本身毫无关系,但不解决就上不了线。一个小团队可能要花 3 个月搞这些基础设施。

opencode-scale 就是为了解决这个问题——一个通用的 AI Agent 编排层,让你跳过基础设施建设,直接做产品

它是什么

一句话:你有一个 Agent 服务,想让很多用户同时用,中间缺的那一层就是它

你的产品(Web / App / API / 小程序)
              ↓
       opencode-scale(编排层)
              ↓
       Agent 实例 × N(隔离沙箱)

你负责上面的产品层和下面的 Agent 能力,opencode-scale 负责中间所有的脏活:

能力说明
多租户隔离每个用户的 Agent 跑在独立 gVisor 沙箱里,互不干扰
并发调度架构水平可扩,已验证 2000+ 并发 workflow 调度
智能排队容量满时自动排队,通过 SSE 实时推送排队位置
失败自愈Temporal workflow 自动重试、超时保护、完整执行记录
实时推送SSE 流式返回 Agent 执行进度和结果
结果校验JSON Schema 校验 Agent 输出,不合格自动重试
全链路可观测Prometheus + Grafana + Temporal UI + 审计日志,开箱即用

适用场景

opencode-scale 不限定 Agent 的类型。任何需要"隔离环境 + 并发调度"的 Agent 服务都适用:

AI 编程产品 — 每个用户一个隔离的 Agent 编码环境,在线 AI 编程助手的后端

智能客服 / 咨询类产品 — 每个对话会话一个独立 Agent 实例,互不干扰

数据分析平台 — 用户提交分析任务,Agent 在沙箱里操作数据,结果流式推送

内容生成 SaaS — 批量生成文档、报告、翻译,每个任务独立执行,失败自动重试

AI 教育平台 — 每个学生一个独立 Agent 环境,平台监控任务状态和资源用量

Agent 能力评测 — 同一批任务用不同 Agent 跑,隔离执行,结果自动收集对比

核心逻辑都一样:你有一个 Agent,它很强但只能一个人用。opencode-scale 让它能同时服务很多人。

架构

Client → Kong Gateway → Router (Go) → Temporal → Worker → Sandbox (你的 Agent)
                                         ↓
                                    Pool Manager → K8s SandboxClaim CRD

为什么用 Temporal

一个 Agent 任务不是一个简单的 job。它是一个多步骤流程:分配沙箱 → 发送请求 → 流式接收结果 → 校验输出 → 释放沙箱。任何一步都可能失败。

Temporal 的 workflow 语义天然匹配这个模型:

  • 每一步自动重试
  • 超时自动处理
  • 每个任务有完整的执行记录可追溯
  • 可视化 UI 看到每个 workflow 的状态

比自己写状态机 + 消息队列可靠得多。

为什么用 K8s SandboxClaim CRD

每个用户的 Agent 需要隔离运行。我们用 gVisor 沙箱容器 + Kubernetes CRD 来做:

  • SandboxWarmPool — 预热池,提前准备好 N 个沙箱,用户来了直接分配,不用等冷启动
  • SandboxClaim — 声明式申领,用完自动释放

这不是 HPA 那种被动扩缩容——是主动的资源池管理。

双模式

开发和生产用同一套代码:

pool:
  mode: local  # 本地开发:mock 服务,不需要 K8s
  # mode: k8s  # 生产:真实 gVisor 沙箱

扩展能力

架构每一层都水平可扩:

扩展方式
Router无状态,加副本
Worker无状态,加副本
Temporal单集群支持百万级 workflow
沙箱加机器加节点

软件层没有上限,瓶颈只在你的集群有多大。 已验证 2000+ 并发 workflow 调度,全部有完整执行记录。

2 分钟跑起来

不需要 K8s,Docker Compose 一键启动:

git clone https://github.com/YOUR_USERNAME/opencode-scale.git
cd opencode-scale

make compose-up   # 启动全部服务
make seed         # 提交示例任务

# 实时查看任务进度
curl -N http://localhost:8080/api/v1/tasks/{taskId}/stream

API

提交任务

curl -X POST http://localhost:8080/api/v1/tasks \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "你的 Agent 任务描述",
    "timeout": 300,
    "userId": "user-123"
  }'

SSE 实时推送

curl -N http://localhost:8080/api/v1/tasks/{taskId}/stream
event: status
data: {"status":"running"}

event: result
data: {"status":"completed","result":"...","duration":45.2}

前端监听这个端点即可,任务完成后流自动关闭。

带输出校验

curl -X POST http://localhost:8080/api/v1/tasks \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "...",
    "outputSchema": "{\"type\":\"object\",\"required\":[\"answer\",\"confidence\"]}"
  }'

Agent 输出不符合 Schema,系统自动带校验反馈让 Agent 重试,最多 3 轮。

生产部署

# Helm
helm install opencode-scale ./charts/opencode-scale \
  --namespace opencode-scale --create-namespace

# Kustomize
make deploy-prod  # 3 Router + 5 Worker + 200 池上限

可选:S3/MinIO 归档 workflow 历史,释放数据库空间。

技术栈

技术用途
Go 1.25核心编排
Temporalworkflow 编排、重试、执行记录
Kubernetes + gVisor沙箱隔离
KongAPI 网关、限流、认证
OTel + Prometheus + Grafana可观测

路线图

  • Plugin 接口:标准化 Agent 接入协议
  • Web Dashboard:任务和资源可视化管理
  • 多集群调度
  • 生产级安全加固

写在最后

如果你在做一个依赖 AI Agent 的创业产品,最难的部分往往不是 Agent 本身——而是把"我自己用着挺好"变成"让很多人同时用"。

opencode-scale 帮你解决这个中间层的问题。

Apache 2.0 开源,欢迎 Star、Issue、PR。

GitHub: github.com/ssyhape-pix…