LangChain 组件架构与执行数据流
LangChain 应用通常包含五类对象:模型接收消息并返回消息;工具把外部能力描述成可验证的调用接口;Agent 循环决定继续调用工具还是结束;中间件在执行钩子处观察或改变行为;运行时提供状态、上下文、存储和流式事件。
一次工具型 Agent 的数据流如下:
用户消息
→ Harness 组装提示、历史和工具说明
→ 模型返回文本或结构化工具调用
→ 宿主校验名称、参数与权限
→ 工具执行并产生 ToolMessage
→ 模型读取结果并继续判断
→ 最终消息或结构化结果
这套架构使模型和工具能够替换,但抽象并不会消除提供商差异。流式格式、工具调用能力、结构化输出策略、上下文窗口和多模态支持仍取决于具体模型。
现代 LangChain Agent 建立在 LangGraph 上,因此其执行状态可以接入检查点、流式输出和人工介入。应用可以使用高层 Agent,也可以把它嵌入自定义图;这两种方式不是互斥关系。