别只改wait_timeout!彻底解决MySQL连接被服务器踢掉的5种实战方法(含JDBC连接池配置)
2026/6/15 10:45:06
Multi-Agent系统(MAS)是由多个自主智能体组成的分布式系统,智能体通过协作或竞争完成复杂任务。其核心特点包括:
典型应用场景包括自动驾驶协同、供应链优化、多机器人协作等。
LangGraph是专为构建多智能体工作流设计的框架,基于有向无环图(DAG)模型编排智能体任务。其核心组件包括:
LangGraph的优势在于可视化工作流设计和动态调整能力,适合复杂任务的分阶段处理。
定义智能体角色与能力
每个智能体需明确职责边界,例如:
安装依赖
确保已安装langgraph和相关库:
pipinstalllanggraph requests定义工具函数
创建一个查询天气的API工具函数:
importrequestsdefget_weather(city:str)->str:base_url="http://api.openweathermap.org/data/2.5/weather"params={"q":city,"appid":"YOUR_API_KEY",# 替换为实际API key"units":"metric"}response=requests.get(base_url,params=params)data=response.json()returnf"{city}天气:{data['weather'][0]['description']}, 温度:{data['main']['temp']}°C"构建Agent工作流
使用langgraph定义Agent的决策流程:
fromlanggraph.graphimportStateGraphfromlanggraph.prebuiltimportToolNode# 定义工具节点tools=[get_weather]tool_node=ToolNode(tools)# 构建工作流workflow=StateGraph()workflow.add_node("tools",tool_node)workflow.add_edge("tools","tools")# 循环执行工具运行Agent
创建执行入口并测试:
defrun_agent(query:str):result=workflow.run({"input":query})returnresult# 测试查询print(run_agent("查询北京天气"))北京天气: clear sky, 温度: 22.5°C此实现展示了基础循环工作流,可根据需求扩展为复杂决策逻辑。