- AgentKit Runtime HTTP 示例:启动一个轻量 HTTP 进程,对外暴露
/invoke、/ping、/health、/readiness和/liveness。适合先验证 Agent 能否作为 AgentKit Runtime 被调用。 - AgentKit Server 示例:基于 ADK Web 暴露
/run、/run_sse、/list-apps和会话管理接口。适合需要复用 ADK Web 原生会话和执行语义的场景。
Agent.builder() 与 Runner 正常工作。
部署前准备
- 使用 JDK 17 或更高版本。
- 固定 VeADK Java 的 Maven 版本、源码提交或发布版本。
- 将模型、AgentKit、知识库、记忆、工具和观测凭证放入平台 Secret,不要写入代码仓或镜像。
- 确认运行镜像可以访问模型服务、AgentKit 工具服务、检索后端和观测后端。
- 在接入云上 Runtime 前,先用本地 HTTP 调用验证入口类和环境变量。
本地运行 Runtime
先构建示例模块并复制运行依赖:127.0.0.1:8000。开启流式返回时设置 AGENTKIT_STREAMING=true:
调用 HTTP 接口
基础 Runtime 的健康检查和调用接口如下:
可以用 AgentKit CLI 调用本地 Runtime:
local-placeholder 只用于本地验证。部署到云上后,请使用网关或平台分发的凭证。
会话与并发
/invoke 通过请求头选择会话:
user_id 和 session_id 只用于选择对话上下文,不等同于已认证身份。生产环境应在可信网关完成鉴权,并只把可信的用户和会话信息转发给 Runtime。
基础 Runtime 的会话保存在内存中,进程重启后会丢失。需要长期保留对话历史时,应在 Agent 侧显式配置稳定的会话服务或记忆后端。并发行为也需要提前压测:同一个 user_id / session_id 的重叠请求会返回 409 SessionBusy,工作线程满时会返回 503。
容器入口
示例镜像使用eclipse-temurin:17-jre,将 jar 放到 /app/app.jar,依赖放到 /app/lib/,默认入口为:
AGENTKIT_BIND_HOST=0.0.0.0 和 PORT=8000,并以 10001:10001 运行。示例构建命令如下:
自定义 Agent
不设置AGENTKIT_AGENT_CLASS 时,示例 Runtime 会根据环境变量创建一个内置 Agent。需要复用业务代码里的 Agent 时,可以提供一个包含 public static BaseAgent ROOT_AGENT 的类,并把完整类名注入给 Runtime:
ROOT_AGENT 的 Java 代码中配置。Runtime 只负责加载该 Agent、承接 HTTP 请求并在进程退出时关闭 Agent。
环境变量
工具相关凭证也应通过 Secret 注入:
只在
AGENTKIT_TOOLS 中写入工具名不会自动开通后端服务。部署前应单独确认服务权限、网络连通性和 Secret 注入方式。
AgentKit CLI 模板
AgentKit CLI 提供 Java 生命周期模板,可用于生成或包装 Runtime 项目。常见模板包括:
模板能力随 CLI 版本变化。使用前先执行: