内容提要
代理工具连接大型语言模型(LLM)与环境,LangChain和Deep Agent提供可定制的代理中间件,允许开发者根据需求调整代理核心循环。中间件支持在每个步骤前后运行自定义逻辑的钩子,适用于动态控制、上下文管理和合规性等多种业务场景。
关键要点
-
代理工具连接大型语言模型(LLM)与环境,允许其执行任务。
-
代理中间件(Agent Middleware)基于LangChain和Deep Agent的基础,支持定制化。
-
代理的核心是一个循环,LLM调用工具,LangChain提供create_agent抽象。
-
不同的代理用例需要不同的代理工具,某些部分易于定制,其他部分则更复杂。
-
中间件提供钩子,允许在每个步骤前后运行自定义逻辑,控制循环的每个阶段。
-
LangChain提供预构建的中间件,支持常见模式,如摘要、重试和PII去标识化。
-
中间件定制需求集中在业务逻辑与合规性、动态代理控制、上下文管理等主题上。
-
PIIMiddleware可以在模型输入、输出和工具输出上进行PII的掩码、去标识化和哈希处理。
-
动态工具选择中间件根据请求识别相关工具,减少不必要的上下文膨胀。
-
摘要中间件在消息历史超过令牌阈值时进行摘要,以避免上下文溢出。
-
中间件允许构建模型/工具重试逻辑和人机协作,确保生产就绪。
-
Deep Agents是基于create_agent构建的代理工具,具有特定的中间件栈。
-
中间件使不同团队能够管理不同的关注点,保持业务逻辑与核心代理代码解耦。
-
中间件是实现定制化的最佳方式,支持在代理工具中添加更多功能。
延伸问答
什么是代理工具,它的主要功能是什么?
代理工具连接大型语言模型(LLM)与环境,允许其执行任务。
中间件如何支持代理工具的定制化?
中间件提供钩子,允许在每个步骤前后运行自定义逻辑,从而实现对代理工具的定制化。
LangChain中间件有哪些预构建的功能?
LangChain提供的预构建中间件包括摘要、重试和PII去标识化等常见模式。
如何在代理工具中实现动态工具选择?
动态工具选择中间件根据请求识别相关工具,减少不必要的上下文膨胀。
PIIMiddleware的主要功能是什么?
PIIMiddleware能够在模型输入、输出和工具输出上进行PII的掩码、去标识化和哈希处理。
中间件如何帮助实现生产就绪的代理?
中间件允许构建模型/工具重试逻辑和人机协作,确保代理在生产环境中的稳定性。