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

LangChain 已老,LangGraph 当立?新一代编排框架的崛起

LangChain 已老,LangGraph 当立?新一代编排框架的崛起元数据标题:LangChain 已老,LangGraph 当立?新一代编排框架的崛起——从线性链到有向无环图再到循环状态机的AI应用架构革命关键词:LLM应用编排、LangChain、LangGraph、状态机、RAG、Agent、提示工程、异步IO摘要:本文从第一性原理出发,梳理了LLM应用从最初“单轮提示-单模型输出”到“多步骤编排”再到“复杂状态管理Agent”的技术演进轨迹,深度对比了LangChain的线性/模块化抽象与LangGraph的循环有向无环状态机(RDFS+)核心架构差异,剖析了两者在复杂度控制、可观测性、调试难度、性能优化、Agent实现效率等维度的优劣势;同时提供了RAG增强对话Agent的完整LangChain重构→LangGraph迁移的案例,包含Python生产级代码、Mermaid架构图、算法复杂度分析、最佳实践与行业趋势预测。1. 概念基础1.1 LLM应用架构的历史轨迹1.1.1 第一代:单提示闭环(2022.11-2023.03)以ChatGPT API、Claude API的发布为起点,LLM应用进入“0→1”的爆发期。此时的应用架构极为简单,本质是**“前端输入→单轮提示构建→LLM API调用→结果清洗→前端输出”** 的单节点闭环:技术栈:仅需HTTP客户端(如Axios、aiohttp)、字符串拼接工具典型应用:初代翻译插件、文案生成器、代码片段补全局限性:完全依赖模型的零样本/少样本推理能力,无多步骤任务拆分,无外部知识/工具集成,无对话上下文的持久化与状态感知,容错率为0——只要LLM在某一步推理失败,整个应用就会崩溃。1.1.2 第二代:模块化线性链(2023.03-2024.02)为了解决单提示闭环的局限,以Harrison Chase为首的团队推出了LangChain v0.0.x,开创性地提出了“LLM是计算核心,外部工具/记忆/文档是IO接口,所有复杂任务可拆分为标准化的链(Chain)”的核心思想。这一代架构的核心特征是模块化抽象+线性执行顺序:技术栈:LangChain Core、LangChain Community、LangChain OpenAI/Claude/Anthropic等模型集成库标准化组件:模型(Model):LLM、ChatModel、Embedding提示(Prompt):PromptTemplate、ChatPromptTemplate、FewShotPromptTemplate工具(Tool):预定义的搜索、数学计算、文档解析工具,自定义工具装饰器记忆(Memory):ConversationBufferMemory、ConversationSummaryMemory、ConversationBufferWindowMemory、VectorStoreRetrieverMemory文档加载器(Loader):PDF、Word、CSV、网页等多种格式的解析工具向量存储(VectorStore):Chroma、Pinecone、Weaviate等向量数据库的集成链(Chain):所有组件的线性组合器,如SimpleSequentialChain、SequentialChain、LLMChain、RetrievalQAChain、ConversationalRetrievalChain典型应用:初代结构化RAG、简单多工具问答Agent(基于零样本/少样本工具选择提示)、对话摘要生成器局限性:执行顺序固化:SequentialChain严格按照定义顺序执行,无法根据LLM的输出动态调整后续步骤(如文档检索后LLM判断知识不足,无法自动切换工具再次搜索);状态管理混乱:Memory组件虽能存储对话上下文,但状态的定义、更新、传递是隐含的(Memory内部维护字典/列表,通过Chain的参数隐式传递),缺乏显式的状态定义机制,调试时难以追踪状态变化;可观测性差:LangChain v0.0.x的默认日志仅包含输入输出,缺乏对Chain执行路径、每个组件的耗时、状态快照的详细记录;Agent实现脆弱:基于“工具选择提示→LLM返回JSON→解析JSON→调用工具→再次提示”的零样本Agent(ZeroShotAgent)对提示工程要求极高,稍有不慎就会导致JSON解析失败或工具选择错误,且无法处理循环任务(如代码调试→运行→再调试);复杂度失控:当应用需要集成10+工具、3+个状态变量时,SequentialChain的代码会变得极其臃肿,难以维护。1.1.3 第三代:循环有向无环状态机(2024.02至今)随着Agent技术的发展(如AutoGPT、BabyAGI的开源,OpenAI GPT-4o Realtime API的发布),LLM应用对动态执行路径、显式状态管理、循环任务处理、强可观测性、高容错性的需求越来越强烈。Harrison Chase团队在LangChain v0.1.x中引入了LangGraph,将LLM应用的核心抽象从“线性链”升级为“有向无环状态机的循环扩展(RDFS+)”——本质上,LangGraph是一个基于事件驱动的、状态优先的、支持循环的有向无环图执行引擎。这一代架构的核心特征是显式状态定义+任意执行路径+循环任务支持+强可观测性+模块化/自定义性平衡:技术栈:LangGraph Core、LangGraph Community、LangChain v0.1.x+、LangSmith(官方可观测性平台)标准化组件:状态(State):显式定义的、类型安全的(支持Pydantic、TypedDict、Python原生字典)状态容器,分为Shared State(全局状态,所有节点可访问)和Private State(仅特定节点可访问,v0.2.x引入)节点(Node):执行逻辑的基本单元,可以是LLM调用、工具调用、自定义Python函数、甚至是另一个LangGraph子图边(Edge):节点之间的连接关系,分为三种类型:条件边(Conditional Edge):根据状态中的某个变量的值,动态选择下一个节点无条件边(Unconditional Edge):直接连接两个节点,执行完前一个节点后自动跳转到后一个节点循环边(Cyclic Edge):连接一个节点的输出到自身或之前的节点,支持循环任务处理(如代码调试、迭代优化)子图(Subgraph):将一组节点和边封装成一个可复用的单元,类似于函数检查点(Checkpoint):将当前状态的快照保存到内存/磁盘/数据库中,支持断点续传、历史回溯、A/B测试典型应用:结构化RAG增强对话Agent、代码调试Agent、任务规划Agent(如ReAct Agent、Plan-and-Execute Agent、Tree-of-Thought Agent)、多Agent协作系统(如两个Agent分别负责代码生成和代码审查)、实时流处理Agent(如GPT-4o Realtime API的封装)核心优势:执行路径灵活:通过条件边可以实现任意复杂的执行路径(如知识不足时切换工具、代码错误时自动循环调试);状态管理清晰:显式定义状态容器,类型安全,调试时可通过检查点直接查看任意时刻的状态快照;可观测性强:LangGraph原生集成LangSmith,可以记录每个节点的输入输出、耗时、状态变化、执行路径,支持可视化调试;Agent实现健壮:原生支持ReAct、Plan-and-Execute、Tree-of-Thought等主流Agent范式,通过循环边可以处理迭代任务,条件边可以处理异常情况;复杂度可控:通过子图可以将复杂的应用拆分为多个可复用的单元,代码结构清晰,易于维护;性能优化便捷:通过检查点可以避免重复计算,通过异步节点可以提高并发性能,通过向量存储的持久化可以提高检索效率。1.2 问题空间定义从本质上讲,LLM应用编排的核心问题是:如何在保证LLM推理能力的同时,高效地管理多步骤任务的执行顺序、状态变化、外部工具/知识的集成、以及异常情况的处理?为了更清晰地定义这个问题,我们可以将其分解为以下五个子问题:任务分解与执行顺序管理:如何将一个复杂的自然语言任务(如“帮我写一篇关于量子计算的科普文章,并引用最新的3篇Nature论文,最后翻译成中文”)拆分为标准化的子任务,并根据子任务的执行结果动态调整后续子任务的顺序?状态管理:如何显式、安全、高效地存储和传递子任务之间的状态信息(如科普文章的草稿、Nature论文的摘要、翻译的中间结果)?外部工具/知识集成:如何标准化地集成各种外部工具(如搜索、代码运行、翻译)和外部知识(如向量存储、关系型数据库、API接口),并处理工具调用失败、知识不足等异常情况?可观测性与调试:如何记录和可视化每个子任务的输入输出、耗时、状态变化、执行路径,以便快速定位和修复问题?性能优化与可扩展性:如何提高应用的并发性能、减少重复计算、支持大规模用户访问?1.3 术语精确性为了避免概念混淆,我们先对本文中涉及的核心术语进行精确的定义:术语定义来源/标准大语言模型(LLM)一种基于Transformer架构的预训练语言模型,具有强大的自然语言理解、生成、推理能力,参数规模通常在10亿以上OpenAI、Anthropic、Google DeepMindLLM应用以LLM为核心计算组件,集成外部工具/知识/记忆,解决特定自然语言任务的软件系统本文定义编排(Orchestration)将多个独立的组件(如LLM、工具、记忆、文档)按照一定的逻辑组合成一个完整的应用,并管理组件之间的执行顺序、状态传递、异常处理的过程DevOps→AI应用编排迁移定义链(Chain)LangChain v0.0.x/v0.1.x中的核心抽象,指多个组件的线性组合器LangChain官方文档有向无环图(DAG)一种由节点和有向边组成的图,其中没有循环路径计算机科学基础概念状态机(FSM)一种数学模型,由一组状态、一组输入、一组输出、一个状态转移函数和一个初始状态组成计算机科学基础概念循环有向无环状态机(RDFS+)本文对LangGraph核心架构的简称,指一种基于事件驱动的、支持显式状态定义、任意执行路径(包括循环,但循环需通过条件边显式终止)的有向无环图执行引擎本文定义节点(Node)LangGraph中的核心执行单元,可以是LLM调用、工具调用、自定义函数或子图LangGraph官方文档边(Edge)LangGraph中连接节点的逻辑单元,分为条件边、无条件边和循环边LangGraph官方文档检查点(Checkpoint)LangGraph中保存状态快照的机制,支持断点续传、历史回溯、A/B测试LangGraph官方文档LangSmithLangChain官方推出的LLM应用可观测性、调试、评估平台LangChain官方文档ReAct Agent一种主流的Agent范式,通过“推理(Reasoning)→行动(Acting)→观察(Observing)”的循环执行任务论文《ReAct: Synergizing Reasoning and Acting in Language Models》Plan-and-Execute Agent一种主流的Agent范式,通过“规划(Planning)→执行(Executing)→反思(Reflecting)”的循环执行任务论文《Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models》的延伸Tree-of-Thought Agent一种主流的Agent范式,通过“生成多个候选思路→评估候选思路→剪枝→扩展最优思路”的循环执行任务论文《Tree of Thoughts: Deliberate Problem Solving with Large Language Models》2. 理论框架2.1 第一性原理分析2.1.1 LangChain的第一性原理推导LangChain的创始人Harrison Chase在多个场合提到,LangChain的核心思想来源于**“计算抽象”** 的第一性原理:任何复杂的计算系统都可以拆分为标准化的输入输出接口和组合逻辑。我们可以从以下几个基本公理出发,推导出LangChain的核心架构:公理1:LLM的输入是自然语言字符串或结构化提示对象,输出是自然语言字符串或结构化对象(如JSON、XML);公理2:任何复杂的自然语言任务都可以拆分为一系列由LLM或外部工具/记忆/文档处理的子任务;公理3:子任务之间的输入输出是可序列化的字符串或对象;公理4:子任务的执行顺序是可预先定义的线性顺序(这是LangChain v0.0.x的核心假设,也是其最大的局限性)。基于以上四个公理,我们可以推导出LangChain的核心组件:标准化输入输出接口:PromptTemplate(输入接口)、LLM/ChatModel/Embedding(计算接口)、OutputParser(输出接口);标准化子任务组件:Tool(外部工具接口)、Memory(状态存储与传递接口)、Loader(文档加载接口)、VectorStore(向量存储接口);标准化组合逻辑:Chain(线性组合子任务的接口)。2.1.2 LangGraph的第一性原理推导LangGraph的核心思想来源于**“状态机+事件驱动编程”** 的第一性原理:任何复杂的交互式计算系统都可以建模为一个状态机,其中状态的变化由事件(如LLM的输出、用户的输入、工具调用的结果)驱动,事件的处理由条件逻辑决定。我们可以从以下几个更普适的基本公理出发,推导出LangGraph的核心架构:公理1:LLM应用是交互式计算系统,用户的输入、LLM的输出、工具调用的结果都是事件;公理2:任何复杂的交互式计算系统都可以建模为一个显式定义的状态容器和一组状态转移函数;公理3:状态转移函数的输入是当前状态和事件,输出是新的状态和下一个状态转移函数的选择;公理4:状态转移函数可以是LLM调用、工具调用、自定义函数或子图;公理5:状态转移的顺序是任意的,包括循环,但循环需通过条件逻辑显式终止。基于以上五个公理,我们可以推导出LangGraph的核心组件:显式状态容器:State(类型安全的状态存储单元);状态转移函数:Node(执行逻辑的基本单元);状态转移逻辑:Edge(连接节点的逻辑单元,分为条件边、无条件边和循环边);状态持久化与回溯机制:Checkpoint(保存状态快照的机制);事件驱动执行引擎:LangGraph Core(负责管理节点的执行、边的跳转、状态的更新和检查点的保存)。2.2 数学形式化为了更精确地描述LangChain和LangGraph的核心架构,我们可以用数学语言对其进行形式化。2.2.1 LangChain的数学形式化LangChain的核心是线性链(Sequential Chain),我们可以将其形式化为一个线性函数组合器:设:C 1 , C 2 , … , C n C_1, C_2, \dots, C_nC1​,C2​,…,Cn​为n nn个标准化组件(可以是LLM、Tool、Memory等);I 1 , I 2 , … , I n I_1, I_2, \dots, I_nI1​,I2​,…,In​为组件C 1 , C 2 , … , C n C_1, C_2, \dots, C_nC1​,C2​,…,Cn​的输入空间;O 1 , O 2 , … , O n O_1, O_2, \dots, O_nO1​,O2​,…,On​为组件C 1 , C 2 , … , C n C_1, C_2, \dots, C_nC1​,C2​,…,Cn​的输出空间;对于任意i ∈ { 1 , 2 , … , n − 1 } i \in \{1, 2, \dots, n-1\}i∈{1,2,…,n−1},有O i ⊆ I i + 1 O_i \subseteq I_{i+1}Oi​⊆Ii+1​(线性链的核心约束:前一个组件的输出必须是后一个组件的输入的子集);对于任意i ∈ { 1 , 2 , … , n } i \in \{1, 2, \dots, n\}i∈{1,2,…,n},组件C i C_iCi​可以表示为一个函数f i : I i → O i f_i: I_i \to O_if

