本文对AgentKit SDK进行简要介绍,包含其核心架构设计、模块依赖关系及主要特性等。
AgentKit SDK是一个Python开发工具包,用于快速构建符合AgentKit标准的Agent应用。SDK提供了一套简洁的装饰器和客户端接口(AgentKit API概览),帮助开发者专注于Agent业务逻辑的实现及资源的创建和管理。 AgentKit SDK采用模块化设计,主要包含以下模块:
提供多种应用模式,将用户代码封装为符合AgentKit标准的HTTP服务:
最常用的应用框架,适用于标准的Agent应用。
核心装饰器:
- @app.entrypoint:定义Agent的主入口函数。
标准路由:
- /health、/readiness、/liveness:Kubernetes就绪探针。
基于MCP(Model Context Protocol)协议的应用框架,用于将工具封装为MCP服务。
核心装饰器:
- @app.agent_as_a_tool:将Agent封装为MCP工具。
基于A2A(Agent-to-Agent)协议的应用框架,用于构建可互相通信的Agent。
核心装饰器:
- @app.agent_executor:注册Agent执行器。
- @app.task_store:注册任务存储(可选)。
Agentkit SDK提供的高级应用框架,适用于适配Google ADK Web Server的Agent应用。
标准路由
- /invoke:兼容AgetnkitSimpleApp的Agent对话端点。
核心装饰器
无注解,用于完整服务器应用。
提供便捷的客户端接口,用于访问AgentKit Platform的各项服务。
记忆服务客户端,管理Agent的长期和短期记忆。
主要功能:
- create_memory_collection():创建记忆库。
- list_memory_collections():列举记忆库。
- get_memory_collection():获取记忆库详情。
- update_memory_collection():更新记忆库配置。
- delete_memory_collection():删除记忆库。
- get_memory_connection_info():获取连接信息。
设计理念:控制面和数据面解耦
- 控制面(SDK提供):管理记忆库的创建、配置和获取连接信息。
- 数据面(ADK实现):通过MemoryBase或Mem0协议进行实际的记忆读写。
知识库服务客户端,管理Agent的向量化知识库。
主要功能:
- list_knowledge_bases():列举知识库。
- add_knowledge_base():添加知识库。
- get_knowledge_connection_info():获取知识库连接信息。
- delete_knowledge_base():删除知识库。
使用场景:
MCP Gateway客户端,用于管理和路由大量MCP工具。
主要功能:
Runtime管理客户端,用于管理Agent的运行时环境。
主要功能:
所有客户端的基类,提供统一的配置和HTTP请求能力。
配置项:
使用contextvars管理每个请求的上下文信息,包括:
使用Python装饰器简化应用开发,开发者只需关注业务逻辑。
SDK不限制使用特定的Agent框架,支持:
内置OpenTelemetry支持,自动收集:
提供完整的生产环境支持: