自研 AI Agent 如何进入生产环境?——基于 Kubernetes、Kagent 与 Zadig 的实践

开发 Agent 是开始,把它管起来才是正事 🤖 Kagent + Zadig 把 Agent 纳入工程体系,从代码到上线走通了。

今天,企业开发 AI Agent 已非难事,但落地生产时,部署、升级、治理、观测等工程问题才是真正的拦路虎——它们属于 Runtime 与交付体系,而非框架层。本文结合 Kagent 与 Zadig,讲解如何将自研 Agent 融入企业现有软件工程体系,实现从代码提交到生产运行的完整闭环。

# 一、企业已经学会开发 Agent,但在生产环境中,Agent 仍然没有进入工程体系。

过去一年,AI Agent 在企业中的落地速度明显加快。开发一个 Agent 已经不再困难:LangGraph、CrewAI、AutoGen、各类大模型 API 与低代码平台,让“做出一个能跑的 Agent”变得非常容易。

但一个更现实的问题正在出现:

能跑 ≠ 能上线,更不等于能长期运行。

大量 Agent 项目停留在 PoC 阶段的原因,并不在于模型能力不足,而在于缺少一套“运行与治理体系”。

企业在生产环境中通常会遇到三类核心问题:

  • 部署问题:Agent 不再是无状态服务,它可能包含模型配置、工具链、记忆与会话状态

  • 治理问题:Agent 的行为具有不确定性,需要权限控制与审计能力

  • 可观测问题:一次任务可能涉及多轮推理、多工具调用,难以定位问题

换句话说:

企业已经学会开发 Agent,却还没有学会管理 Agent。

# 二、Agent 缺的不是 Framework,而是 Runtime

当前市场上,Agent Framework 已经非常丰富,但它们大多解决的是“如何构建 Agent”,而不是“如何运行 Agent”。

在企业生产环境中,一个典型的应用已经有成熟的生命周期:

Git → CI → 镜像构建 → CD → Kubernetes → 监控与治理

但 Agent 的情况不同。

Agent 不只是一个运行中的服务,它通常还包含:

  • 模型配置(Model)

  • 工具调用(Tool)

  • 会话与记忆(Memory)

  • Prompt 与策略(Policy)

  • 权限与边界(Guardrail)

这些能力,使得 Agent 本质上已经不再是“普通微服务”。

因此问题变成:

现有软件工程体系,无法直接理解 Agent 这种新型工作负载。

于是,一个关键缺口出现了:

Agent Runtime

当前主流 Agent 平台分三类,各有短板:

类型 典型代表 擅长 短板
大模型厂商平台 百度文心 AgentBuilder、阿里通义 AgentStudio 快速体验模型能力 私有化成本高,被厂商锁定
低代码 Agent 平台 Coze、Dify 低门槛搭建原型 复杂流程和权限治理弱
开源 Agent 框架 CrewAI、AutoGen、LangGraph 灵活定制逻辑 运维、安全责任全部自己扛

# 三、为什么 Kubernetes 需要 Agent Runtime?

Kubernetes 已经成为云原生时代的标准运行平台,它能够很好地管理 Deployment、StatefulSet、Job 等工作负载。

但 Kubernetes 并不“理解 Agent”。

因为在 Kubernetes 的抽象中:

  • Pod 是计算单元

  • Deployment 是副本控制

  • Service 是网络访问

  • Job 是一次性任务

而 Agent 具有完全不同的语义:

  • 有状态会话

  • 动态工具调用

  • 外部系统交互

  • 长周期运行逻辑

  • 行为可演化性

因此,如果直接用 Kubernetes 管理 Agent,会出现一个问题:

Kubernetes 只能管理容器级别的工作负载,但无法表达 Agent 的语义模型。

Kagent 的作用正是在这里:

将 AI Agent 抽象为 Kubernetes 原生资源(CRD),并提供 Agent 生命周期管理能力。

通过这种方式:

  • Agent 成为 Kubernetes 中的一等资源

  • Agent 可以被声明式管理

  • Agent 可以纳入 GitOps 流程

Kagent 本质上做了一件事:

补齐 Kubernetes 对“智能工作负载”的原生认知。

# 四、为什么选择 Kagent + Zadig?

要让 Agent 真正进入生产环境,仅有 Runtime 还不够,还需要完整的软件交付体系。

整个体系分为两部分:

# 4.1 Software Delivery(Zadig)

Zadig 负责 Agent 的持续交付:

  • 代码构建

  • 镜像生成

  • 自动化测试

  • 多环境部署

  • 灰度发布/蓝绿发布

  • 版本回滚

它解决的是:

Agent 如何被交付到生产环境

# 4.2 Agent Runtime(Kagent)

Kagent 负责 Agent 的运行:

  • Agent 生命周期管理

  • 运行状态管理

  • 模型与工具调度

  • 会话与记忆管理

  • 可观测能力

它解决的是:

Agent 如何在生产环境中运行

# 4.3 总体关系

  • Zadig 负责 Delivery

  • Kagent 负责 Runtime

  • 企业系统提供业务能力

这三层分别对应交付、运行与业务能力三个关键维度。

# 五、整体架构

整个系统可以抽象为四层结构:

架构说明:

Software Delivery(Zadig): 负责将 Agent 从代码转化为可部署的生产版本,并通过 CI/CD 流水线完成构建、测试、发布与回滚。

Agent Runtime(Kagent): 在 Kubernetes 内运行 Agent,并将其抽象为 CRD 资源,统一管理 Agent 生命周期、模型、工具、记忆与运行状态。

Enterprise Tools: Agent 在执行任务时调用的外部能力,包括企业内部系统与第三方服务。这些能力可以通过 MCP、HTTP API 或 SDK 等方式接入。

三者共同构成 Agent 从开发到运行的工程闭环。

# 六、实践演示:5 分钟完成一个自研 AI Agent 的生产部署

本章展示如何将一个自研 Agent 从代码快速部署到生产环境,并纳入企业交付体系。

源码地址:https://github.com/koderover/zadig/tree/main/examples/kagent-demo (opens new window)


# 6.1 部署 Kagent Runtime

在 Kubernetes 集群中部署 Kagent。

# 安装 kagent cli
 brew install kagent

# 安装 kagent 到集群
kagent install --profile minimal


# 6.2 注册自研 Agent

通过 YAML 定义 Agent 资源(CR),并提交到集群。

apiVersion: kagent.dev/v1alpha2
kind: Agent
metadata:
  name: hello-devops-agent
  namespace: kagent
spec:
  description: DevOps runbook assistant backed by a Go ADK agent.
  type: BYO
  byo:
    deployment:
      image: $hello-agent-image$
      env:
        - name: MODEL_PROVIDER
          valueFrom:
            secretKeyRef:
              name: hello-agent-model-config
              key: MODEL_PROVIDER
        - name: MODEL_BASE_URL
          valueFrom:
            secretKeyRef:
              name: hello-agent-model-config
              key: MODEL_BASE_URL
        - name: MODEL_API_KEY
          valueFrom:
            secretKeyRef:
              name: hello-agent-model-config
              key: MODEL_API_KEY
        - name: MODEL_NAME
          valueFrom:
            secretKeyRef:
              name: hello-agent-model-config
              key: MODEL_NAME
        - name: MODEL_TIMEOUT
          valueFrom:
            secretKeyRef:
              name: hello-agent-model-config
              key: MODEL_TIMEOUT

kubectl apply 后 查看 Agent 资源状态


# 6.3 将 Agent 纳入 Zadig 流水线

在 Zadig 中创建交付流水线:

  • 构建 Agent 镜像

  • 更新 Agent CR

  • 推送到不同环境

# 6.4 发布新版本 Agent

通过 Zadig 执行发布流程:

  • Dev → Staging → Prod

  • 支持发布与回滚


# 6.5 查看 Agent 运行状态

在 Kagent Dashboard 查看:

  • Agent 在线状态

  • 任务执行情况

  • 工具调用记录


# 6.6 接入可观测能力

通过 OpenTelemetry + Grafana:

  • Trace Agent 推理链路

  • 监控 Token 消耗

  • 分析工具调用耗时

# 6.7 接入企业 Tool(可选)

Agent 可调用企业内部系统:

  • CRM 查询客户信息

  • GitHub 创建 PR

  • 内部知识库检索

  • 通过 MCP Server 调用 DevOps 能力

# 七、生产环境注意事项

在生产环境中,需要关注以下问题:

  • Agent 状态需外部持久化(Memory / Session)

  • Kagent Controller 建议高可用部署

  • Tool 访问需 RBAC 控制

  • CRD 版本需注意兼容性

  • 建议统一接入 OpenTelemetry 进行观测

# 八、总结

Agent 确实是企业应用的新形态,但这不意味着要另起炉灶搭一套全新的研发体系。核心思路很简单:

让 Agent 复用企业已有的软件工程能力,跟微服务共享同一套交付、治理和观测体系。

Agent Framework 管开发,Agent Runtime 管运行,Software Delivery 管持续交付——各司其职。当 Agent 能像普通应用一样被构建、部署、升级和治理,它才算真正具备了进入企业生产环境的资格。

👉 扫码加入交流群(备注“Kagent”),一起探索 AI + Zadig 的无限可能。

Background Image

作为一名软件工程师,我们一直给各行各业写软件提升效率,但是软件工程本身却是非常低效,为什么市面上没有一个工具可以让研发团队不这么累,还能更好、更快地满足大客户的交付需求?我们是否能够打造一个面向开发者的交付平台呢?我们开源打造 Zadig 正是去满足这个愿望。

—— Zadig 创始人 Landy