相关文章:

LangChain 已老,LangGraph 当立?新一代编排框架的崛起

LangChain 已老,LangGraph 当立?新一代编排框架的崛起 元数据 标题:LangChain 已老,LangGraph 当立?新一代编排框架的崛起——从线性链到有向无环图再到循环状态机的AI应用架构革命 关键词:LLM应用编排、LangChain、LangGraph、状态机、RAG、Agent、提示工程、异步IO 摘…...

那个让《雷神之锤3》快如闪电的‘魔法数字’0x5f3759df,今天用Python带你亲手算出来

揭秘《雷神之锤3》中的"魔法数字":用Python重现0x5f3759df的数学奇迹 1999年,当《雷神之锤3》的源代码首次公开时,游戏开发者们发现了一个令人困惑的注释——"what the fuck?"。这个注释指向的是一行看似简单却深藏玄机…...

EM菌在水产养殖中的作用与优质产品推荐

EM菌在水产养殖中的作用抑制有害菌:通过竞争性占位和代谢产物抑制弧菌、大肠杆菌等病原微生物繁殖。分解有机质:加速残饵、粪便的降解,减少底部淤泥堆积,降低硫化氢和氨氮浓度。稳定水质:调节水体pH值,促进…...

从‘学生选课’到‘商品订单’:手把手带你用MySQL实战理解关系代数(选择、投影、连接)

