从零开始理解 Agent:LangChain / LangGraph / DeerFlow 小白入门指南
这篇文章帮你搞懂三件事Agent 到底是什么三个热门框架是什么关系怎么从零开始搭建一个 Agent 运行时 一、先搞懂一个概念Agent 不是 ChatBot 很多人把 Agent 和 ChatBot 搞混。区别其实很简单ChatBot 只会对话聊天而Agent 会做事。 Agent 的核心能力是调用工具。它不是一个只会聊天的模型而是一个能理解需求、选择工具、执行操作、观察结果、循环推理的系统。 这个理解→决策→执行→观察→循环的过程有一个学术名称ReActReasoning Acting。 Agent 的四个核心组件组件作用类比LLM大脑理解语言、推理决策人的大脑Tool工具执行具体操作搜索、计算、读写文件等手和脚Memory记忆记住对话历史和跨会话信息人的记忆Harness身体运行 Agent 的环境管理状态、调度工具人的身体Harness就是这篇文章的重点——它是让 Agent 真正跑起来的运行时。 二、LangChain / LangGraph / DeerFlow什么关系 这三个技术是一个自底向上的三层栈LangChain 是基础——它定义了什么是工具怎么和 LLM 对话这些底层能力。所有 LLM 应用几乎都绕不开它。LangGraph 建立在 LangChain 之上——LangChain 早期的 Agent 实现比较简陋一个简单的 while 循环LangGraph 用图的方式重新定义了 Agent 的工作流节点是处理步骤边是流转方向支持条件分支和循环。LangGraph 是 LangChain 团队自己出的是 Agent 编排的官方推荐方案。DeerFlow 建立在 LangGraph 之上——LangGraph 给了你造车的零件DeerFlow 直接给你一辆能开的车。它把 LangGraph 的 Agent 包装成完整的运行时加了前端界面、API 网关、沙箱执行、技能系统、记忆系统等工程化能力。字节跳动开源已经在生产环境中验证过。三、第一阶段用 LangChain 跑通第一个 Agent2-3 天3.1 第一个 Agent10 行代码 code-snippet__jsfrom langchain_openai import ChatOpenAIfrom langchain_core.tools import toolfrom langchain.agents import create_react_agent1. 定义一个工具tooldef calculate(expression: str) - str:“”“计算数学表达式例如 ‘2 3’ 或 ‘100 * 0.85’”“”try:result eval(expression)return f计算结果: {result}except Exception as e:return f计算错误: {e}2. 创建 Agentllm ChatOpenAI(model“gpt-4o-mini”, temperature0)agent create_react_agent(llm, tools[calculate])3. 运行response agent.invoke({“messages”: [{“role”: “user”, “content”: “帮我算一下 15% 的税后 8500 是多少”}]})print(response[“messages”][-1].content)输出: 8500 × 0.85 7225税后是 7225 元* 理解LLM 分析用户意图 → 用户要算税后金额 * 决策LLM 选择工具 → 调用 calculate(8500 * 0.85) * 执行工具执行 → 返回7225 * 观察LLM 检查结果 → 信息足够生成最终回答 这就是 **ReAct 循环**——所有 Agent 框架的核心逻辑都是这个。 3.3 Agent多工具调用 code-snippet__js tool def search_web(query: str) - str: 搜索网页信息 # 这里用真实的搜索 API from langchain_community.tools import DuckDuckGoSearchRun return DuckDuckGoSearchRun().run(query) tool def read_file(file_path: str) - str: 读取文件内容 with open(file_path, r) as f: return f.read() tool def write_file(file_path: str, content: str) - str: 写入文件 with open(file_path, w) as f: f.write(content) return f文件已保存: {file_path} # 给 Agent 多个工具 agent create_react_agent(llm, tools[calculate, search_web, read_file, write_file]) response agent.invoke({ messages: [{role: user, content: 搜索一下 Python 3.13 的新特性然后保存到文件里}] } plaintext至此你已经掌握了 Agent 的基本写法。但 create_react_agent 是一个黑盒——你无法控制循环逻辑、无法加条件分支、无法管理复杂状态。这就是 LangGraph 要解决的问题。 四、第二阶段用 LangGraph 构建有状态的 Agent1-2 周 4.1 为什么需要 LangGraph LangChain 的 create_react_agent 是一个简单循环LLM → 工具 → LLM → ... → 结束。 但真实的 Agent 场景远比这复杂 需要条件分支根据不同结果走不同路径 需要并行执行同时调用多个工具 需要状态管理记住之前做了什么 需要人机交互中间暂停等人确认后继续 需要检查点出错后能恢复到之前的某个状态 LangGraph 用图Graph来描述这些复杂的工作流。 4.2 核心概念 概念 说明 类比 State状态 在整个图中流转的数据 流水线上的产品 Node节点 处理状态数据的函数 流水线上的工位 Edge边 节点之间的连接可以带条件 传送带的分叉口 Checkpoint检查点 保存中间状态支持回滚 存档点 4.3 代码示例一个有状态的研究 Agent from typing import TypedDict, Annotated from langchain_openai import ChatOpenAI from langchain_core.messages import HumanMessage, AIMessage from langgraph.graph import StateGraph, START, END from langgraph.graph.message import add_messages # 1. 定义状态 class ResearchState(TypedDict): messages: Annotated[list, add_messages] # 消息历史 research_results: str # 研究结果 report_ready: bool # 报告是否就绪 # 2. 定义节点 llm ChatOpenAI(modelgpt-4o-mini) def research_node(state: ResearchState): 研究节点分析问题 messages state[messages] response llm.invoke(messages) return { messages: [response], research_results: response.content } def write_report_node(state: ResearchState): 写报告节点基于研究结果写报告 prompt f基于以下研究结果写一份报告:\n\n{state[research_results]} response llm.invoke([HumanMessage(contentprompt)]) return { messages: [response], report_ready: True } # 3. 定义条件路由 def should_continue(state: ResearchState): 判断是否需要写报告 if 写报告 in state[messages][-1].content if state[messages] else : return write_report return research # 4. 构建图 graph StateGraph(ResearchState) graph.add_node(research, research_node) graph.add_node(write_report, write_report_node) graph.add_edge(START, research) graph.add_conditional_edges(research, should_continue) graph.add_edge(write_report, END) # 5. 编译并运行 app graph.compile() result app.invoke({ messages: [HumanMessage(content帮我研究一下 2026 年 AI Agent 的发展趋势然后写一份报告)], research_results: , report_ready: False }) print(result[messages][-1].content 4.4 LangGraph 的威力 上面的代码做了什么 定义了一个 有状态的工作流 不只是简单循环 用 条件边 控制流向研究结果够好才写报告 每个节点只关心自己的输入输出 互不耦合 LangGraph 自动管理 检查点 ——出错了可以回滚 当你理解了这段代码你就理解了 DeerFlow 的核心——因为 DeerFlow 的 Lead Agent 就是一个用 LangGraph 构建的复杂图。 4.5 带工具的 LangGraph Agent from langgraph.prebuilt import create_react_agent # LangGraph 提供了开箱即用的 ReAct Agent # 这比 LangChain 的 create_react_agent 更强大 # - 支持检查点可回滚 # - 支持流式输出 # - 支持中断和恢复 # - 支持人机交互Human-in-the-loop agent create_react_agent( modelChatOpenAI(modelgpt-4o-mini), tools[calculate, search_web, read_file, write_file], # 可以加中间件 state_modifier你是一个助手请简洁回答。 ) # 带检查点的版本可恢复 from langgraph.checkpoint.memory import MemorySaver agent_with_memory create_react_agent( modelChatOpenAI(modelgpt-4o-mini), tools[calculate, search_web], checkpointerMemorySaver() ) # 流式输出 for chunk in agent.stream( {messages: [HumanMessage(content搜索 LangChain 的最新版本号)]}, stream_modevalues ): if chunk[messages]: chunk[messages][-1].pretty_print() 五、第三阶段用 DeerFlow 搭建 Harness2-3 周 5.1 什么是 Harness 一个完整的 Agent Harness 需要解决这些问题 问题 LangChain/LangGraph DeerFlow Agent 怎么运行 你自己写 while 循环 内置运行时引擎 怎么和用户交互 自己写 CLI 或 API 自带 Next.js 前端 FastAPI 怎么安全执行代码 自己想办法 内置 Docker 沙箱 怎么管理长上下文 手动截断 自动摘要压缩中间件 怎么记住跨会话信息 自己实现 内置记忆系统 怎么复用业务能力 手写工具 技能系统Skill 怎么委派子任务 自己编排 子 Agent 自动协调 怎么部署上线 自己搞 Docker Docker Compose 一键部署 5.2 中间件Middleware 中间件是包裹每次 LLM 调用的插件在调用前和调用后执行自定义逻辑用户消息 → [摘要压缩] → [记忆注入] → [计划更新] → LLM → [标题生成] → [记忆排队] → 响应 内置中间件 - SummarizationMiddleware自动压缩旧消息防止上下文溢出 - MemoryMiddleware跨会话记忆注入 - TodoMiddleware计划模式跟踪任务进度 - TokenUsageMiddleware追踪 Token 用量和成本 - LoopDetectionMiddleware检测死循环 5.3 技能Skill 技能是面向任务的能力包按需加载——不污染基础 Agent 的上下文。 # skills/custom/weekly-report/SKILL.md --- name: weekly-report description: 生成工作周报 category: productivity --- # 工作周报生成技能 ## 指令 当用户请求生成周报时按以下步骤 1. 询问本周完成的主要工作 2. 询问下周计划 3. 生成结构化周报 4. 保存为 Markdown 文件 5.4 沙箱Sandbox Agent 执行代码和文件操作的隔离环境 - 本地沙箱开发用直接在本地文件系统操作 - Docker 沙箱生产用完全隔离的容器环境 5.5 子 AgentSubAgent 处理委派子任务的专注执行者 Lead Agent主控 ├─ 子 Agent 1并行搜索资料 ├─ 子 Agent 2并行分析数据 └─ 子 Agent 3并行生成报告 六、常见问题 Q1我需要先学完 LangChain 再学 LangGraph 吗 不需要。 LangChain 的概念很杂Chain、Agent、Memory、Retriever...建议只学最基础的LLM 调用 Tool 定义然后直接上 LangGraph。LangGraph 的 API 更清晰、更现代是官方推荐的方向。 Q2DeerFlow 和 Dify / Coze 有什么区别 对比 DeerFlow Dify / Coze 定位 Agent 运行时开发者向 Agent 搭建平台产品向 目标用户 工程师 产品经理 / 运营 定制深度 源码级定制 配置级定制 代码控制力 完全可控 有限 适合场景 需要深度定制的 Agent 平台 快速搭建不需要写代码的 Agent 简单说想拖拽就搭的用 Dify/Coze想写代码深度定制的用 DeerFlow。 Q3DeerFlow 和 LangChain 的 Open Agent 有什么区别 LangChain 的 Open Agent 是 LangChain 团队自己的 Agent 运行时项目定位和 DeerFlow 类似。区别 Open AgentLangChain 官方出品和 LangChain 生态深度绑定 DeerFlow字节跳动出品在 LangGraph 之上构建有生产验证 两者技术上很相似都基于 LangGraph选哪个更多是看社区活跃度和团队偏好。 Agent 开发不像你想的那么神秘。本质上就是三件事 让 LLM 能调用工具 LangChain 用图编排复杂工作流 LangGraph 把工作流包装成可运行的服务 DeerFlow 从第一个 10 行代码的 Agent 开始到搭建一个企业级 Agent 运行时路径是清晰的。关键是动手写代码——看再多文章不如自己跑一遍。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻

企业部署AI Agent,90%踩的3个坑

企业部署AI Agent,90%踩的3个坑

Gartner说超过40%的智能体项目会在2027年前被砍掉。 我跟不少做了Agent项目的人聊过,发现一个规律:被砍的项目,踩的坑高度集中在三个地方。不是什么高深的技术难题,都是工程层面的基本功课没做扎实。但恰恰因为"基本"&…

2026/7/23 2:52:22 阅读更多 →
Windows下SRA Toolkit安装与高通量测序数据处理指南

Windows下SRA Toolkit安装与高通量测序数据处理指南

1. 为什么选择SRA Toolkit处理高通量测序数据高通量测序技术产生的原始数据通常存储在NCBI的SRA(Sequence Read Archive)数据库中。对于生物信息学初学者来说,如何高效获取这些数据是第一个需要跨越的门槛。SRA Toolkit作为NCBI官方提供的工具…

2026/7/23 2:52:21 阅读更多 →
页面能打开,不代表规则正确:单 HTML 游戏的纯规则核心与不变量测试

页面能打开,不代表规则正确:单 HTML 游戏的纯规则核心与不变量测试

我以前给浏览器小游戏做回归时,最容易得到一种虚假的安全感: 页面能打开;点击开始后没有报错;Canvas 不是空白;手机宽度没有横向滚动条。 这些都应该检查,但它们只能证明"界面大致活着"。 它们…

2026/7/23 2:51:21 阅读更多 →

最新新闻

用Markdown编辑器

用Markdown编辑器

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

2026/7/23 3:29:35 阅读更多 →
物联网蓝牙安全测试:从协议漏洞到防护方案完整指南

物联网蓝牙安全测试:从协议漏洞到防护方案完整指南

这次我们来看一个很有意思的技术现象——"666谁给我电瓶车偷成蓝牙耳机了?",这其实是一个典型的物联网设备安全问题。当普通电瓶车通过智能改装变成可连接的蓝牙设备时,就暴露了物联网安全的重要议题。这个现象背后涉及几个关键技术…

2026/7/23 3:29:35 阅读更多 →
Spring Boot 2 + Vue 3 + MySQL 大学生综合素质测评管理系统源码实战前后端分离

Spring Boot 2 + Vue 3 + MySQL 大学生综合素质测评管理系统源码实战前后端分离

一、项目简介 大学生综合素质测评管理系统是一套基于 Spring Boot 2 Vue 3 MySQL 的前后端分离系统,用于实现学生综合素质的数字化、透明化管理。系统包含管理员、教师、学生三种角色,围绕学生综合素质评估业务,提供用户管理、课程管理、活…

2026/7/23 3:29:35 阅读更多 →
基于 NFS 与 autofs 实现 Linux 多节点存储分离实战指南

基于 NFS 与 autofs 实现 Linux 多节点存储分离实战指南

二.利用nfs实现存储分离 NFS 存储分离的核心概念 NFS(Network File System)是一种分布式文件系统协议,允许客户端通过网络访问远程服务器上的文件,实现存储与计算资源的分离。其核心目标是将存储集中化管理,同时为多台…

2026/7/23 3:29:35 阅读更多 →
会议写不完整理慢还听不清?2026如何选靠谱会议纪要工具解决方案

会议写不完整理慢还听不清?2026如何选靠谱会议纪要工具解决方案

2026选靠谱的会议纪要工具解决方案,优先选择匹配自身核心场景、自带AI全流程转写整理的工具。适合需要频繁记录会议、面试、OKR面谈的HR从业者、内容创作者。核心依据是传统手动整理耗时久,多人发言易听漏记混,AI能大幅压缩整理时间。不适合需…

2026/7/23 3:29:35 阅读更多 →
Spring Boot 3 + Vue 3 + MySQL AI 物业管理系统源码前后端分离实战

Spring Boot 3 + Vue 3 + MySQL AI 物业管理系统源码前后端分离实战

一、项目简介 翡翠物业管理系统是一套基于 Spring Boot 3 Vue 3 MySQL 构建的 AI 辅助物业综合管理平台。系统采用前后端分离架构,内置管理员、物业人员、业主三种角色,覆盖楼栋房间管理、车位管理、收费管理、反馈工单、公告发布、操作日志监控等核心…

2026/7/23 3:28:34 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