com.volcengine.veadk.Agent.builder()。它在 ADK Java 的 LlmAgent 基础上补充 VeADK 风格的模型默认值、metadata、工具、技能、记忆、知识库和运行时集成。
最小智能体
Agent.builder() 默认会设置一个可用的 Agent 名称、说明、系统指令和模型名,因此最小代码可以只调用 build()。实际项目建议显式设置 name、instruction 和模型配置,避免环境差异导致行为变化。
模型字符串有三种入口:
modelName("..."):语义化入口,内部等价于设置模型名。model("..."):继承自 ADK Java 的模型名入口。model(BaseLlm):直接传入已经配置好的模型对象。
new Runner(agent).run(...) 直接调用,也可以接入 ADK Web 或 AgentKit Runtime。结束使用时,如果模型或工具持有连接资源,建议调用 agent.close().blockingAwait() 释放资源。
模型选择
如果没有显式设置modelProvider(...),VeADK Java 会按模型名前缀判断 provider。支持的前缀包括 ark/、openai/、openai-compatible/ 和 openai_compatible/。没有前缀时,默认按 OpenAI-compatible 协议创建模型客户端。
OpenAI-compatible 示例:
modelBaseUrl(...) 是 modelApiBase(...) 的别名,常用于 OpenAI-compatible endpoint;Ark 场景通常使用 modelApiBase(...)。
显式模型对象
当需要设置 Ark 协议细节、复用模型实例,或接入自定义BaseLlm 时,可以先创建模型对象,再传给 Agent。
Responses API 和结构化输出
默认 Ark 适配器使用 Chat Completions。需要响应续接、JSON Schema 输出或 Responses 协议能力时,显式选择ArkLlmConfig.Api.RESPONSES,并注册 ArkResponsesSession 的两个模型回调。
previous_response_id 续接;历史压缩、配置变化或远端响应过期时会回退到完整历史请求。
模型降级
modelFallbacks(...) 可以为同一个 Agent 配置多个备用模型端点。每次生成都从主模型开始,只有在尚未收到任何模型响应前发生异常,才会尝试下一个模型。
Metadata
VeADK Java 会在构建时记录模型、工具、组件和搜索来源等 metadata。可以用AgentMetadataExtractor 获取快照,供运行时注册、调试或文档化使用。
环境变量
显式配置的
modelApiKey(...)、ArkLlmConfig.apiKey(...) 或 OpenAiCompatibleLlmConfig.apiKey(...) 优先级最高。生产环境应通过 Secret Manager、CI/CD secret 或运行时环境变量注入凭证。