从‘学生选课’到‘商品订单’:手把手带你用MySQL实战理解关系代数(选择、投影、连接) 1. 关系代数与SQL的桥梁 关系代数是数据库理论的基石,而SQL则是实际应用中的利器。理解两者之间的对应关系,能让我们在编写SQL时更…...

ROS机器人系统与URDF建模入门

一、机器人系统的核心组成一个完整的机器人,本质是“感知-决策-执行”的闭环系统,就像一个精密协作的生命体,四大核心模块各司其职、相互配合,缺一不可。从控制角度来看,分别是执行机构、驱动系统、传感系统、控制系统…...

Mac上IDEA的PlantUML插件报错‘找不到Graphviz’?手把手教你用Homebrew搞定(附阿里云镜像避坑)

Mac上IDEA的PlantUML插件报错‘找不到Graphviz’?手把手教你用Homebrew搞定(附阿里云镜像避坑) 最近在Mac上使用IntelliJ IDEA的PlantUML插件时,不少开发者遇到了一个经典问题:插件报错提示"找不到Graphviz"…...

MCP 工具数量爆炸后,如何高效做 Tool Selection?

MCP 工具数量爆炸后,如何高效做 Tool Selection? 背景:规模扩展带来的路由难题 在 MCP(Model Context Protocol)架构中,随着接入工具数量的增长,一个问题会越来越突出:LLM 开始选错工…...

