展开本页目录
开始前准备什么
- 下载完整练习包,在独立目录阅读README与已执行范围。
- 安装requirements.txt指定版本或使用文中目标工具;依赖与模型权重不要混入网站工程。
- 只有明确标为已执行的部分有本次证据;真实模型、账号或GPU步骤按自己的环境另行验证。
- 保留三轮连续问题
- 定义两类委派路径
- 实例化真正ADK对象
- 记录需要的事件字段
- 授权实跑AgentTool路径
- 授权实跑transfer路径
- 逐轮解释控制权差异
1. 保留三轮连续问题
conversation.json先查物流、再问退货、最后追问下一步。第三轮故意不指明领域,必须查看真实active agent,不能仅凭最后一段文字判断控制权。
2. 定义两类委派路径
同一根Agent中,把shipping包装成AgentTool,把support作为sub_agent。author-control-expectation.json只是作者的预期区分,不是已运行事件日志。
本题独立目录执行
python reference/audit.py3. 实例化真正ADK对象
运行run_sdk.py实际构建Agent、AgentTool和sub_agents树。model占位值不用于请求,脚本不会启动Runner或读取模型凭据。
本题SDK或目标环境入口
python reference/run_sdk.py4. 记录需要的事件字段
audit.py要求turn、event_id、author、active_agent和tool_call_id。negative-trace只有“已交接”文字,没有事件身份,应被拒绝作为控制转交证明。
5. 授权实跑AgentTool路径
在有兼容模型的隔离环境启动Runner,让根Agent调用shipping工具,保存工具结束后哪个Agent继续生成答案。工具名称或团队架构图不能替代事件轨迹。
6. 授权实跑transfer路径
用新的会话比较support接手后的后续消息,记录当前活动Agent和下一轮接收者。固定版本与输入,不把两种会话历史混在同一结果里。
7. 逐轮解释控制权差异
把三轮用户消息、每次author、工具调用与活动Agent整理成表。本文只验证对象组合与事件合同,真实控制转交行为仍需在读者的授权模型环境验收。
怎样确认已经完成
- AgentTool结束后主Agent继续
- transfer行为以实测版本为准
- 不能只画团队图
- 已实际构造Google ADK AgentTool与sub_agents组合并审计缺事件身份反例;没有启动Runner或模型会话,不提供伪造的控制转交日志。
常见问题
ADK的AgentTool和直接转交子Agent有什么区别?
AgentTool把子Agent当工具,结果通常回到调用者;transfer改变当前会话的处理Agent。具体行为需Runner真实轨迹核对,本文只构造对象树。
多Agent任务结束后,下一轮问题到底交给谁?
记录transfer事件及会话当前Agent,再发下一轮测试,不能只看子Agent回答过就推测路由。本文未跑Runner,所以未声称下一轮转交实测通过。
这篇教程哪些步骤已经真正执行?
已实际构造Google ADK AgentTool与sub_agents组合并审计缺事件身份反例;没有启动Runner或模型会话,不提供伪造的控制转交日志。



