Agent 开发设计模式(Agentic Design Patterns )第 3 章:并行化模式
文章大纲
- **并行化模式概述**
- **实际应用与用例**
- **实践代码示例 (LangChain)**
- **实践代码示例 (Google ADK)**
- **概览**
- **关键要点**
- **结论**
- **参考文献**
- 参考文献
并行化模式概述
在前几章中,我们探讨了用于顺序工作流的提示链模式,以及用于动态决策和在不同路径间转换的路由模式。虽然这些模式至关重要,但许多复杂的智能体任务涉及多个可以同时执行而非顺序执行的子任务。这正是并行化模式变得至关重要的地方。
并行化涉及并发执行多个组件,例如大语言模型调用、工具使用,甚至是整个子智能体(参见图1)。与等待一个步骤完成后再开始下一个步骤不同,并行执行允许独立任务同时运行,从而显著减少可分解为独立部分的任务的总执行时间。
考虑一个旨在研究某个主题并总结其发现的智能体。顺序方法可能如下:
- 搜索来源 A。
- 总结来源 A。
- 搜索来源 B。
- 总结来源 B。
- 根据摘要 A 和 B 综合出最终答案。
而并行方法则可以:
- 同时搜索来源 A 和 搜索来源 B。
- 两个搜索都完成后,同时总结来源 A 和 总结来源 B。
- 根据摘要 A 和 B 综合出最终答案(此步骤通常是顺序的,等待并行步骤完成)。
核心思想是识别工作流中不依赖于其他部分输出的部分,并并行执行它们。这在处理具有延迟的外部服务(如 API 或数据库)时特别有效,因为您可以同时发出多个请求。
实现并行化通常需要支持异步执行或多线程/多进程的框架。现代智能体框架在设计时