当前位置: 首页 > article >正文

对比 LangChain Agent / Deep Agents / LangGraph 的真实代码差异

LangChain Agent vs Deep Agents vs LangGraph 真实代码对比下面用同一个业务场景“研究助手搜索资料 写报告”三种实现方式对比让你一眼看出差异。一、对比总览先看结论维度LangChain AgentDeep AgentsLangGraph定位标准 ReAct Agent开箱即用豪华版Agent底层流程编排框架代码量最小可用~10 行~5 行~30-50 行控制流模型自己决定隐式循环模型自己决定带规划你来定义节点和边上下文管理全部塞进 messages自动压缩 虚拟文件系统自定义 State子 Agent不原生支持原生支持subagents手动嵌套 graph适合场景单一任务、工具调用长程任务、复杂研究确定性流程、审批流、多分支学习曲线低极低高灵活度中中高层抽象极高二、场景设定任务用户问一个问题Agent 要搜索网络读取/写入文件做笔记最后输出一份报告defweb_search(query:str)-str:Search the web for the given query.returnfresults for{query}...defwrite_note(filename:str,content:str)-str:Write content to a file.withopen(filename,w)asf:f.write(content)returnfsaved{filename}三、方案 ALangChain Agent标准做法fromlangchain.agentsimportcreate_agent agentcreate_agent(modelopenai:gpt-5.4,tools[web_search,write_note],system_promptYou are a research assistant. Search, take notes, then summarize.,)resultagent.invoke({messages:[{role:user,content:Research LangGraph and write a report.}]})print(result[messages][-1].content_blocks)特点一个函数搞定create_agent把模型 工具 提示词打包成 ReAct 循环隐式循环模型自己决定调几次工具、何时停止上下文 messages 数组所有工具调用结果都堆在 messages 里长任务容易爆 context局限不能控制先搜索再总结这种顺序工具调用结果太多 → token 爆炸 → 模型遗忘前面的内容没法做审批、“分支”、“多 Agent 协作”四、方案 BDeep Agents开箱即用豪华版fromdeepagentsimportcreate_deep_agent agentcreate_deep_agent(tools[web_search],instructionsYou are a research assistant. Plan, research, and write a report.,)resultagent.invoke({messages:[{role:user,content:Research LangGraph and write a report.}]})它白送给你什么Deep Agents 在create_agent基础上自动注入了 4 个内置能力内置能力解决的痛点规划工具write_todosAgent 先列计划再执行不再想到啥做啥虚拟文件系统ls/read_file/write_file/edit_file长结果存到文件里主对话只保留摘要 → 不爆 context子 Agent 派生task主 Agent 可以让子 Agent 干脏活结果只回传摘要专门优化的系统提示词内置 Anthropic Claude Code 风格的 prompt典型用法带子 Agent 配置fromdeepagentsimportcreate_deep_agent research_subagent{name:research-agent,description:Used to do deep research on a topic.,prompt:You are a research expert. Search thoroughly and return findings.,tools:[web_search],}agentcreate_deep_agent(tools[web_search],instructionsYou are the lead researcher. Delegate deep research to subagents.,subagents[research_subagent],)何时选 Deep Agents长程任务要跑几十轮工具调用研究/编码类结果体量大需要暂存到文件想要Claude Code / Manus 那种体验但又不想自己造轮子五、方案 CLangGraph底层流程控制LangGraph 是最底层的——你自己画状态机节点 边 状态。fromtypingimportAnnotated,TypedDictfromlanggraph.graphimportStateGraph,START,ENDfromlanggraph.graph.messageimportadd_messagesfromlangchain.chat_modelsimportinit_chat_modelfromlanggraph.prebuiltimportToolNode,tools_conditionclassState(TypedDict):messages:Annotated[list,add_messages]notes:strllminit_chat_model(openai:gpt-5.4)tools[web_search,write_note]llm_with_toolsllm.bind_tools(tools)defplanner(state:State):return{messages:[llm.invoke([{role:system,content:Make a plan first.}]state[messages])]}defresearcher(state:State):return{messages:[llm_with_tools.invoke(state[messages])]}defsummarizer(state:State):summaryllm.invoke([{role:system,content:Summarize all findings into a report.}]state[messages])return{messages:[summary],notes:summary.content}graphStateGraph(State)graph.add_node(planner,planner)graph.add_node(researcher,researcher)graph.add_node(tools,ToolNode(tools))graph.add_node(summarizer,summarizer)graph.add_edge(START,planner)graph.add_edge(planner,researcher)graph.add_conditional_edges(researcher,tools_condition,{tools:tools,END:summarizer,})graph.add_edge(tools,researcher)graph.add_edge(summarizer,END)appgraph.compile()resultapp.invoke({messages:[{role:user,content:Research LangGraph and write a report.}],notes:,})特点流程是写死的planner → researcher ↔ tools → summarizer → ENDState 自定义除了 messages 还能挂notes、step_count、任何业务字段可加人工审批在某条边上interrupt()等人工 approve 再继续天然可持久化用 checkpointer 一行配好崩了能续跑何时必须用 LangGraph需要确定性流程必须先 A 再 B 再 C需要人工介入审批、修改、确认需要多 Agent 协作但流程要可控不放心让 LLM 自己调度需要可恢复执行任务跑一半 crash 了能续上六、三者关系图一图流┌─────────────────────────────────────────────────────┐ │ Deep Agents │ ← 最高层封装 │ 内置规划 虚拟FS 子Agent 优化prompt │ ├─────────────────────────────────────────────────────┤ │ LangChain create_agent │ ← 标准 ReAct │ 模型 工具 循环 │ ├─────────────────────────────────────────────────────┤ │ LangGraph │ ← 底层引擎 │ StateGraph / Node / Edge / Checkpoint │ └─────────────────────────────────────────────────────┘关键事实上面两层都是基于 LangGraph 实现的。create_agent内部其实就是一个预定义好的 LangGraphagent_node ↔ tool_node的循环。Deep Agents 又在create_agent之上注入了文件系统工具和子 Agent 工具。七、关键差异对照同一行为1. 添加工具# LangChain Agentcreate_agent(model...,tools[fn1,fn2])# Deep Agentscreate_deep_agent(tools[fn1,fn2],instructions...)# 自动多送你: write_todos / read_file / write_file / edit_file / ls / task# LangGraphToolNode([fn1,fn2])# 还要自己接到图上2. 控制必须先做 A 再做 B# LangChain Agent# ❌ 做不到只能在 system_prompt 里求模型先做 A# Deep Agents# ⚠️ 同上靠 prompt 引导但因为有 todo 工具会更稳# LangGraphgraph.add_edge(step_a,step_b)# ✅ 硬约束3. 加人工审批# LangChain Agent / Deep Agents# ❌ 原生不支持要 hack# LangGraphfromlanggraph.typesimportinterruptdefapproval_node(state):decisioninterrupt({question:approve?})return{approved:decision}4. 处理工具结果超长# LangChain Agent# ❌ 全塞 messages → 直接爆 context# Deep Agents# ✅ 自动写入虚拟文件系统messages 里只留 已保存到 results.md# LangGraph# ✅ 自己定 State把长结果存到 state[files]messages 只放摘要八、怎么选决策树你的任务是什么 │ ├─ 简单问答 几个工具调用就够 │ └─→ LangChain Agent ✅ │ ├─ 长程研究/写代码/写文档怕爆 context │ └─→ Deep Agents ✅ │ ├─ 流程必须可控要审批/分支/可恢复多 Agent 编排 │ └─→ LangGraph ✅ │ └─ 我全都要 └─→ LangGraph 打底 create_agent 当节点 Deep Agents 思路引入虚拟FS九、实战建议从 LangChain Agent 开始练手——先理解工具调用循环遇到 context 爆炸 → 升级到 Deep Agents——白送一堆能力遇到流程失控 / 要上生产 → 落到 LangGraph——用 State 节点把控三者可以混用LangGraph 的某个节点内部完全可以跑create_agent或 Deep Agent参考文档LangChain OverviewLangChain AgentsDeep AgentsLangGraph

