公司动态
DeepAgents--03--SubAgent子智能体
提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档文章目录SubAgent子智能体1、多Agent的必要性2、DeepAgents 多Agent核心机制详解3、创建SubAgent一、字典配置子Agent (SubAgent)二、 使用预编译图子Agent (CompiledSubAgent)三、SubAgent的进阶SubAgent子智能体1、多Agent的必要性2、DeepAgents 多Agent核心机制详解3、创建SubAgent一、字典配置子Agent (SubAgent)# 1. 定义研究子Agentresearch_subagent{name:research-agent,# 主Agent通过此名调用description:用于深入研究问题执行网络搜索并合成信息。,# 清晰的描述system_prompt:你是一名专业研究员。请遵循以下步骤 1. 理解用户的研究问题。 2. 使用mock_internet_search工具进行检索。 3. 从结果中提炼关键信息合成一份结构化的摘要。 4. 务必保持回答简洁不超过300字。,# 专属指令tools:[mock_internet_search],# 只授予它需要的工具# model 字段被省略因此将使用主Agent的模型}# 2. 创建主Agent并注册子Agentagentcreate_deep_agent(modelgpt-4o,# 主Agent的模型system_prompt你是协调员。对于复杂的研究任务请使用task工具委托给研究子Agent。,subagents[research_subagent]# 传入子Agent列表)二、 使用预编译图子Agent (CompiledSubAgent)# 案例2-2使用一个自定义的LangGraph图作为子Agentfromdeepagentsimportcreate_deep_agent,CompiledSubAgentfromlanggraph.graphimportStateGraph,MessagesState,STARTfromlangchain_core.messagesimportHumanMessagefromlangchain_openaiimportChatOpenAI# 1. 构建一个自定义的LangGraph例如一个先搜索后分析的两步图defsearch_node(state:MessagesState):# 模拟搜索步骤return{messages:[HumanMessage(contentf已搜索:{state[messages][-1].content})]}defanalysis_node(state:MessagesState):# 模拟分析步骤return{messages:[HumanMessage(contentf已分析结果。结论是: 潜力巨大。)]}builderStateGraph(MessagesState)builder.add_node(search,search_node)builder.add_node(analysis,analysis_node)builder.add_edge(START,search)builder.add_edge(search,analysis)custom_graphbuilder.compile()# 2. 将编译好的图包装成 CompiledSubAgentcustom_subagentCompiledSubAgent(nameadvanced-analyzer,description执行先搜索后深度分析的复杂工作流。,runnablecustom_graph# 必须是已编译的Runnable)# 3. 创建主Agentagentcreate_deep_agent(modelgpt-4o,subagents[custom_subagent])# 主Agent可以通过 task(name“advanced-analyzer”, ...) 来调用这个复杂工作流。三、SubAgent的进阶