LangChain智能体核心组件概述

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

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


1. 模型(Model)

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

  • 静态模型

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

  • 动态模型

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


2. 工具(Tools)

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

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

3. 系统提示词

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


4. 结构化输出

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


5. 记忆

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


6. 中间件

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

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

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


7. 调用

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

相关推荐
MicrosoftReactor6 小时前
技术速递|GitHub Copilot App 中的堆叠会话与拉取请求
ai·github·copilot·agent
武子康7 小时前
Pi Agent 为什么不内置 MCP:工具发现与上下文成本的真实争议
人工智能·llm·agent
用户469368483207 小时前
kimi-code 深度掌握系列文章-V2 引擎的 HTTP 服务层:kap-server(十六)
agent
Do1you1believe1light7 小时前
我拆开了 Prime Agent:然后哭着想要给它真正的智能
llm·agent·ai编程
joinwell528 小时前
一个 Agent 说“完成了”,团队为什么没放行?
agent
飞扬的风信子8 小时前
架构文档 — local-model-harness
agent·vibecoding
后端小肥肠8 小时前
自研长篇小说写作 Skills:参考文风 + 自动续篇 + 剧情连续性检测
人工智能·aigc·agent
AI语宙漫游指南8 小时前
开源一个「照妖镜」Skill,从会话日志到“真身与灵魂”对比
人工智能·agent
阿弱8 小时前
从Plan-Execute到混合PEV:一个运维诊断Agent的架构演进实录
llm·agent
Being--8 小时前
搭建OsgEarth验证GIS数据发布服务的Agent
gis·agent·osgearth·ai落地