零基础入门 LangChain 与 LangGraph(二):AI 都会写代码了,为什么还要学框架?

零基础入门 LangChain 与 LangGraph(二):AI 都会写代码了,为什么还要学框架?

文章目录

零基础入门 LangChain 与 LangGraph(二):AI 都会写代码了,我为什么还要学框架?

💬 开篇:上一篇我先把大模型、提示词、Embedding 和接入方式这些“地基”铺开了。到那一步,我已经能回答“模型是什么”“为什么会有 Prompt”“为什么 RAG 离不开向量”,但新的问题马上就来了:既然现在 AI 已经能写代码,甚至一句话就能生成一个小应用,那我为什么不直接上手用这些工具,而是还要花时间系统学 LangChain 和 LangGraph?

👍 这篇我想讲清楚的核心问题:AI 会写代码,解决的是“起步快”;但真正把一个 AI 能力做成可维护、可扩展、可上线、可调试的应用,靠的不是一句 prompt,而是工程化的抽象、状态管理、工具编排和流程控制。也正是在这个层面上,LangChain 和 LangGraph 才真正开始有价值。

🚀 这篇的定位:这不是环境安装篇,也不是 API 背诵篇,而是一篇“框架认知篇”。我要先把一件事想明白:我到底是在学一个库,还是在学 AI 应用开发的工程方法。

一、怎么把模型做成应用

1.1 只知道模型、Prompt 和 Embedding,还不等于会做 AI 应用

上一篇之后,我们已经对这些概念有了一定理解:

  • 模型负责理解输入、生成输出
  • Prompt 负责把任务描述清楚
  • Embedding 负责把文本变成向量,支撑语义检索
  • API、本地部署、SDK 只是不同的接入方式

这些东西都很重要,但它们更多回答的是:“一个模型是什么,以及我怎么碰到它。”

可一旦真的开始往“做应用”这件事上想,问题就变了。

因为一个真正能用的 AI 应用,绝不只是:

用户输入一句话 -> 调一次模型 -> 返回一段文本 

它中间往往还会夹着很多层:

  • 提示词模板怎么组织
  • 多轮对话状态怎么保存
  • 知识库怎么接进来
  • 工具什么时候调用
  • 模型输出怎么变成结构化数据
  • 某一步失败了怎么重试
  • 长流程中断后怎么恢复
  • 结果怎么评估、怎么调试、怎么追踪

到这里我才真正意识到:

一个“能聊天的模型”,离一个“能落地的应用”,中间差的不是一点 API,而是一整层工程。

1.2 现在最容易把人带偏的一句话,就是“AI 都会写代码了”

这句话听起来很有冲击力,而且也不完全错。

因为现在的模型确实已经很强了。你给它一个需求,它能:

  • 写一个网页 Demo
  • 写一个爬虫脚本
  • 写一个接口
  • 写一个小游戏
  • 给你补一段业务代码

很多人第一次看到这些效果,很自然就会得出一个结论:

那我还学什么框架?
直接让 AI 写不就行了?

我一开始也差点这么想。
但后来我发现,这个结论里其实偷换了一个非常关键的问题:

“会生成代码” 和 “能完成工程” 根本不是一回事。

前者解决的是产出速度
后者解决的是系统质量

而接下来学 LangChain 和 LangGraph,真正要解决的恰恰是第二个问题。


二、Vibe Coding 为什么突然这么火

2.1 什么是 Vibe Coding?

“Vibe Coding” 这个词在 2025 年突然火起来,不是因为它第一次让 AI 写代码,而是因为它把一种开发姿势说得特别形象:开发者尽量只描述意图,把实现细节大幅外包给模型,自己更多是通过看结果、提新要求、复制报错、继续追问的方式推动代码往前走。 这个词一般被认为是 Andrej Karpathy 在 2025 年 2 月提出的;而 Simon Willison 后来专门写文章强调:不是所有 AI 辅助编程都叫 vibe coding,真正的 vibe coding 更接近“我主要凭感觉驱动,甚至不认真读 diff”。(TechCrunch)

我自己现在对它的理解是:

Vibe Coding 不是“AI 辅助写代码”的总称,而是一种更激进的、以自然语言驱动实现细节、弱化代码阅读与底层掌控感的开发方式。

换句话说,如果我只是把 AI 当成一个更聪明的补全工具、重构工具、解释工具,那还不算严格意义上的 vibe coding。
真正更接近 vibe coding 的状态,是:

  • 我主要描述需求,不怎么手写实现
  • 我主要看运行结果,不太看中间过程
  • 我把很多局部决策交给模型
  • 我甚至可能没有完全理解生成代码的全部结构

2.2 为什么它会让这么多人上头

因为它确实抓住了开发里最让人上头的那部分体验:反馈非常快。

以前写一个小东西,流程大概是这样:

想需求 -> 设计数据结构 -> 写代码 -> 跑起来 -> 改 bug -> 再改需求 

现在很容易变成:

说需求 -> AI 先给一版 -> 跑起来看看 -> 继续用自然语言修 

这对很多场景是非常爽的,比如:

  • 做一个临时工具
  • 写一个简单页面
  • 验证一个小想法
  • 搭一个原型
  • 写一些重复性特别强的样板代码

尤其是当需求还不稳定、还在摸索的时候,这种“先让它长出来,再一点点改”的方式,非常符合人的直觉。

在我看来,Vibe Coding 真正吸引人的地方,不是“自动生成代码”本身,而是:

它把开发从“逐行构造”变成了“持续验收”。

这是一种非常大的心智变化。


2.3 但我不想把它神化:它改变的是分工,不是工程规律

这个概念火了以后,最容易出现的误区就是把它神话成:

  • 程序员不重要了
  • 框架不重要了
  • 基础不重要了
  • 架构也可以靠模型“自动长出来”

我现在反而越来越不认同这种说法。

因为 Vibe Coding 不是把工程规律消灭了,
它只是把人的精力从“手写每一行代码”往更高层挪了一点:

  • 更强调问题定义
  • 更强调需求表达
  • 更强调验收和审查
  • 更强调架构边界
  • 更强调系统理解

所以从这个角度看,开发者并不是“消失”了,
而是从纯粹的代码生产者,越来越像:

  • 方案设计者
  • 约束制定者
  • 结果审查者
  • 系统负责人

这也是为什么我越往后学,越觉得:

AI 时代真正更重要的,不是“会不会手敲每一行”,而是“能不能控制系统如何生长”。

而框架,正是做这件事的。


三、 Vibe Coding 远不是终点:它能做 Demo,但做不了完整工程

3.1 能跑,不等于可维护

这是大多数人最在意的一点。

一个小 Demo 能跑起来,说明的是:

  • 这段代码眼下可能没报错
  • 这个功能路径暂时是通的
  • 模型在当前上下文里凑出了一版实现

但工程里真正困难的,从来都不是“第一版能不能跑”,而是:

  • 半个月后你还看不看得懂
  • 另一个人能不能接着改
  • 增加新需求时会不会牵一发动全身
  • 出线上问题时能不能定位
  • 做版本演进时会不会越来越乱

这一点我做过 C++ 网络项目之后感受特别深。

比如一个高并发服务器项目里,最可怕的从来不是“写不出 accept/epoll/read/write”,
而是你有没有把这些东西组织成:

  • 清晰的事件流
  • 稳定的对象生命周期
  • 合理的线程归属
  • 可控的资源边界

AI 当然可以给你生成几个函数,
系统结构不是靠函数堆出来的。


3.2 它对局部很强,但对整个系统的持续一致性并不天然可靠

这也是很多人真正上手之后会碰到的问题。

当项目很小的时候,AI 很像一个效率倍增器。
但当项目一大,你会越来越频繁地遇到这些情况:

  • 新需求和旧设计冲突
  • 早期接口和后期实现不一致
  • 局部修好了,整体风格乱了
  • 新加的功能绕过了旧约束
  • 代码表面上没错,但结构越来越腐化

为什么会这样?

因为大模型非常擅长在当前上下文里生成“局部合理”的东西,
但一个真实系统需要的是长期一致的约束

而这件事,靠的不是模型自己“悟出来”,而是你有没有提前给它:

  • 清晰的边界
  • 稳定的抽象
  • 明确的状态流
  • 固定的接口契约

说白了,
Vibe Coding 的问题不是它不强,
而是它天然更偏“局部生成”,不负责“全局演化”。


3.3 更现实的问题是:安全、可靠性、可追踪性,都不能靠“它大概会对”

这一点在企业项目里尤其致命。

AI 可以很快给你一段看起来没问题的代码,
但它不会天然替你承担这些责任:

  • 这里有没有注入风险
  • 这里有没有越权访问
  • 这里有没有异常兜底
  • 这里有没有幂等性问题
  • 这里并发下会不会出竞态
  • 这里失败后怎么恢复
  • 这里上线后怎么排查

这些东西不属于“生成几行代码”的问题,
而属于系统设计与运维可控性的问题。

Vibe Coding 最适合的是“加速局部实现”,而不是“接管整体工程”。

真正的项目里,它更像一个很强的助手,
而不是你把整个系统都放心交给它的总工程师。


3.4 真正需要的,不是“一个更会写代码的模型”,而是一套能控制复杂度的组织方式

到这一步,我的目标已经不是:

  • 让模型帮我多写点代码

而是:

  • 让模型调用可替换
  • 让提示词结构可复用
  • 让检索流程可组合
  • 让工具调用可编排
  • 让输出格式可约束
  • 让状态能够保存
  • 让长流程能中断、恢复、追踪

而这整套事情,本质上都已经不再是“写一段脚本”的问题了。

它是工程组织问题


四、框架为什么在 AI 时代反而更重要了?

4.1 框架最核心的价值,从来不是“帮我少写几行”

很多初学者对框架的第一印象是:

框架 = 偷懒工具

这个理解太浅了。

框架真正的价值,通常至少有三层:

  1. 抽象重复问题
    把那些高频出现、形式稳定的底层细节收起来
  2. 统一组织方式
    让代码结构、调用路径、模块边界有一致性
  3. 限制复杂度扩散
    当项目变大时,避免每个功能都按自己的方式野蛮生长

这套逻辑在传统后端里很常见。
Spring 是这样,libcurl 这种库也是这样。

现在到了 AI 应用开发里,本质并没有变。
只是被抽象起来的对象,从数据库、网络请求、依赖注入,换成了:

  • 模型调用
  • Prompt 组织
  • 工具调用
  • 检索流程
  • 状态管理
  • 结果解析
  • 工作流编排

Spring AI 官方文档现在写得就很直白:它的核心就是用一套抽象把不同 AI provider 的实现统一起来,让组件可以低成本切换,并提供跨模型的便携 API、结构化输出、向量库集成等能力。(Home)

一句话总结:

AI 时代不是让框架失效了,而是让“抽象层”变得更值钱了。框架提供了一种让我们把本来离散的 AI 能力,组织成一个真正可运行、可扩展、可维护的系统的方式。

五、LangChain 到底是什么

5.1 先看官方定位:它不是模型,而是面向 LLM 应用的高层框架

现在官方文档对 LangChain 的定位已经非常明确:它是一个开源框架,提供预构建的 agent 架构,以及和不同模型、工具的集成,目标是让开发者更快构建由 LLM 驱动的应用;如果要快速起步做 agent 或 autonomous application,优先从 LangChain 开始。(LangChain Docs)

更重要的是,官方“Philosophy”页把它的两个核心目标也说得很清楚:

  1. 让开发者可以更容易切换到更好的模型,避免 provider lock-in
  2. 让模型不只做文本生成,而是能和外部数据、外部计算一起编排复杂流程 (LangChain Docs)

这两句话非常关键,因为它们几乎就是 LangChain 的“框架灵魂”:

  • 前者解决的是模型抽象
  • 后者解决的是流程抽象

所以 LangChain 并不是“再造一个模型”,
而是给模型外面包了一层更适合做应用的工程壳。


5.2 LangChain 为什么会出现?它到底是在补哪块空白?

官方时间线里写得很清楚:LangChain 在 2022 年 10 月作为 Python 包发布,最早的核心就是 LLM abstractionchains;2023 年 1 月推出 JavaScript 版本;到了 2025 年 10 月的 1.0,官方又把高层抽象进一步收敛,明确把 agent 作为新的标准入口。(LangChain Docs)

这条时间线其实说明了一件事:

LangChain 的出现,不是为了“把 prompt 写得更漂亮”,而是为了让开发者别再每接一个模型、每做一个流程、每换一个工具都重写一遍胶水代码。

它补的空白主要就是下面这些:

  • 不同模型 provider 参数不一样,消息格式不一样
  • Prompt 组织方式容易散
  • 输出天然是自然语言,不方便程序消费
  • 检索、工具、模型调用很难标准化拼起来
  • 多步流程写到后面会很乱
  • 换模型、换向量库、换工具时耦合太重

而 LangChain 提供的,就是一套“统一界面”。


5.3 我现在对 LangChain 的理解:它是 AI 应用开发里的“组件层 + 组合层”

如果让我用最工程化的话来描述,我会这样说:

LangChain 不是单个功能点,而是一组可组合的组件抽象。

这些组件一般包括:

  • 模型抽象
  • 消息抽象
  • Prompt 模板
  • 输出解析
  • 文档加载
  • 文本切分
  • Embedding
  • Retriever
  • Tool
  • Agent

你会发现,这里面没有一个东西是“凭空发明”的。
它们全都是上一篇里那些基础能力的工程化版本。

也就是说,LangChain 做的不是创造新能力,
而是把原本零散的能力,变成:

  • 可以复用
  • 可以替换
  • 可以组合
  • 可以扩展

的一套标准化积木。


5.4 “Chain” 这个词,不该只理解成老 API,而要理解成“组合思想”

很多人第一次学 LangChain,最容易被各种旧文章带偏:

  • 什么 LLMChain
  • 什么 ConversationChain
  • 什么各种各样的老式 chain 类名

但现在官方路线已经明显收敛了。LangChain 1.0 明确把 create_agent 作为标准高层入口,同时把旧的很多遗留能力移到了 langchain-classic;本质上,官方是在告诉开发者:不要再执着于背一堆旧类名,而是要抓住真正稳定的高层抽象。 (LangChain Docs)

所以我现在理解“Chain”这个词时,不会再停留在“某个具体类”,而是先抓它背后的思想:

把多个步骤按照确定的输入输出关系串起来,让一整个任务能够连续执行。

最简单的链式思路,可以画成这样:

User Input

Prompt Template

LLM

Retriever or Tool

LLM

Structured Result

这张图的重点不是某个节点叫什么,
而是你要意识到:

  • 每个节点都只做自己那一小步
  • 节点之间靠标准输入输出衔接
  • 复杂任务不是“一口吃掉”,而是分步走完

这就是我现在理解的 LangChain。


六、那为什么还要有 LangGraph?因为很多真实任务根本不是“直线”

6.1 LangChain 的高层抽象很好用,但复杂控制流不是它最擅长的那一层

官方现在对 LangGraph 的定位也非常明确:它是一个 low-level orchestration framework and runtime,用于构建、管理、部署长时间运行的、有状态的 agent;它关注的核心能力包括 durable execution、streaming、human-in-the-loop 等。并且官方还明确说了:LangGraph 可以配合 LangChain 组件一起用,但并不要求你必须依赖 LangChain 才能使用 LangGraph。(LangChain Docs)

这说明什么?

说明 LangGraph 出现,不是因为 LangChain “不行”,
而是因为:

高层抽象负责让你快,低层编排负责让你控。

当任务还是线性的,比如:

  • 一个 prompt
  • 一次模型调用
  • 一次检索
  • 一次输出解析

LangChain 已经很够用了。

但一旦任务开始变成下面这种样子:

  • 需要循环追问用户补信息
  • 需要根据条件走不同分支
  • 需要多轮状态持续保留
  • 需要长时间运行
  • 需要中途人工介入
  • 需要失败后从中断点继续

你就会发现,单纯“把几个步骤串起来”已经不够了。


6.2 LangGraph 的核心,不是“更高级”,而是“把控制流和状态管理拿回来了”

LangGraph 的底层思路是图结构:
Node 做事,Edge 决定下一步,State 贯穿整个流程。

在这里插入图片描述

官方 Graph API 文档对这件事讲得非常清楚:
你先定义 State,再添加 nodes 和 edges,最后 compile;节点本质上就是函数,边负责决定流向,而图的真正威力来自于状态如何在执行过程中被管理和演化。(LangChain Docs)

这套模型非常适合描述真实世界里的复杂流程。

因为真实任务很多时候并不是:

A -> B -> C -> End 

而是更像:

  • 先判断意图
  • 意图不同走不同路线
  • 某一步信息不全就回头继续问
  • 风险高的情况人工接管
  • 完成后记录状态
  • 出错时从上个检查点恢复

这就已经很像状态机、工作流引擎了。
而 LangGraph 本质上就是把这套能力,带进了 LLM/Agent 生态里。


6.3 用一个客服工单例子看,“链”和“图”到底差在哪

假设我要做一个自动处理客服工单的 AI 系统。
用户可能提交:

  • 退货申请
  • 商品咨询
  • 投诉
  • 信息不完整的工单

如果按最朴素的线性链去想,流程可能是:

识别意图 -> 处理问题 -> 返回结果 
在这里插入图片描述

但现实里很快就会出问题:

  • 如果订单号缺失,必须继续追问
  • 如果是投诉,要走人工审核
  • 如果是咨询,要去知识库检索
  • 如果资料核验失败,不能硬往下走
  • 如果系统中断,不能从头再来

这时候更合理的表达方式其实是图:

Return

Inquiry

Complaint

No

Yes

Start

Intent Classify

Collect Info

Knowledge Retrieval

Human Review

Info Complete?

Process Return

Generate Answer

Manual Decision

Done

你看这张图就会发现,LangGraph 真正解决的不是“节点多一点”这么简单,
而是它允许我把这些原本只能塞进 if-else、外部缓存、数据库补丁逻辑里的东西,变成一个清晰可视、状态可追、路径可控的工作流。

这就是图式架构的价值。


6.4 LangGraph 最让我觉得“这玩意儿真是工程化”的地方,是状态、记忆和检查点

我觉得这是 LangGraph 最值得认真理解的部分。

官方 Memory 文档里明确说了:
LangGraph 的短期记忆是 thread-scoped 的,属于 agent state 的一部分,并通过 checkpointer 持久化,所以一次对话线程在任何时间都可以恢复;长期记忆则通过 store 跨会话保存。(LangChain Docs)

官方 Persistence 文档又进一步解释了 checkpoint 的意义:

  • 它能提供 fault tolerance
  • 能在失败后从上一个成功步骤恢复
  • 能保存每个 super-step 的状态快照
  • 能做 replay、time travel、state history 查看等能力 (LangChain Docs)

这几个词如果只背定义,会很抽象。
但如果从工程视角看,就非常清楚:

LangGraph 不是只帮你“把流程走完”,它还帮你“把流程记住”。

这件事太重要了。

因为很多真实 AI 应用不是一次性调用,而是:

  • 多轮会话
  • 长任务执行
  • 可能失败
  • 可能暂停
  • 可能人工接管
  • 可能过一会儿再继续

如果没有状态和检查点,这种系统的维护成本会非常高。
而 LangGraph 把这些东西直接提升成了框架能力。

它把复杂 Agent 的控制流、状态持久化、恢复能力和人工介入机制,正式提升成了框架层的能力。

七、LangChain 和 LangGraph 关系

7.1 它们不是替代关系,而是分层关系

很多人一听 LangGraph,就会下意识理解成:

  • LangGraph 比 LangChain 新
  • 所以 LangGraph 是 LangChain 的升级版
  • 那是不是学 LangGraph 就不用学 LangChain 了?

这个理解不对。

官方文档现在已经把两者关系说得很明白:

  • LangChain 适合快速开始构建 agent 和应用
  • LangGraph 是更低层的 orchestration runtime
  • LangChain 的 agent 本身就是构建在 LangGraph 之上的
  • 基本使用 LangChain agent,并不要求你先学完 LangGraph (LangChain Docs)

所以他们关系图是这样的:

My AI App

LangChain

LangGraph Runtime

Models

Tools

Retrievers

State and Memory

这张图最关键的意思是:

  • LangChain 更像高层应用开发接口
  • LangGraph 更像底层流程运行时
  • 上层讲“我想做什么”
  • 下层讲“这个复杂流程怎么可靠地跑”

7.2 官方路线:高层起步,再按需下沉

从当前文档看,LangChain v1 把 create_agent 作为高层标准入口,强调的是更简洁、更可定制的 agent 构建方式;而 LangGraph v1 则强调自己是稳定的 agent runtime,保留 graph primitives 和 execution model,不强迫你放弃底层控制。(LangChain Docs)

这其实给初学者指了一条非常明确的学习路线:

  1. 先学 LangChain
    把高层组件和基础 agent 用顺
  2. 再学 LangGraph
    学会处理复杂控制流、状态和长流程

这样学的好处是:

  • 不会一上来就被 graph 抽象吓住
  • 也不会只停留在“调个模型”这种表层

我自己现在就决定按这条路走。
因为它既符合认知顺序,也符合真实工程顺序。


八、不同语言在AI应用的生态

8.1 按生态看,Python 依然是 AI 应用框架的主战场

因为只要你去看各家官方文档,就会发现主流 AI 应用框架的第一入口几乎都在 Python:

  • LangChain 官方把 Python 和 JavaScript/TypeScript 都作为核心支持语言,但 Python 仍然是最完整、最成熟的主入口之一。(LangChain Docs)
  • LlamaIndex 官方文档明确说明它提供 Python 和 TypeScript 两套框架,但 Python 版本仍然是主文档入口,低层 API 也非常完整。(LlamaIndex OSS Documentation)
  • Java 企业生态里,Spring AI 提供的是更贴近 Spring 风格的 AI 抽象层,LangChain4j 则是 JVM 世界里非常活跃的一条路线。(Home)

所以如果我的目标是:

  • 学 LangChain
  • 学 LangGraph
  • 快速进入 AI 应用开发主流生态
  • 最快接上教程、案例、社区和招聘市场

那 Python 路线几乎就是最自然的选择。

这不是说别的语言没价值,
而是说当前最密集的知识和生态,确实主要堆在 Python 这边。


8.2 C++技术栈在LLM里的位置

在 LLM 技术栈里,C++ 其实并没有消失,
只是它更常出现在:

  • 推理引擎
  • 性能优化
  • 模型运行时
  • 本地部署底层
  • 资源受限环境

比如 llama.cpp 这个非常典型的项目,本身就是以 “LLM inference in C/C++” 为核心定位的。(GitHub)

这说明什么?

说明现在的主流技术分工,越来越像这样:

  • Python / JS / Java:更负责应用层、业务层、编排层
  • C / C++:更负责推理层、性能层、底层基础设施
在给 C++ 背景,上面再补一层 AI 应用工程能力。

九、后面到底该怎么学

9.1 不要把后面的学习,理解成“背一堆框架 API”

后面真正要学的,不是:

  • 背多少类名
  • 记多少函数
  • 抄多少 demo

而是要形成下面这套能力:

  1. 知道每一层在做什么
  2. 知道什么时候该用高层抽象,什么时候该下沉到底层控制
  3. 知道一个 AI 应用的复杂度会从哪里冒出来
  4. 知道怎么用框架去约束这种复杂度

所以接下来的学习路线,我会尽量按这个顺序来:

先建立地图 -> 再跑通最小代码 -> 再掌握 LangChain 组件 -> 再进入 RAG / Tool / Structured Output -> 最后进入 LangGraph 的状态化编排 

这比一上来就把所有概念揉成一团,要稳得多。


十、本篇总结

作为系列的前两篇,我没有急着安装环境,也没有急着写 LangChain 代码,
因为我觉得在真正动手之前,必须先把下面这个问题想明白:

AI 已经会写代码了,我为什么还要学 LangChain 和 LangGraph?

现在答案已经非常明确了:

  1. Vibe Coding 解决的是“开发起步更快”,但它并不天然解决系统的可维护性、可靠性和状态管理问题。(TechCrunch)
  2. LangChain 的价值在于高层抽象:统一模型调用、Prompt、检索、工具、输出解析和 agent 入口,让我可以更快、更稳地构建 AI 应用。(LangChain Docs)
  3. LangGraph 的价值在于底层编排:它把循环、分支、状态、检查点、恢复、人工介入这些复杂能力,正式提升成了框架层能力。(LangChain Docs)
  4. 两者不是替代关系,而是分层关系:LangChain 更适合快速起步,LangGraph 更适合复杂、有状态、可恢复的长流程系统。(LangChain Docs)
  5. Python 是当前最主流的 AI 应用框架生态入口,但这并不意味着 C++ 背景失去价值;相反,系统设计、状态管理、性能意识和工程抽象能力,会让我在后面学这些框架时更有优势。(LlamaIndex OSS Documentation)

如果要用一句话概括这一篇,那就是:

AI 会写代码,只是把“写代码”这件事变快了;而 LangChain 与 LangGraph,解决的是“怎样把 AI 变成一个真正可控的系统”。

💬 下一篇预告:下一篇我会开始真正动手,把环境、语言和最小调用链路跑起来。对我这种 C++ 背景、Python 基础很弱的人来说,重点不是把 Python 学成语法大全,而是先把最小可运行链路打通:环境怎么装、第一个模型调用怎么写、第一个 LangChain 程序怎么跑。

Read more