相关文章:

对比 LangChain Agent / Deep Agents / LangGraph 的真实代码差异

LangChain Agent vs Deep Agents vs LangGraph 真实代码对比 下面用同一个业务场景(“研究助手:搜索资料 写报告”)三种实现方式对比,让你一眼看出差异。 一、对比总览(先看结论) 维度LangChain AgentDe…...

Gitee SCA:为企业级开源治理构筑自动化防线

在数字化转型的大潮中,开源软件已成为企业技术栈不可或缺的组成部分。最新行业数据显示,全球范围内超过90%的企业在软件开发过程中依赖开源组件,这一比例在中国市场同样居高不下。然而,开源组件的广泛使用也带来了新的安全挑战——…...

Scipy优化踩坑实录:trust-constr和SLSQP约束定义到底差在哪?

Scipy优化实战:trust-constr与SLSQP约束定义差异深度解析 第一次接触Scipy的优化模块时,我被文档里琳琅满目的算法选项晃花了眼。特别是当问题需要加入约束条件时,trust-constr和SLSQP这两种主流方法对约束的定义方式完全不同——一个要求构造…...

中国词元:构建自主AI生态的“黄金三角“

中国正在人工智能领域掀起一场深刻的生态重构革命。“中国词元"这一创新概念——由国产大模型、国产GPU和绿色能源构成的"黄金三角”,正成为打破西方技术垄断、构建自主可控AI基础设施的核心路径。在这场关乎国家科技未来的战略布局中,模力方舟…...

