LangChain智能体核心组件概述

智能体(Agent) 是将 大语言模型(LLM) 与工具相结合,创建能够 对任务进行推理、决定使用哪些工具并迭代地寻求解决方案 的系统。

LLM智能体循环运行各种工具以实现目标。智能体持续运行,直到满足停止条件为止------即模型发出最终输出或达到迭代次数限制。


1. 模型(Model)

模型是智能体的 推理引擎。它可以通过多种方式进行指定,支持静态和动态选择模型。

  • 静态模型

    静态模型在创建智能体时配置一次,并在整个执行过程中保持不变。这是最常见、最直接的方法。

  • 动态模型

    动态模型的选择是在运行时环境基于当前状态以及上下文信息。这使得复杂的路由逻辑和成本优化成为可能。


2. 工具(Tools)

工具赋予智能体执行操作的能力。

  • 基于单个提示词的连续调用工具
  • 在适当时并行调用工具
  • 根据先前结果动态选择工具
  • 工具的重试逻辑和错误处理
  • 跨工具调用保持状态持久性

3. 系统提示词

系统提示词是智能体的核心操控杆,通过给智能体提供系统提示词来控制智能体处理任务的方式。可以动态设置系统提示词。


4. 结构化输出

在某些情况下,您可能希望智能体以特定格式返回输出。LangChain 通过response_format参数提供了结构化输出的策略。


5. 记忆

智能体通过 消息状态 自动维护对话历史。存储在状态中的信息可以视为智能体的短期记忆。


6. 中间件

中间件给智能体提供了强大的扩展性,可用于在执行的不同阶段自定义智能体的行为。

  • 在调用模型之前处理状态(例如,消息修剪、上下文注入)
  • 修改或验证模型的响应(例如,防护措施、内容过滤)
  • 使用自定义逻辑处理工具执行错误
  • 基于状态或上下文实现动态模型选择
  • 添加自定义日志记录、监控或分析功能

中间件可以无缝集成到智能体的执行图中,使开发者能够在关键点拦截和修改数据流,而无需更改智能体核心逻辑。


7. 调用

可以通过向智能体的状态传递一个更新来调用它。所有智能体的状态中都包含一个消息序列;要调用智能体,只需传递一条新消息。可以进行流式调用。

相关推荐
knqiufan3 小时前
PingCraft:从需求文档到可追踪工作项的 Agent 实践之路
ai·llm·agent·pingcode
love530love7 小时前
OpenClaw 手机直连配置全流程
人工智能·windows·python·智能手机·c#·agent·openclaw
熊明才8 小时前
通信基站建设项目全流程进度管理多智能体系统
agent
1941s10 小时前
Google Agent Development Kit (ADK) 指南 第五章:工具集成与自定义
人工智能·python·langchain·agent·adk
程序员Better10 小时前
一口气拆穿Skill/MCP/RAG/Agent/OpenClaw底层逻辑
人工智能·开源·agent
HIT_Weston11 小时前
21、【Agent】【OpenCode】源码构建(项目构建)
人工智能·agent·opencode
小仓桑11 小时前
【Agent智能体项目实战一】阿里云通义千问兼容 OpenAI 接口实现 AI 对话
人工智能·阿里云·云计算·agent
1941s13 小时前
Google Agent Development Kit (ADK) 指南 第六章:记忆与状态管理
人工智能·python·agent·adk·google agent
小仓桑14 小时前
【Agent智能体项目实战二】通义千问流式输出:实现像 ChatGPT 一样逐字打印效果
人工智能·chatgpt·agent
破无差15 小时前
WorkBuddy和QClaw对比
agent