
AI 推行学习,握续更新,接待疗养~
小序
当AI任务变得复杂时,咱们需要更好的“调度员”。
跟着智能诳骗场景的深化,单一 Agent 在处理复杂任务(如电商智能客服、金融数据分析活水线)时流泄露昭着局限性。传统链式调用框架(如 LangChain)依赖开辟者手动编排历程,在面对任务分支、动态决议和资源复用等场景时,通常堕入防范老本高、推广性差的逆境。
本文将深入解析:
1. LangGraph的中枢旨趣:图结构奈何模拟复杂任务流?
2. 多 Agent 诳骗实战:奈何竣事异构Agent的合作与通讯?
3. 对比LangChain:何时该用LangGraph?
1、LangGraph中枢旨趣
LangGraph 的中枢旨趣,浅显说便是:用“图”来重构任务流。
1.1. 图结构(Graph)的三大身分
节点(Node):代表一个寂寥单位,不错是:Agent 节点:封装寂寥 Agent 才智(如调用GPT-4处理问题、常识检索)Tool 节点:调用具体用具(如搜索API、数据库查询),用于履行特定计算或处理任务END 节点:历程收场的标识边(Edge):标注 “Where to go”,示意景色流转的决议旅途,决定下一步跳转到哪个节点法例履行(线性历程)条目跳转(如“若用户投诉,转东谈主工审核”)景色(State):深化悉数这个词历程,记载数据或交互景色(如用户输入的讯息),驱动节点间的流转
针对如上图例,历程发挥如下:
1)用户输入触发开动景色,投入 Agent 节点 处理交互;
2)处理后通过 Edge 决议流向,可能跳转至 Tool 节点 调用用具,或径直到达 END 节点 收场历程;
3)若投入 Tool 节点,处理完成后景色可能再次流转,造成轮回或鼓吹至收场。 该模子通过节点、边、景色的合作,竣事交互任务的历程化处理。
1.2 动态编排:像历程图不异想象AI历程
LangGraph维持轮回、分支、并行等适度流,举例:
# 示例:字据用户问题动态路由 def route(state): if"投诉" in state["input"]: return"human_review"# 转东谈主工 else: return"ai_agent"# 由AI处理
2、多 Agent 合作实战
为了更好让人人证明,咱们诳骗一个「客服工单处理案例」来进行先容。
假定咱们需要处理用户工单,主要历程包括: 意图识别 → 大众Agent处理 → 成果审核
2.1 界说 Agent 节点
from langgraph.graph import StateGraph, MessagesState # Create the workflowworkflow = StateGraph(MessagesState)# 意图识别 defidentify_intent(state): last_message = state["messages"][-1].contentif"账号"in last_message or"登录"in last_message: intent = "technical"else: intent = "general"return {"messages": [AIMessage(content="意图识别完成")],"intent": intent }# 大众处理defcall_expert(state):return {"messages": [AIMessage(content="大众处理成果:您的问题需要专科技巧维持")]}# 东谈主工审核defhuman_review(state):return {"messages": [AIMessage(content="东谈主工审核完成:您的问题已处理")]}# 添加三个Agent节点 workflow.add_node("intent_agent", identify_intent) # 意图识别 workflow.add_node("expert_agent", call_expert) # 大众处理 workflow.add_node("review_agent", human_review) # 东谈主工审核
2.2 想象 workflow 逻辑
# 缔造进口点workflow.set_entry_point("intent_agent")# 条目边:字据意图聘用旅途 def router(state): ifstate["intent"] == "technical": return"expert_agent"else: return"review_agent"workflow.add_conditional_edges("intent_agent", router) # 大众处理后必须审核workflow.add_edge("expert_agent", "review_agent") # 缔造收场点workflow.set_finish_point("review_agent")
2.3 运行 workflow
# Compile the workflowapp = workflow.compile()output = app.invoke({"messages": [HumanMessage(content="我的账号无法登录")]})print("履行成果:\n\n", final_state["messages"][-1].content)
履行成果:
要领履行历程为:用户输入 → 意图识别 → 技巧问题 → 大众Agent → 东谈主工审核 → 复返成果
LangGraph 图举例下:
3、LangChain vs LangGraph
当LangChain 遇上 LangGraph,咱们应该奈何聘用呢?
浅显下个论断:
要是是固定历程(如“搜索→归来”),用LangChain更轻量。要是是动态、多变装合作(如客服、数据分析活水线),LangGraph是更优解。
结语
LangGraph的图想维将复杂任务剖判为可编排的节点,通过动态路由和分享景色竣事高效合作。要是你正面对多Agent的“spaghetti code”贫困,不妨用LangGraph重构你的历程!
后续 AI 推行学习九游会体育,握续更新,接待疗养~