Token导航 LogoToken导航TokenDH.com
Kaggle Adk Capstone A2 A MCP Multiagent logo
AI代理未说明官方级别未说明来源级核验

Kaggle Adk Capstone A2 A MCP Multiagent

MCP Server

Order Copilot是一个企业级多代理支持协调器,通过Gemini驱动的根协调器将任务委派给远程子代理,支持自定义工具和外部系统访问,适用于客户支持场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
AI代理Python工作流自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sanikacentric

提供方

sanikacentric

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

订单副本——多代理支持编排器(ADK+A2A+MCP)

一种生产风格的企业代理顶点,展示了Gemini驱动的根编排器如何通过A2A委托给远程子代理,调用自定义工具(包括长时间运行的暂停/恢复流),并桥接到MCP(模型上下文协议)以进行外部访问。它附带了Dev UI、跟踪/事件、一个小型评估集和Docker/Cloud运行路径。

Track:企业代理

原因:客户支持需要一名助理负责产品、合规性、运输ETA和异步风险扫描

如何:ADK根剂⇄ A2A子代理+本地工具+MCP网桥

价值:明确的路由、模块化所有权、最低权限边界和云就绪部署

🚀 问题→ 解决方案→ Value

问题 支持团队会回答一系列问题:产品(库存/价格)、合规性(如增值税)、运输ETA和长期风险扫描。

解决方案 根LLM代理(support_orchetrator)路由到正确的功能:

产品→ 产品目录代理(A2A)

合规→ 合规代理(A2A)

发货预计到达时间→ shipping_ta(自定义工具)

风险扫描→ start_risk_scan/resume_risk_scan(长时间运行)

本地笔记(演示)→ mcp_fetch_file_note(mcp网桥存根)

价值 每个功能的独立可演化性(版本、规模、治理),具有可观察性和评估挂钩。

🧱 仓库布局 adk顶石/ ├─ README.md ├─ 需求.txt ├─ .env.example#安全模板(无秘密) ├─ Dockerfile.root#根代理映像 ├─ Dockerfile.catalog#产品目录A2A服务 ├─ Dockerfile.comcompliance#合规A2A服务 ├─ 订单_飞行员/ │ ├─ root_agent.yaml#告诉开发人员UI要运行哪个根代理 │ ├─ 代理商/ │ │ ├─ support_oarchstrator.py │ │ └─ __初始化__南美国家巴拉圭的缩写(Paraguay) │ ├─ 服务器/ │ │ ├─ product_catalog_server.py#A2A@:8001 │ │ ├─ 合规性_服务器.py#A2A@:8002 │ │ └─ __初始化__南美国家巴拉圭的缩写(Paraguay) │ ├─ 工具/#(可选存根:ETA、长期、MCP) │ ├─ eval/ │ │ ├─ evalset.yaml │ │ └─ cases.jsonl │ └─ __初始化__南美国家巴拉圭的缩写(Paraguay) └─ 脚本/ ├─ run_catalog.ps/run_catalog.sh ├─ run_compliance.ps/run_comployance.sh └─ run_devui.ps1/run_devue.sh

🧩 架构与交互 +------------------------------+A2A(HTTP/代理卡)+---------------------------+ |根LLM代理|───────────────────────────▶ | 产品目录代理| |support_oarcher ||-get_product_info()| |(Gemini 2.5 Flash Lite)◀─────────────────────────── | - 代理卡@:8001| | | +---------------------------+ |工具:shipping_eta()| |start_risk_scan()|A2A(HTTP/代理卡)+---------------------------+ |结果风险扫描▶ | 合规代理| |mcp_fetch_file_note()||-check_country_vat()| | | ◀─────────────────────────── | - 代理卡@:8002| |开发UI:跟踪/事件/图形|+---------------------------+ |MCP桥(演示存根)─────────▶ 文件系统/未来的MCP提供者(Jira、Drive、DB) +------------------------------+

亮点

AUTO工具调用让Gemini选择正确的工具/代理,然后根将结果总结为友好的答案。

A2A将子代理隔离到单独的服务中(自己的生命周期和规模)。

长时间运行的扫描返回一个令牌;稍后,继续 完成。

MCP演示展示了如何通过协议边界安全地访问本地/外部系统。

✅ 特征检查表(课程评价标准)

