google/adk-python
GitHub: google/adk-python
Google 开源的代码优先 Python 框架,用于构建、评估和部署复杂的多智能体 AI 系统。
Stars: 18490 | Forks: 3102
# Agent Development Kit (ADK)
[](LICENSE)
[](https://pypi.org/project/google-adk/)
[](https://github.com/google/adk-python/actions/workflows/python-unit-tests.yml)
[](https://www.reddit.com/r/agentdevelopmentkit/)
### 评估 Agent
```
adk eval \
samples_for_testing/hello_world \
samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json
```
## 🤝 贡献
我们欢迎社区的贡献!无论是 Bug 报告、功能请求、文档改进还是代码贡献,请参阅我们的
- [通用贡献指南和流程](https://google.github.io/adk-docs/contributing-guide/)。
- 如果您想贡献代码,请阅读[代码贡献指南](./CONTRIBUTING.md)以开始。
## 社区仓库
我们建立了 [adk-python-community repo](https://github.com/google/adk-python-community),这里是社区贡献的工具、第三方服务集成和部署脚本不断发展的生态系统所在地,旨在扩展 ADK 的核心能力。
## Vibe Coding
如果您想通过 vibe coding 开发 Agent,[llms.txt](./llms.txt) 和 [llms-full.txt](./llms-full.txt) 可用作提供给 LLM 的上下文。前者是摘要版本,后者包含完整信息,以防您的 LLM 拥有足够大的上下文窗口。
## 社区活动
- [已完成] ADK 的第一次社区会议于 2025 年 10 月 15 日星期三举行。请记得[加入我们的群组](https://groups.google.com/g/adk-community)以获取[录音](https://drive.google.com/file/d/1rpXDq5NSH8-MyMeYI6_5pZ3Lhn0X9BQf/view)和[幻灯片](https://docs.google.com/presentation/d/1_b8LG4xaiadbUUDzyNiapSFyxanc9ZgFdw7JQ6zmZ9Q/edit?slide=id.g384e60cdaca_0_658&resourcekey=0-tjFFv0VBQhpXBPCkZr0NOg#slide=id.g384e60cdaca_0_658)。
## 📄 许可证
本项目基于 Apache 2.0 许可证授权 - 详见 [LICENSE](LICENSE) 文件。
*祝您构建 Agent 愉快!*
An open-source, code-first Python framework for building, evaluating, and deploying sophisticated AI agents with flexibility and control.
Important Links: Docs, Samples, Java ADK, Go ADK & ADK Web.
Agent Development Kit (ADK) 是一个灵活且模块化的框架,它将软件工程原则应用于 AI Agent 的创建。该框架旨在简化 Agent 工作流的构建、部署和编排,涵盖从简单任务到复杂系统的各种场景。虽然 ADK 针对 Gemini 进行了优化,但它与模型无关、与部署方式无关,并且与其他框架兼容。 ## 🔥 最新动态 - **Custom Service Registration**: 添加了服务注册表,提供了一种通用的方式来注册要在 FastAPI server 中使用的自定义服务实现。请参阅[简要说明](https://github.com/google/adk-python/discussions/3175#discussioncomment-14745120)。([391628f](https://github.com/google/adk-python/commit/391628fcdc7b950c6835f64ae3ccab197163c990)) - **Rewind**: 增加了将 Session 回滚到上一次调用之前状态的能力 ([9dce06f](https://github.com/google/adk-python/commit/9dce06f9b00259ec42241df4f6638955e783a9d1))。 - **New CodeExecutor**: 引入了新的 AgentEngineSandboxCodeExecutor 类,支持使用 Vertex AI Code Execution Sandbox API 执行 Agent 生成的代码 ([ee39a89](https://github.com/google/adk-python/commit/ee39a891106316b790621795b5cc529e89815a98)) ## ✨ 主要特性 - **Rich Tool Ecosystem**: 利用预构建工具、自定义函数、OpenAPI specs、MCP 工具或集成现有工具,赋予 Agent 多样化的能力,所有这些都能与 Google 生态系统紧密集成。 - **Code-First Development**: 直接使用 Python 定义 Agent 逻辑、工具和编排,以实现最大的灵活性、可测试性和版本控制。 - **Agent Config**: 无需代码即可构建 Agent。请查看 [Agent Config](https://google.github.io/adk-docs/agents/config/) 功能。 - **Tool Confirmation**: 一种[工具确认流程 (HITL)](https://google.github.io/adk-docs/tools/confirmation/),可以通过显式确认和自定义输入来守护工具执行。 - **Modular Multi-Agent Systems**: 通过将多个专用 Agent 组合成灵活的层次结构,设计可扩展的应用程序。 - **Deploy Anywhere**: 轻松容器化并在 Cloud Run 上部署 Agent,或使用 Vertex AI Agent Engine 实现无缝扩展。 ## 🚀 安装 ### 稳定版(推荐) 您可以使用 `pip` 安装最新稳定版本的 ADK: ``` pip install google-adk ``` 发布周期大约为每两周一次。 建议大多数用户使用此版本,因为它代表了最新的官方发布版本。 ### 开发版 Bug 修复和新功能会首先合并到 GitHub 的 main 分支中。如果您需要访问尚未包含在官方 PyPI 发布版中的更改,可以直接从 main 分支安装: ``` pip install git+https://github.com/google/adk-python.git@main ``` 注意:开发版是直接从最新的代码提交构建的。虽然它包含最新的修复和功能,但也可能包含稳定版中不存在的实验性更改或 Bug。主要将其用于测试即将推出的更改或在关键修复正式发布之前获取这些修复。 ## 🤖 Agent2Agent (A2A) Protocol 和 ADK 集成 对于远程 Agent 到 Agent 的通信,ADK 与 [A2A protocol](https://github.com/google-a2a/A2A/) 集成。 请参阅此[示例](https://github.com/a2aproject/a2a-samples/tree/main/samples/python/agents)了解它们如何协同工作。 ## 📚 文档 浏览完整文档,获取有关构建、评估和部署 Agent 的详细指南: * **[Documentation](https://google.github.io/adk-docs)** ## 🏁 功能亮点 ### 定义单个 Agent: ``` from google.adk.agents import Agent from google.adk.tools import google_search root_agent = Agent( name="search_assistant", model="gemini-2.5-flash", # Or your preferred Gemini model instruction="You are a helpful assistant. Answer user questions using Google Search when needed.", description="An assistant that can search the web.", tools=[google_search] ) ``` ### 定义多 Agent 系统: 定义一个包含协调器 Agent、问候 Agent 和任务执行 Agent 的多 Agent 系统。然后,ADK 引擎和模型将引导这些 Agent 协同工作以完成任务。 ``` from google.adk.agents import LlmAgent, BaseAgent # 定义单个 Agent greeter = LlmAgent(name="greeter", model="gemini-2.5-flash", ...) task_executor = LlmAgent(name="task_executor", model="gemini-2.5-flash", ...) # 创建父 Agent 并通过 sub_agents 分配子 Agent coordinator = LlmAgent( name="Coordinator", model="gemini-2.5-flash", description="I coordinate greetings and tasks.", sub_agents=[ # Assign sub_agents here greeter, task_executor ] ) ``` ### 开发 UI 内置开发 UI,帮助您测试、评估、调试和展示您的 Agent。
### 评估 Agent
```
adk eval \
samples_for_testing/hello_world \
samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json
```
## 🤝 贡献
我们欢迎社区的贡献!无论是 Bug 报告、功能请求、文档改进还是代码贡献,请参阅我们的
- [通用贡献指南和流程](https://google.github.io/adk-docs/contributing-guide/)。
- 如果您想贡献代码,请阅读[代码贡献指南](./CONTRIBUTING.md)以开始。
## 社区仓库
我们建立了 [adk-python-community repo](https://github.com/google/adk-python-community),这里是社区贡献的工具、第三方服务集成和部署脚本不断发展的生态系统所在地,旨在扩展 ADK 的核心能力。
## Vibe Coding
如果您想通过 vibe coding 开发 Agent,[llms.txt](./llms.txt) 和 [llms-full.txt](./llms-full.txt) 可用作提供给 LLM 的上下文。前者是摘要版本,后者包含完整信息,以防您的 LLM 拥有足够大的上下文窗口。
## 社区活动
- [已完成] ADK 的第一次社区会议于 2025 年 10 月 15 日星期三举行。请记得[加入我们的群组](https://groups.google.com/g/adk-community)以获取[录音](https://drive.google.com/file/d/1rpXDq5NSH8-MyMeYI6_5pZ3Lhn0X9BQf/view)和[幻灯片](https://docs.google.com/presentation/d/1_b8LG4xaiadbUUDzyNiapSFyxanc9ZgFdw7JQ6zmZ9Q/edit?slide=id.g384e60cdaca_0_658&resourcekey=0-tjFFv0VBQhpXBPCkZr0NOg#slide=id.g384e60cdaca_0_658)。
## 📄 许可证
本项目基于 Apache 2.0 许可证授权 - 详见 [LICENSE](LICENSE) 文件。
*祝您构建 Agent 愉快!*标签:ADK, Agent Development Kit, AI开发, Apache 2.0, Apex, DLL 劫持, Function Calling, Gemini, Google, LLM, Nuclei, Python, RAG, Unmanaged PE, 人工智能, 代码优先, 企业级, 多智能体, 多模态, 大语言模型, 工作流, 工具调用, 开发框架, 开源, 数据防泄漏, 无后门, 机器学习, 模型无关, 用户模式Hook绕过, 编排, 网络调试, 自动化, 评估, 请求拦截, 软件开发套件, 逆向工具, 部署