kagent-dev/kagent

Cloud Native Agentic AI | Discord: https://bit.ly/kagentdiscord

kagent – Kubernetes 原生 AI 代理框架

它是什么 – kagent 是一个开源项目,允许你将 AI 代理 定义为 Kubernetes 原生资源并进行运行和管理。一个 代理(可以想象成聊天机器人或自主使用工具的服务)在 YAML 自定义资源中描述,kagent 负责启动相应的运行时、将其连接到 LLM 提供商,并持久化其对话状态。

为什么重要 – 大规模运行基于 LLM 的服务通常需要处理容器、网络、扩展和可观测性。kagent 将所有这些整合到 Kubernetes 控制平面中,因此你可以使用与其他云原生工作负载相同的 kubectl/GitOps 工作流。


核心概念(来自 README)

概念 作用
Agent 一种 Kubernetes 自定义资源,捆绑了代理的行为(提示、工具、子代理)和运行时配置。
AgentTemplate 可复用的系统提示、工具和 LLM 设置定义,多个代理可以共享。
Harness 选择执行环境 – Go ADK、Python ADK、Codex、Claude 或自定义运行时。
LLM 提供商 内置支持 OpenAI、Azure OpenAI、Anthropic、Google Vertex AI、Ollama,以及自定义网关模型。
MCP 工具 一个“托管控制平面”工具目录(Kubernetes、Istio、Helm、Argo、Prometheus 等),代理可以通过 RemoteMCPServer 资源调用。
会话 持久化对话/历史记录存储在 PostgreSQL 中;你可以暂停、恢复、检查点或分叉会话。
可观测性 对代理、模型和工具调用的 OpenTelemetry 追踪,可与现有监控栈集成。

架构概览

UI  →  kagent Controller  ←  CLI
          │                │
          ▼                ▼
   Kubernetes resources   gRPC / A2A / MCP APIs
          │
          ▼
        DB (PostgreSQL)   ← stores sessions & task history
          │
          ▼
      Substrate          ← lifecycle manager (suspend, resume, snapshots)
          │
          ▼
   Agent Runtimes (Go, Python, Codex, Claude, …)

控制器监视自定义资源,准备代理,并与实际运行所选运行时的 底层平台 通信。Web UI 和 CLI 为用户提供交互式访问。

你可以用 kagent 做什么

  • 用 YAML 声明一个代理,进行版本控制,并让 Kubernetes 启动它。
  • 通过更改 Harness 或 ModelConfig 来切换模型或运行时 – 无需更改代码。
  • 通过 MCP 服务器向代理暴露工具(例如 Helm 图表、Prometheus 查询),实现自主操作。
  • 持久化和重放对话,用于调试或构建“检查点并继续”的工作流。
  • 使用 OpenTelemetry 观察每一步,将数据馈送到 Grafana、Jaeger 等。

入门与社区

  • 文档:你的第一个代理 和 安装指南 在 https://kagent.dev。
  • 交互式 UI 演示(README 中的 GIF)展示聊天和工具管理。
  • 通过 GitHub issues、PR、Discord、CNCF Slack 频道或项目的 Code of Conduct 贡献。
  • 该项目由 CNCF 孵化,采用 Apache-2.0 许可证,并遵循 OpenSSF 最佳实践。

底线 – kagent 是一个真正的、生产级框架,将 AI 代理带入 Kubernetes 生态系统,为开发者提供一种声明式、可观测且可扩展的方式来在云原生规模下运行 LLM 驱动的服务。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目