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

LangChainAgent.png

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


1. 模型(Model)

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

  • 静态模型

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

  • 动态模型

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


2. 工具(Tools)

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

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

3. 系统提示词

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


4. 结构化输出

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


5. 记忆

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


6. 中间件

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

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

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


7. 调用

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

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:[email protected]