多代理系统:根LLM+两个远程A2A子代理

工具:自定义(ETA,长时间运行)+MCP桥接存根

长时间运行的操作:带令牌的start_risk_scan/resumme_risk_scan

会话和状态:开发UI会话+内存令牌缓存

可观察性:跨工具和A2A调用的开发UI事件/图形/跟踪

评估:order_copilot/eval/{evalset.yaml,cases.jsonl}

A2A协议:通过代理卡暴露和消费的子代理

部署:Docker构建/运行;下面的可选云运行部分

📦 入门指南

回复:https://https://sanikacentric/KAGGLE-ADK-CAPSTONE-A2A-MCP-多代理/树/主

  1. 克隆与环境

git clone https://github.com/sanikacentric/KAGGLE-ADK-CAPSTONE-A2A-MCP-Multiagent.git cd KAGGLE-ADK-CAPSTONE-A2A MCP多药/ADK CAPSTONE

创建虚拟环境并安装deps:

macOS/Linux

python-m venv.venv source.ven/bin/activate pip安装-r要求.txt

Windows(PowerShell)

python-m venv.venv ..venv\\Scripts\\Activate.ps1 pip安装-r要求.txt

复制env模板并设置密钥:

cp.env.example.env

编辑.env以设置:

GOOGLE_API_键=

目录_基础\_ URL=http://127.0.0.1:8001

合规性_基本要求=http://127.0.0.1:8002

  1. 运行A2A子代理(两个终端)

产品目录@8001

macOS/Linux

source.ven/bin/activate export GOOGLE_API_KEY=“\” python-m uvicon“order_copilot.servers.product_catalog_server:app”--主机127.0.0.1-端口8001--应用程序目录。

视窗

..venv\\Scripts\\Activate.ps1 $env:GOOGLE_API_KEY=“\” python-m uvicon“order_copilot.servers.product_catalog_server:app”--主机127.0.0.1-端口8001--应用程序目录。

合规@8002

macOS/Linux

source.ven/bin/activate export GOOGLE_API_KEY=“\” python-m uvicorn“order_copilot.servers.compliance_server:app”--主机127.0.0.1--端口8002--应用程序目录。

视窗

..venv\\Scripts\\Activate.ps1 $env:GOOGLE_API_KEY=“\” python-m uvicorn“order_copilot.servers.compliance_server:app”--主机127.0.0.1--端口8002--应用程序目录。

健康检查代理卡

curl-sIhttp://127.0.0.1:8001/.well-已知/代理卡json|head-n1 curl-sIhttp://127.0.0.1:8002/.well-已知/代理卡json|head-n1

预计HTTP/1.1 200可以

  1. 运行ADK开发UI(第三终端)

macOS/Linux

source.ven/bin/activate export GOOGLE_API_KEY=“\” 导出目录_BASE_URL=“http://127.0.0.1:8001" 导出合规性_BASE_URL=“http://127.0.0.1:8002" adk网络。

视窗

..venv\\Scripts\\Activate.ps1 $env:GOOGLE_API_KEY=“\” $env:CATALOG_BASE_URL=“http://127.0.0.1:8001" $env:COMPLIANCE_BASE_URL=“http://127.0.0.1:8002" adk网络。

打开http://127.0.0.1:8000聊天。

  1. 演示提示

产品(A2A)

“iPhone 15 Pro有现货吗?”

“iPhone 15 Pro的价格/规格?”

“戴尔XPS 15有现货吗?”

“索尼WH-1000XM5的价格是多少?”

合规性(A2A)

“检查比利时的增值税:BE01234567”

“增值税BE01234567在比利时有效吗?”

发货预计到达时间(工具)

“到07001的预计发货时间是什么时候?”

“预计交货时间为90210。”

长时间运行(工具)

“扫描订单ORD-42”→ 返回一个令牌

“简历 “或”最后继续“

MCP(演示存根)

“获取note./notes/todo.txt”

🔎 可观测性

使用开发人员UI→ 事件/图表/跟踪以查看每个工具调用、A2A跳和最终LLM摘要。日志在您交互时显示会话ID和服务器运行状况。

🧪 评估

小烟雾测试eval按顺序运行_copilot/eval。

文件

cases.jsonl--提示+预期的文本片段

evalset.yaml——ADK评估定义

adk评估顺序_copilot/eval/evalset.yaml

