创建时间: 2026-03-29最后更新: 2026-08-04作者: yangbo(dd1575869)
1. 在 Agent 应用里,为什么还要讲 LCEL
前面几篇一直在处理单个 Agent 的输入和输出:
- 消息怎么组织
- Prompt Template 怎么写
- Few-Shot 放在哪
- 输出什么时候直接展示,什么时候收成结构
到了这里,问题会变成另一种样子。
在真实项目里,Agent 前后往往还会挂一些额外步骤。比如一条用户消息进来以后,程序可能先做这些事:
- 去掉输入里的多余空格
- 补一个
priority字段 - 先做一次结构化判断
- 再把处理结果交给模型
这些步骤不一定都属于 Agent 本体,但它们又确实在同一条调用链上。
LCEL 处理的就是这种场景。
LCEL 是 LangChain Expression Language 的缩写。它不是另一个模型,也不是另一个 Agent API,而是一套把节点接成链路的写法。
节点这个词可以先记得很朴素一点:
只要一段东西能接收输入,再产出输出,它就可以是链上的一个节点。
比如:
- Prompt 是一个节点
- Model 是一个节点
- Parser 是一个节点
- 一小段本地函数逻辑,也可以包成一个节点
正在加载图示...
上图里这几个方块不是按“类名百科”排出来的,而是在表示一条真实链路:
- 先保留原始输入,并补一点字段
- 再插一小段本地逻辑
- 再组织成 Prompt
- 再交给模型
- 最后把输出收回来
如果这些步骤都手写成一串 await,当然也能跑。但链路一长,代码就会越来越散。
LCEL 的作用,就是把这条链写成一个稳定的管线。
订阅后可阅读剩余内容
AI 电子伴侣企业级项目实战
已发布240节计划发布120节目标已完成200%