Gitee CodePecker SCA vs OpenSCA:企业级软件供应链安全工具深度评测

在数字化转型浪潮席卷全球的当下,软件供应链安全已成为企业不可忽视的核心议题。随着开源组件在软件开发中的广泛应用,如何有效识别和管理其中的安全风险,成为研发团队必须面对的挑战。本文将对两款主流的软件成分分析(SCA)工具——Gitee Cod…...

Gitee CodePecker SCA与OpenSCA深度评测:企业级软件供应链安全工具如何选?

在数字化浪潮席卷全球的今天,软件供应链安全已成为企业数字化转型过程中不可忽视的重要议题。随着开源组件在软件开发中的广泛应用,软件成分分析(SCA)工具正从可选变为必选。面对市场上众多的SCA解决方案,企业如何选择…...

Win11 环境下,自定义安装目录部署 Claude Code 调用Xiaomi MIMO大模型

一、准备工作(前置检查)确认网络环境 你的网络需要能正常访问 claude.ai 服务(否则安装和后续使用都会失败)。建议先在浏览器打开 https://claude.ai,确认可以正常访问。新建自定义安装目录 比如你想装到 D:\Agent\Cla…...

事件驱动AI代理框架:构建生产级智能体的状态管理与工作流编排

1. 项目概述:为什么我们需要一个“事件驱动”的代理框架?如果你最近在关注AI应用开发,尤其是基于大语言模型(LLM)构建的智能体(Agent)或自动化工作流,那你大概率已经感受到了一个痛点…...

量子深度学习系统架构与优化实践

1. 量子深度学习系统架构解析 量子深度学习(Quantum Deep Learning, QDL)作为量子计算与经典机器学习的交叉领域,其系统架构设计直接决定了算法能否在现有硬件条件下实现预期性能。当前主流的QDL系统通常采用分层设计理念,从下至上…...

《信息系统项目管理师教程(第4版)》——信息技术发展

