Volcengine Agent Development KitVolcengine Agent Development Kit
VeADK
介绍
VeADK
介绍
  • 介绍
  • 安装
  • 快速开始
  • 智能体
  • 记忆
  • 工具
  • 知识库
  • 可观测
  • 评测
  • 部署上云
  • 命令行工具VeADK

智能体

智能体 Agent 是一个具备完整功能的执行单元,依托内置的大模型推理能力,其不仅可以独立完成各类任务、与用户进行智能交互、调用外部工具资源,还能实现与其他 Agent 之间的协同配合。

属性

Agent 中主要包括如下属性:

属性类型说明
namestrAgent 的名称,即标识符
descriptionstrAgent 的描述,后续会被构建为系统提示词的一部分,也被用来在A2A协议中进行 Agent 挑选
instructionstrAgent 中内置模型的系统提示词
model_namestrAgent 中内置模型的名称,默认从环境变量中获取
model_providerstrAgent 中内置模型的提供商,默认从环境变量中获取
model_api_basestrAgent 中内置模型的 API Base,默认从环境变量中获取
model_api_keystrAgent 中内置模型的 API Key,默认从环境变量中获取
toolslistFunction call 中的工具列表,既可以是本地工具,也可以是 MCP 工具
sub_agentslist子 Agent 列表,用于多 Agent 之间交互
knowledgebaseKnowledgeBase知识库,后端支持本地内存(local)和数据库(opensearch、viking、redis、mysql),通常设置为一个能够检索的向量数据库
long_term_memoryLongTermMemory长期记忆,后端支持本地内存(local)和数据库(opensearch、viking、redis、mysql),通常设置为一个能够检索的向量数据库
tracerslist追踪器列表,能够定义不同的追踪方式,并在 Agent 执行完毕后将整体 Tracing 信息保存至本地
serve_urlstrAgent 服务主机的 URL,将显示在 Agent Card 中

您可以在火山引擎方舟平台选择适合您的大模型。

运行

在生产环境中,我们推荐您使用 VeADK 的Runner执行器来进行多租户服务与 Agent 运行,在多租场景下,Runner通过三个属性来确定资源空间:

  • app_name:应用名称
  • user_id:用户ID
  • session_id:某个用户某次会话的ID
from veadk import Agent, Runner
from veadk.memory.short_term_memory import ShortTermMemory

# Define Runner config
APP_NAME = "..."
USER_ID = "..."
SESSION_ID = "..."

agent = Agent()

runner = Runner(
    agent=agent,
    short_term_memory=ShortTermMemory(),
    app_name=APP_NAME,
    user_id=USER_ID
)

response = await runner.run(messages="...", session_id=SESSION_ID)

A2A 智能体

当智能体部署到云上后,可以在本地被初始化为一个 Remote Agent,也就是能够通过 A2A 协议来访问的智能体,初始化方法如下:

remote_agent = RemoteVeAgent(
    name="a2a_agent",
    url="..." # <--- url from cloud platform
)

short_term_memory = ShortTermMemory()
runner = Runner(
    agent=remote_agent,
    short_term_memory=short_term_memory
)

res = await runner.run(
    messages="...",
    session_id="sample_session"
)

多智能体

使用 VeADK 可以构建多 Agent 协作, 主 Agent 通过 sub_agents 机制协调多个子 Agent 完成复杂任务。以下代码示例分别定义了三个 Agent:

  • weather_reporter:负责获取指定城市的天气信息(调用了 get_city_weather 工具)。
  • suggester:根据天气情况给出穿衣建议。
  • planner_agent:作为“调度员”,先调用 weather_reporter 获取天气,再调用 suggester 获取建议,最后将结果整合返回给用户。

该多智能体协作能更好的满足用户的需求。

from veadk import Agent, Runner
from veadk.memory.short_term_memory import ShortTermMemory
from veadk.tools.demo_tools import get_city_weather

session_id = "..."
prompt = "..."

# 定义三个智能体,分别为天气预报智能体、穿衣建议智能体以及一个Planner智能体
weather_reporter = Agent(
    name="weather_reporter",
    description="A weather reporter agent to report the weather.",
    tools=[get_city_weather],
)
suggester = Agent(
    name="suggester",
    description="A suggester agent that can give some clothing suggestions according to a city's weather.",
)

planner_agent = Agent(
    name="planner",
    description="A planner that can generate a suggestion according to a city's weather.",
    instruction="Invoke weather reporter agent first to get the weather, then invoke suggester agent to get the suggestion. Return the final response to user.",
    sub_agents=[weather_reporter, suggester],
)

runner = Runner(agent=planner_agent, short_term_memory=ShortTermMemory())
response = await runner.run(messages=prompt, session_id=session_id)
Last Updated:: 8/19/25, 5:22 AM
Contributors: yaozheng-fang
Prev
快速开始
Next
记忆