LangChain 框架面试题

什么是langchain?它的核心特点是什么,有哪些应用场景

langchain的核心组件有哪些,每个组件有什么作用

langchain中的模型调用有几种方式,分别适用于什么场景

langchain中模型结构化输出有几种方式,分别是什么

什么是langchain中的智能体(Agent),它的工作原理和执行流程是什么

Agent的静态模型和动态模型有什么应用场景

Agent使用@tool创建工具有几种方式,分别是什么

Agent工具调用出现错误的时候应该如何处理

Agent的结构化输出有几种策略

  1. ProviderStrategy(原生结构化)
  • 适用场景:追求极致准确率最低延迟,且明确知道模型支持(OpenAI、Anthropic、Grok 等)。
  • 底层原理:利用厂商 API 底层的 JSON ModeConstrained Decoding(约束解码)。模型在推理过程中,每一步 Token 的生成都受到 Grammer(语法树)的限制,绝无格式解析失败的可能
  • 注意点:原生模式通常要求 prompt 中明确指示“输出 JSON”,且对 temperature 有一定限制(部分厂商要求温度不等于0时效果打折)。
  1. ToolStrategy(虚拟工具兜底)
  • 适用场景:兼容市面上 99% 支持 Function Calling 的开源或闭源模型(如 Llama 3、Qwen 等),是通用性最强的策略。
  • 底层原理(核心亮点):系统在 Agent 内部注入一个名为 submit_final_output 的虚拟工具。工具的 parameters 字段定义为你想要的 JSON Schema。模型不直接生成 JSON,而是生成调用该工具的指令(Tool Call),框架拦截这次调用,将参数中的字典提取出来作为最终结果。
  • 面试加分项:这种方式的缺点是什么?—— 相比原生模式,它多了一步“生成工具调用”的逻辑,会多消耗少量 Token,且如果模型工具调用能力弱,可能输出不规范的参数值。
  1. Type(智能路由,最推荐)
  • 用法response_format=MyPydanticModel
  • 自动决策逻辑:LangChain 内部会执行一个 if supports_native() 判断。若模型在 native_response_format 列表中,走策略1;否则自动走策略2。
  • 面试价值:这是工程最佳实践。它解耦了业务逻辑与底层模型,当未来更换更强模型时,无需修改代码,框架自动切换至最高效的方式。
  1. None(关闭结构化)
  • 本质:不施加任何约束,流式或非流式返回纯文本。
  • 使用提示:适用于需要 Agent 进行开放式聊天、头脑风暴,或者后续需要经过人机交互再提取字段的场景。

在实际业务落地中,Type 策略是最优雅的,兼顾了效率和兼容性。如果做高并发低延迟的 ToB 接口,我会固定使用 ProviderStrategy 并做好错误熔断;如果是本地部署的开源模型,ToolStrategy 是最稳妥的兜底方案。切记:不要为了结构化而牺牲模型本身的思考自由度,在需要 Agent 规划复杂步骤时,先设为 None,仅在最终输出答案的那一刻施加约束。

什么是短期记忆

--- 本文结束 The End ---