在《信息系统项目管理师教程(第4版)》中,“信息技术发展”(第2章)是紧随“信息化发展”之后的“硬核理科生”章节。如果说第1章是带你俯瞰国家战略,那第2章就是把你拉回机房的机柜前,直面服务器…...

XYBot V2微信机器人:插件化架构解析与从零部署实战

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目,叫XYBot V2。这是一个基于Python的微信机器人框架,功能相当丰富,从基础的AI聊天、新闻推送,到积分系统、小游戏,再到完善的插件化管理,基本上把你能…...

Java-RPG-Maker-MV-Decrypter:3步轻松解密RPG游戏资源的终极免费工具

Java-RPG-Maker-MV-Decrypter:3步轻松解密RPG游戏资源的终极免费工具 【免费下载链接】Java-RPG-Maker-MV-Decrypter You can decrypt whole RPG-Maker MV Directories with this Program, it also has a GUI. 项目地址: https://gitcode.com/gh_mirrors/ja/Java-…...

AISMM安全维度终极对照表:对比NIST AI RMF、ISO/IEC 23894与欧盟AI Act,标注17处中国特有监管适配项

更多请点击: https://intelliparadigm.com 第一章:AISMM安全维度终极对照表的理论根基与时代意义 AISMM(AI-Specific Security Maturity Model)并非传统安全模型的简单平移,而是植根于AI系统全生命周期特性的范式重构…...

AISMM模型实战解析:3步完成云原生成熟度自评,附Gartner验证的7项关键指标清单

更多请点击: https://intelliparadigm.com 第一章:AISMM模型与云原生成熟度 核心理念与演进逻辑 AISMM(AI-Driven Service Mesh Maturity Model)是面向云原生环境的多维成熟度评估框架,聚焦服务网格、可观测性、AI赋…...

AI结对编程实战:PAIR REPL工具在终端中的高效应用

1. 项目概述:当AI成为你的结对编程伙伴 如果你和我一样,每天大部分时间都泡在终端和代码编辑器里,那你肯定对“效率”这个词有执念。从代码补全、静态检查到自动化脚本,我们总在寻找能让自己编码更流畅、思考更专注的工具。最近&a…...

使用 python 快速接入 taotoken 并调用多模型完成聊天任务

使用 Python 快速接入 Taotoken 并调用多模型完成聊天任务 基础教程类,指导 Python 开发者使用官方的 OpenAI 风格 SDK,通过配置 api_key 与 base_url 指向 Taotoken 端点,并指定模型 ID 来调用聊天补全接口,提供一个最小可运行的…...

ComfyUI-Impact-Pack技术深度解析:模块化图像增强与工作流自动化

ComfyUI-Impact-Pack技术深度解析:模块化图像增强与工作流自动化 【免费下载链接】ComfyUI-Impact-Pack Custom nodes pack for ComfyUI This custom node helps to conveniently enhance images through Detector, Detailer, Upscaler, Pipe, and more. 项目地址…...

Docker容器化入门:从核心概念到实战部署全解析

1. 从零到一:理解容器化与Docker的核心价值如果你是一名开发者,最近几年肯定没少听到“Docker”这个词。它就像一阵技术旋风,席卷了从个人项目到企业级部署的每一个角落。一开始,你可能会觉得困惑:这到底是个什么玩意儿…...

观察不同模型在 Taotoken 平台上的实际调用响应速度

观察不同模型在 Taotoken 平台上的实际调用响应速度 1. 测试环境与模型选择 在 Taotoken 模型广场中,我们选择了四款主流模型进行测试:claude-sonnet-4-6、claude-haiku-4-8、claude-opus-4-9 和 gpt-4-turbo-preview。测试环境为华东地区的云服务器&a…...

C++BFS广度优先搜索全解

广度优先搜索(BFS)基础概念广度优先搜索是一种用于遍历或搜索树或图的算法。它从根节点开始,逐层访问所有相邻节点,直到找到目标节点或遍历完整个结构。BFS通常使用队列数据结构来实现,确保先访问的节点先被处理。BFS的…...

【2026奇点智能技术大会权威解码】:AISMM改进路线图的5大颠覆性演进与企业落地时间窗

更多请点击: https://intelliparadigm.com 第一章:2026奇点智能技术大会:AISMM改进路线图 在2026奇点智能技术大会上,AISMM(Autonomous Intelligent System Meta-Model)正式发布v3.2核心规范,聚…...

YOLO 系列:小目标检测又一力作:YOLOv10 颈部引入 RepGFPN,重参数化高效融合

一、开篇:小目标检测的“阿克琉斯之踵” 在计算机视觉领域,小目标检测始终是一块难啃的骨头。无论是无人机航拍图像中的行人、交通监控中的路标,还是煤矿井下复杂光照环境中的安全帽,当目标仅占图像面积的极小比例时,传统检测算法往往力不从心。根据最新研究,当目标面积…...

终极Windows风扇控制解决方案:Fan Control深度解析与实战应用

终极Windows风扇控制解决方案:Fan Control深度解析与实战应用 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Tren…...

通过模型广场功能探索并选择适合代码生成任务的大模型

通过模型广场功能探索并选择适合代码生成任务的大模型 1. 模型广场的核心价值 对于开发者而言,面对众多大模型厂商和不断更新的模型版本,如何选择最适合代码生成任务的模型往往需要耗费大量时间调研。Taotoken的模型广场功能将主流厂商的模型集中展示&…...

AISMM基准数据首次全球统一发布(SITS2026核心机密解封)

更多请点击: https://intelliparadigm.com 第一章:SITS2026发布:AISMM行业基准数据 SITS2026 是面向智能交通系统(ITS)与多模态感知融合领域发布的全新行业基准数据集,由 AISMM(Autonomous In…...

为AI编程助手制定规则手册:提升代码生成质量与团队协作效率

1. 项目概述:为AI编程助手制定规则手册最近在深度使用Cursor、TRAE这类AI编程助手时,我发现了一个挺有意思的现象:当你问它“写一个登录页面”时,它确实能很快给你生成代码,但生成的代码质量却像开盲盒——有时结构清晰…...

Davinci Resolve/达芬奇 21安装教程及下载

软件介绍: DaVinci Resolve Studio 是一款世界上第一个结合了专业离线和在线编辑,色彩校正,音频后期制作和Fusion视觉特效于一体的软件工具的解决方案!你可以获得无限的创作灵活性,因为 DaVinci Resolve 让个体艺术家更容易探索不…...

录音M4A怎么转换成MP3?m4a转mp3,教你5招一键转化mp3

很多人在使用手机录音时,都会发现保存下来的文件并不是MP3,而是 .m4a 格式。这种情况在苹果手机录音、安卓录音软件、会议录音以及课程录音中都比较常见。平时在手机中播放可能没有问题,但当需要把录音发送给别人、导入U盘、上传到其它平台&a…...

手把手教你为ZYNQ裸机LWIP库添加KSZ9031 PHY支持(Vivado 2017.4实战)

ZYNQ裸机网络开发实战:深度解析KSZ9031 PHY驱动移植与LWIP库定制 当你拿到一块搭载KSZ9031 PHY芯片的ZYNQ开发板准备开发双网口应用时,可能会遇到一个棘手问题——Xilinx官方提供的LWIP库竟然不支持这块PHY芯片。这种硬件与软件的不匹配在嵌入式开发中并…...

基于MCP协议与自然语言交互的Eventbrite活动管理自动化实践

1. 项目概述:用自然语言驱动你的Eventbrite活动管理如果你和我一样,经常需要管理各种线上或线下活动,那你一定对Eventbrite这个平台不陌生。无论是技术沙龙、产品发布会还是社区聚会,Eventbrite都是活动组织者的得力助手。但每次都…...