创建时间: 2026-03-29最后更新: 2026-04-23

1. 在 Agent 应用里,为什么还要讲 LCEL

前面几篇一直在处理单个 Agent 的输入和输出:

  • 消息怎么组织
  • Prompt Template 怎么写
  • Few-Shot 放在哪
  • 输出什么时候直接展示,什么时候收成结构

到了这里,问题会变成另一种样子。

在真实项目里,Agent 前后往往还会挂一些额外步骤。比如一条用户消息进来以后,程序可能先做这些事:

  • 去掉输入里的多余空格
  • 补一个 priority 字段
  • 先做一次结构化判断
  • 再把处理结果交给模型

这些步骤不一定都属于 Agent 本体,但它们又确实在同一条调用链上。
LCEL 处理的就是这种场景。

LCELLangChain Expression Language 的缩写。它不是另一个模型,也不是另一个 Agent API,而是一套把节点接成链路的写法。

节点这个词可以先记得很朴素一点:
只要一段东西能接收输入,再产出输出,它就可以是链上的一个节点。

比如:

  • Prompt 是一个节点
  • Model 是一个节点
  • Parser 是一个节点
  • 一小段本地函数逻辑,也可以包成一个节点

上图里这几个方块不是按“类名百科”排出来的,而是在表示一条真实链路:

  1. 先保留原始输入,并补一点字段
  2. 再插一小段本地逻辑
  3. 再组织成 Prompt
  4. 再交给模型
  5. 最后把输出收回来

如果这些步骤都手写成一串 await,当然也能跑。但链路一长,代码就会越来越散。
LCEL 的作用,就是把这条链写成一个稳定的管线。

订阅后可阅读剩余内容
AI 电子伴侣企业级项目实战
已发布165计划发布120目标已完成138%