
大家好,我是Tony Bai。
欢迎来到我们的专栏 《Google ADK 实战:用 Go 构建可靠的 AI Agent》的第五讲。
在过去的几讲中,我们已经成功地从零开始,构建了一个拥有“手臂”(工具)和“记忆”(会话与长期记忆)的智能天气助手。它很出色,但本质上,它仍然是一个“单兵作战”的 Agent。面对一个相对明确的任务,它能完成得很好。
但现实世界中的问题往往更加复杂,需要多个步骤、多个角色的协作才能完成。比如,一个完整的软件开发流程,至少需要“产品经理”提需求、“程序员”写代码、“测试工程师”做审查。让单个 Agent 同时扮演所有这些角色,会让它的 Instruction (指令) 变得异常臃肿和混乱,难以维护。
这正是“单一全能 Agent”的局限性。要构建更强大的系统,我们需要引入“分工与协作”的思想,将一个大任务,拆解给多个各司其职的专家 Agent,然后像一位项目经理一样,将它们编排起来。
ADK 为我们提供的“项目管理工具”,就是 workflowagents。这一讲,我们将学习如何从“单兵”走向“军团作战”。学完这一讲,你将能够:
理解 Agent 编排的核心思想:单一职责原则。
掌握 ADK 的三大工作流 Agent:
sequentialagent,parallelagent,loopagent。亲手构建一个“代码生成与审查”的自动化流水线,深入实践 Sub-agent 协作模式。
辨析 Sub-agent 与 Agent as tool 的核心区别,并学会使用
agenttool实现更高阶的协作。
准备好从“程序员”晋升为“架构师”了吗?让我们开始编排我们的 Agent 军团。

Agent 编排的核心思想:单一职责
在软件工程中,我们都熟悉“单一职责原则”(Single Responsibility Principle):一个模块或一个类,应该只负责一项功能。这个原则同样适用于 Agent 设计。
一个设计良好的 Agent 应该像一个专家:
CodeWriterAgent: 它的世界里只有一件事——根据需求写出最好的代码。CodeReviewerAgent: 它的唯一职责就是像一个最挑剔的 Tech Lead 一样,审查代码的质量。CodeRefactorerAgent: 它的任务是根据审查意见,对代码进行重构。
这样做的好处是显而易见的:
Instruction更清晰: 每个 Agent 的指令都非常聚焦,易于编写和维护。可复用性更高:
CodeReviewerAgent不仅可以审查CodeWriterAgent的代码,也可以审查人类写的代码。可测试性更强: 我们可以独立地对每个专家 Agent 进行单元测试。
但问题也随之而来:谁来调用这些专家?谁来决定是先写代码还是先审查?谁来把上一步的输出(生成的代码)传递给下一步(审查 Agent)?
这就是 workflowagents 要解决的问题。
1733

被折叠的 条评论
为什么被折叠?