用 Agent 自动化数据处理:从 2 小时到 15 分钟的效率革命

💻 完整可运行代码: https://github.com/Lee985-cmd/AI-30-Day-Challenge ⭐ 如果觉得有用,欢迎 Star 支持! 一、场景痛点:数据分析师的日常困境 真实场景还原 早上 9:00 - 收到老板邮件:"帮我分析一…...

手把手排查SSV6155/6255 WiFi模块不识别问题:从硬件检查到驱动加载

SSV6x5x WiFi模块深度排障指南:从硬件信号到驱动加载全流程解析 当你的开发板上的SSV6155或SSV6255 WiFi模块突然"消失"时,那种感觉就像在迷宫里失去了指南针。作为嵌入式开发者,我们需要的不是泛泛而谈的理论,而是一套…...

Rhino 7 + Grasshopper 新手避坑指南:这5个隐藏设置不打开,效率直接减半

Rhino 7 Grasshopper 新手避坑指南:这5个隐藏设置不打开,效率直接减半 刚接触Rhino和Grasshopper的新手设计师们,往往会被默认界面中那些看似无害实则拖累效率的"隐形陷阱"困扰。当你在深夜赶项目时,是否经历过反复切…...

MCP C# SDK v. 正式发布

OCP原则 ocp指开闭原则,对扩展开放,对修改关闭。是七大原则中最基本的一个原则。 依赖倒置原则(DIP) 什么是依赖倒置原则 核心是面向接口编程、面向抽象编程, 不是面向具体编程。 依赖倒置原则的目的 降低耦合度&#…...

KeysPerSecond终极指南:实时键盘操作监控与性能优化神器

KeysPerSecond终极指南:实时键盘操作监控与性能优化神器 【免费下载链接】KeysPerSecond A keys-per-second meter & counter. Written for osu! but should work for other rhythm games too. 项目地址: https://gitcode.com/gh_mirrors/ke/KeysPerSecond …...

明日方舟自动化助手MAA:从入门到精通的完整游戏辅助指南

明日方舟自动化助手MAA:从入门到精通的完整游戏辅助指南 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://g…...

Windows Defender 四层防护解除技术深度解析:defender-control 开源项目完全指南

Windows Defender 四层防护解除技术深度解析:defender-control 开源项目完全指南 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/d…...

告别实体卡!Android 系统级 SIM 卡模拟:CarrierTestOverride 机制深度解读与自定义配置

Android 系统级 SIM 卡模拟:CarrierTestOverride 机制深度解析与实战指南 在移动设备开发与测试领域,模拟运营商环境一直是个高频需求。传统方式往往依赖实体 SIM 卡或专用测试设备,不仅成本高昂,灵活性也受限。Android 系统内置的…...

如何零成本掌握专业统计分析?JASP开源统计软件终极指南

如何零成本掌握专业统计分析?JASP开源统计软件终极指南 【免费下载链接】jasp-desktop JASP aims to be a complete statistical package for both Bayesian and Frequentist statistical methods, that is easy to use and familiar to users of SPSS 项目地址: …...

实战复盘:我是如何用Frida Hook一个AES加密的SO库,并拿到Key和IV的

逆向工程实战:Frida动态Hook解密AES加密SO库的关键技术解析 在移动安全领域,逆向分析加密算法一直是极具挑战性的技术课题。当遇到关键业务逻辑被编译到SO库中,特别是采用AES这类标准加密算法时,如何高效提取密钥参数成为安全研究…...

手把手教你排查STM32 SPI通信失败:从示波器看CLK信号到CubeMX代码审查

STM32 SPI通信故障深度排查:从硬件信号捕获到CubeMX配置陷阱 引言 当你在深夜调试一块新设计的STM32板卡,SPI外设无论如何都无法正常通信时,那种挫败感足以让任何嵌入式工程师抓狂。SPI作为嵌入式系统中最常用的串行通信协议之一,…...