🐳 Docker(本地镜像)

从repo根构建映像:

根代理(开发UI运行器)

docker build-f Dockerfile.root-t ordercopilot/root:local。

A2A子代理

docker build-f Dockerfile.catalog-t ordercopilot/catalog:local。 docker build-f Dockerfile.comcompliance-t ordercopilot/compliance:本地。

运行容器:

产品目录@8001

docker运行--rm-p 8001:8001 \ -e GOOGLE_API_KEY=$GOOGLE-API_KEY \ 订单副本/目录:本地

合规@8002

docker运行--rm-p 8002:8002 \ -e GOOGLE_API_KEY=$GOOGLE-API_KEY \ 订单副本/合规性:本地

开发UI/根代理@8000

docker运行--rm-p 8000:8000 \ -e GOOGLE_API_KEY=$GOOGLE-API_KEY \ -e目录_基本信息_URL=http://host.docker.internal:8001 \ -e合规_基础_URL=http://host.docker.internal:8002 \ ordercopilot/root:本地

在Linux上,将host.docker.internal替换为您的主机IP(例如172.17.0.1),或在共享docker网络中运行所有三个。

☁️ (可选)部署到云运行

标记和推送图像(示例使用gcr.io/PROJECT/…):

项目ID= gcloud身份验证配置docker

docker标签ordercopilot/catalog:local gcr.io/$PROJECT_ID/ordercopilot-catalog:v1 docker标签ordercopilot/compliance:local gcr.io/$PROJECT_ID/ordercopilot compliance:v1 docker标签ordercopilot/root:local gcr.io/$PROJECT_ID/ordercopilot-root:v1

docker推送gcr.io/$PROJECT_ID/ordercopilot目录:v1 docker推送gcr.io/$PROJECT_ID/ordercopilot合规性:v1 docker推送gcr.io/$PROJECT_ID/ordercopilot根目录:v1

部署A2A服务(公开用于演示;在prod中锁定):

gcloud运行部署命令副本目录 \ --image-gcr.io/$PROJECT_ID/ordercopilot目录:v1 \ --平台管理——以美国为中心的区域1——允许未经身份验证 \ --set-env-vars GOOGLE_API_KEY=\

gcloud运行部署命令副本合规性 \ --image gcr.io/$PROJECT_ID/ordercopilot合规性:v1 \ --平台管理——以美国为中心的区域1——允许未经身份验证 \ --set-env-vars GOOGLE_API_KEY=\

部署root用户界面/开发用户界面

gcloud运行部署命令副本根 \ --图像gcr.io/$PROJECT_ID/ordercopilot根目录:v1 \ --平台管理——以美国为中心的区域1——允许未经身份验证 \ --set-env-vars GOOGLE\_ API\_,\ 目录基url=\,\ COMPLIANCE_BASE_URL=\

打开根服务URL并聊天。

Prod注释:使用VPC-E、私有出口、工作负载标识,并限制公共访问;按服务设置IAM;将机密存储在Secret Manager中;pin ADK版本。

🧠 为什么ADK、A2A和MCP很重要

ADK(Agent Development Kit):用于组合LLM、工具、内存和具有可观察性和评估性的远程代理的标准方法。对企业护栏有足够的意见,但对创新有足够的灵活性。

A2A(代理到代理):定义代理如何通过代理卡和干净的HTTP合约发现和调用彼此。团队可以独立拥有子代理,单独扩展它们,并强制执行最小特权。

MCP(模型上下文协议):添加一个安全边界,通过提供程序访问本地/企业资源(文件系统、Jira、Git、DB),避免从LLM直接任意访问系统。

🧯 故障排除

功能工具kwargs(名称/描述) 此仓库的support_orchestrator.py使用文档字符串,因此它适用于旧的ADK,其中FunctionTool只接受可调用对象。如果您升级ADK并想要显式的名称/描述,可以重新启用关键字args。

代理卡404 确保两台A2A服务器正在运行且可访问。检查CATALOG_BASE_URL和合规性_BASE_URL。

CORS/云运行 如果根服务跨域调用子代理,请配置允许的源和服务以进行服务身份验证,或将其与VPC/E和授权调用私有化。

目录标签

目录标签

AI代理Python工作流自动化多代理系统本地部署客户支持企业级代理任务委派外部系统访问

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP