markdown复制## 1. LangChain 1.x 全景解析:从框架到操作系统的进化
在AI应用开发领域,LangChain已经完成了从简单框架到完整操作系统的蜕变。如果把大语言模型比作计算机的CPU,那么LangChain就是协调所有硬件资源、管理任务调度的操作系统内核。这个转变在1.x版本中表现得尤为明显。
### 1.1 核心架构解析
LangChain 1.x的架构可以分为三个主要层次:
1. **开发层(OSS)**:
- LangChain Core:提供基础接口和LCEL语法
- LangGraph:负责复杂Agent的状态机编排
- Integrations:支持700+外部工具集成
2. **观测与调试层(Commercial)**:
- LangSmith:提供链路监控、提示词管理和单元测试功能
3. **部署与生产层(Commercial)**:
- LangGraph Cloud:实现智能体的一键云端部署
> 提示:在实际项目中,建议从开发层开始构建原型,再逐步引入商业组件实现生产化部署。
## 2. LCEL:LangChain的灵魂语言
LCEL(LangChain Expression Language)是1.x版本引入的革命性特性,它通过管道符`|`实现了声明式的链式调用。
### 2.1 基础语法解析
典型的LCEL调用包含三个核心组件:
```python
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
prompt = ChatPromptTemplate.from_template("请讲一个关于{topic}的笑话")
chain = prompt | llm | StrOutputParser()
这段代码实现了:
- 模板变量填充
- 模型调用
- 输出解析
2.2 高级特性
LCEL自动支持的关键功能:
- 异步调用(async/await)
- 流式输出(streaming)
- 中间步骤监控(via LangSmith)
- 自动重试机制
注意事项:在复杂链式调用中,建议为每个
|操作添加注释说明,否则随着链条增长,代码可读性会快速下降。
3. LangGraph:状态机驱动的Agent编排
当业务逻辑需要循环、分支或人工干预时,传统的链式结构就显得力不从心。这正是LangGraph的用武之地。
3.1 核心概念解析
- State(状态):
python复制class [Agent](https://taotoken.net?utm_source=ai)State(TypedDict):
topic: str
content: str
report: str
approved: bool
状态对象相当于Agent的"记忆白板",所有节点都可以读写其中的字段。
- Node(节点):
python复制def researcher(state: AgentState):
# 实现具体业务逻辑