如何在5分钟内免费拥有专属音乐播放器:开源酷狗客户端完整配置秘籍

如何在5分钟内免费拥有专属音乐播放器:开源酷狗客户端完整配置秘籍 【免费下载链接】MoeKoeMusic 一款开源简洁高颜值的酷狗第三方客户端 An open-source, concise, and aesthetically pleasing third-party client for KuGou that supports Windows / macOS / Linu…...

山东楼顶广告字技术白皮书:从选材到安装的完整实践指南

楼顶广告字的行业地位与价值在户外广告领域,山东楼顶广告字作为城市天际线的重要组成部分,不仅承担着商业宣传的功能,更成为区域经济发展的风向标。这类广告字通常安装在建筑物顶部,具有视野开阔、传播范围广的特点。随着城市建设…...

Excel跨表格查找神器:VLOOKUP+粘贴链接实现数据自动同步(附避坑指南)

Excel跨表格动态同步:VLOOKUP与粘贴链接的进阶组合技 每次手动复制粘贴不同表格的数据,不仅耗时费力,还容易出错。想象一下,当源数据更新时,所有关联表格能自动同步变化,这才是高效办公的真谛。今天要分享的…...

AI Agent行动规划算法:动态环境下的最优决策生成

AI Agent行动规划算法:动态环境下的最优决策生成 1. 引言 在人工智能技术飞速发展的今天,AI Agent(智能体)已经成为了连接理论与实践的关键桥梁。从自动驾驶汽车到智能客服机器人,从游戏AI到工业自动化控制,AI Agent正在以前所未有的方式改变着我们的生活和工作方式。然…...

Axure RP中文界面终极配置指南:3分钟实现专业汉化

Axure RP中文界面终极配置指南:3分钟实现专业汉化 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英…...

别再只盯着SENet了!手把手教你用PyTorch复现SKNet和CBAM(附完整代码)

深度学习注意力机制实战:从SKNet到CBAM的PyTorch实现精要 在计算机视觉领域,注意力机制已经成为提升模型性能的关键技术。不同于传统的卷积神经网络平等对待所有特征通道,注意力机制让模型学会"关注"最重要的信息。本文将带您深入…...

SQL盲注技术全解析:布尔盲注、时间盲注与DNSLog带外注入

前言 在之前的学习中,我们掌握了 SQL 注入的基本原理,包括联合查询注入和报错注入技术。这些攻击方式都有一个共同点:需要页面能够显示查询结果或通过报错信息泄露数据。但在实际环境中,Web 应用通常会采取多种防护措施&#xff…...

SQL注入攻击与防御实战:手把手教你挖漏洞

三、防御方案。1.参数化查询:用Prepared Statements,用户输入当数据处理。PHP用PDO,Java用PreparedStatement。2.输入验证:白名单过滤危险字符单引号、分号等。3.使用ORM框架:Laravel、Hibernate等内置防注入。4.最小权…...

Vue3怎么起步入门?

Vue.js 是一个渐进式 JavaScript 框架,主要用于构建用户界面。 刚开始学习 Vue,我们不推荐使用 vue-cli 命令行工具来创建项目,更简单的方式是直接在页面引入 vue.global.js 文件来测试学习。 Vue3 中的应用是通过使用 createApp 函数来创建…...

从集合到点云:深入浅出图解Deep Sets的置换不变性到底在说什么

从集合到点云:深入浅出图解Deep Sets的置换不变性到底在说什么 想象一下,你面前有一堆散落的乐高积木,无论你怎么打乱它们的顺序,最终拼出来的城堡总是一样的。这就是置换不变性(Permutation Invariance)的…...

终极指南:3步解锁百度网盘SVIP高速下载功能(macOS版)

终极指南:3步解锁百度网盘SVIP高速下载功能(macOS版) 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘…...

【Python基础】零基础入门到实战,这一篇就够了!(附详细代码)

前言 大家好,我是jifeng,今天给大家带来一篇全网最贴心的Python保姆级入门教程。 在这个AI与大数据爆发的时代,“人生苦短,我用Python” 早已不仅仅是一句口号。无论是Web开发、数据分析、人工智能还是日常办公自动化&#xff0…...