Agent学习——并行化模式

并行化核心:在任务处理过程中的独立模块,并行执行,这在调用API使用或者数据库时,对这种多少独立的请求的任务处理十分有效,能显著降低总体等待的时间。

并行化实现的条件:要求支持异步执行、多线程或多进程的框架(LangChain(通过|运算符设计带有并发分支的链或图结构来实现并发操作)/LangGraph(利用图结构,使得其在状态转换中执行多个节点,从而实现多并发操作)/Google ADK(其支持多个智能体并发运行)等框架均支持并行执行机制)

总之,并发操作使得智能体能在同样的时间内,执行更多的任务(独立查询、独立计算、调用API/工具、多个子智能体的操控、多模态数据的处理,多数据源处理),使得智能体的效率和响应速度提升
LangChain并行处理的逻辑模版:

python 复制代码
# 最小化版本
parallel_tasks = RunnableParallel(任务1, 任务2, 任务3)  # 1. 定义并行任务
synthesis = "基于{结果1}{结果2}{结果3}生成回答"           # 2. 定义综合模板
chain = parallel_tasks | synthesis | llm | parser        # 3. 连接管道
result = await chain.ainvoke(输入)                      # 4. 异步执行

①使用API创建并初始化一个LLM

②构件任务1、任务2到任务n的格式(提示模版|llm|字符串输出格式)

③将任务1到任务n的结果进行内容拼接

④将拼接的内容|提示模版|llm|字符输出格式,得到最终的结果连接到通信管道

⑤将通信管道中的内容进行获取
Google ADK对多智能体并行的逻辑模版:

python 复制代码
# 1. 定义并行研究员
researcher_1 = LlmAgent(name="研究员1", instruction="任务1", output_key="result1")
researcher_2 = LlmAgent(name="研究员2", instruction="任务2", output_key="result2")

# 2. 创建并行执行器
parallel_agent = ParallelAgent(
    sub_agents=[researcher_1, researcher_2]  # 并行执行
)

# 3. 创建合并智能体
merger_agent = LlmAgent(
    instruction="基于{result1}和{result2}生成报告"  # 读取结果
)

# 4. 创建顺序工作流
main_agent = SequentialAgent(
    sub_agents=[parallel_agent, merger_agent]  # 先并行,后合并
)

①创建各个子智能体的身份模版,用于适配专门的任务

② 创建一个并行触发器(可以选择性触发对应的并行子智能体),用于统一管理各个子智能体

③合并拼接子智能体处理后得到的结果内容,将合并的内容按照总结智能体进行处理

④创建顺序工作流,用于规范智能体整体上处理任务的逻辑

总之,多个子智能体,一个智能体并发触发器,一个内容合并处理智能体,一个流程处理逻辑智能体(先并行执行,后合并)

相关推荐
陳陈陳5 小时前
🤖 Agent开发完全指南:从LLM到智能体的蜕变之旅
langchain·llm·agent
十月的皮皮5 小时前
C语言学习笔记20260706-栈的压入、弹出序列验证
c语言·笔记·学习
槑有老呆5 小时前
从零打造你的第一个 AI Agent:LLM 不够用?给它装上"外挂"
agent
倾颜6 小时前
AI Mind 的多会话短期记忆容器:如何隔离多个聊天上下文
langchain·agent·next.js
阿拉斯攀登6 小时前
Prompt 工程与答案生成优化
prompt·agent·memory·知识库·向量数据库·rag
Briwisdom6 小时前
Agent 帮我写 CUDA(续):当 Self-Attention 遇上 Causal Mask 和 Cross-Attention
agent·算子开发·flash attention
CaffeinePro6 小时前
Langchain环境搭建与LCEL核心语法
人工智能·agent
人工智能培训6 小时前
大模型驱动下传统大数据架构的变革方向
大数据·人工智能·重构·架构·agent·agi
倾颜6 小时前
AI Mind 的单线程短期记忆设计:如何压缩、整理并控制当前会话上下文
前端·langchain·llm
渣渣灰飞7 小时前
MySQL 系统学习 第二阶段 第三章 DQL(Data Query Language)第二节:WHERE 条件查询
sql·学习·mysql