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 驱动的服务。
相关
- 项目
- 项目
- 项目
- 项目
- 项目