手把手搭建 Python AI 开发环境:Anaconda + PyCharm + Claude Code 安装全攻略(Windows / macOS)

手把手搭建 Python AI 开发环境:Anaconda + PyCharm + Claude Code 安装全攻略(Windows / macOS)

Anaconda + PyCharm + Claude Code 完整安装教程(Windows / macOS) 本文涵盖 Anaconda、PyCharm Community Edition、Claude Code CLI 以及 PyCharm Claude Code 插件的完整安装与配置流程,同时收录注册报错、地区限制、环境变量等常见问题解决方案,适合 Windows 和 macOS 用户从零开始配置 Python 开发环境。 文章目录 * Anaconda + PyCharm + Claude Code 完整安装教程(Windows / macOS) * 一、Windows 安装 * 1. 安装 Anaconda(Windows) * 2. 安装 PyCharm Community Edition(

全网最简单的 OpenClaw 部署教程,5 分钟拥有你的 AI 员工

全网最简单的 OpenClaw 部署教程,5 分钟拥有你的 AI 员工

我们是由枫哥组建的IT技术团队,成立于2017年,致力于帮助IT从业者提供实力,成功入职理想企业,我们提供一对一学习辅导,由知名大厂导师指导,分享Java技术、参与项目实战等服务,并为学员定制职业规划,全面提升竞争力,过去8年,我们已成功帮助数千名求职者拿到满意的Offer:qiuzhiwang.vip。 前言 OpenClaw 是一款终端式 AI 助手,支持多模型适配、多渠道接入,既可本地部署,也支持云端一键安装。 本文聚焦“本地部署 + 飞书机器人接入”全流程,适配 macOS / Linux / Windows。 * 官网:https://openclaw.ai/ * GitHub:https://github.com/openclaw/(以官方仓库为准) * 部署方式: * 本地部署(本文核心) * 云端一键安装(阿里云 / 火山引擎 / MiniMax 等) * Docker

人工智能:大模型分布式训练与高效调参技术实战

人工智能:大模型分布式训练与高效调参技术实战

人工智能:大模型分布式训练与高效调参技术实战 1.1 本章学习目标与重点 💡 学习目标:掌握大语言模型分布式训练的核心原理、主流框架使用方法,以及高效调参策略,能够解决大模型训练过程中的算力瓶颈和效果优化问题。 💡 学习重点:理解数据并行、张量并行、流水线并行的技术差异,掌握基于DeepSpeed的分布式训练实战,学会使用超参数搜索提升模型性能。 1.2 大模型训练的核心挑战 1.2.1 单卡训练的算力瓶颈 💡 大语言模型的参数量动辄数十亿甚至上万亿,单张GPU的显存和计算能力完全无法满足训练需求。以LLaMA-2-70B模型为例: * FP32精度下,模型参数本身就需要约280GB显存,远超单张消费级或企业级GPU的显存容量。 * 训练过程中还需要存储梯度、优化器状态等数据,实际显存占用是模型参数的3-4倍。 * 单卡训练的计算速度极慢,训练一轮可能需要数月时间,完全不具备工程可行性。 1.2.2 大模型训练的核心需求 为了高效完成大模型训练,我们需要解决以下三个核心问题: 1. 显存扩容:通过并行技术,将模型参数和计算任务分布到多张GPU上,突破

Whisper 模型资源大全:官方 + 社区版本下载链接汇总

以下是关于Whisper模型的资源大全,包括官方和社区版本的下载链接汇总。Whisper是由OpenAI开发的先进语音识别模型,支持多语言转录和翻译。我将以结构清晰的方式组织信息,确保所有资源真实可靠,来源均为官方或知名社区平台(如GitHub和Hugging Face)。资源分为官方版本(由OpenAI直接提供)和社区版本(由开源社区维护),并附带简要说明。 1. 官方资源 官方版本是OpenAI发布的原始模型,提供完整的权重文件和代码。所有资源均可在OpenAI的GitHub仓库获取: * GitHub仓库链接:openai/whisper * 这里包含: * 模型权重下载:支持多种尺寸(如tiny、base、small、medium、large),下载地址在仓库的README中直接提供。 * 安装指南:使用Python和PyTorch运行模型的详细步骤。 * 示例代码:包括转录和翻译的Python脚本。 * 模型尺寸与选择:小尺寸(如base)适合快速任务,大尺寸(如large-v2)支持更高精度。 直接模型下载:仓库中的模型权