[智能体-253]:LangChain Agent 对象分类(BaseAgent 派生的各类实体 Agent,对应 create_xxx_agent 产出实例)

张开发
2026/6/5 9:04:59 15 分钟阅读

分享文章

[智能体-253]:LangChain Agent 对象分类(BaseAgent 派生的各类实体 Agent,对应 create_xxx_agent 产出实例)
LangChain Agent 对象分类BaseAgent 派生的各类实体 Agent对应 create_xxx_agent 产出实例区分Agent 对象 决策内核AgentExecutor 运行容器。下面全是不同种类 Agent 实例。一、1. OpenAIToolsAgent工具调用型 / FunctionCallingAgentpython运行agent create_tool_calling_agent(llm, tools, prompt)依赖模型原生 Tool Call (JSON 结构化输出)GPT、Claude、Qwen、GLM 等支持 function call 模型LLM 直接输出标准tool_calls结构化参数不靠 Prompt 正则解析优点格式稳定、支持一次批量调用多个工具适用商用大模型、Agent-RAG、MCP 远程工具混合场景。二、2. ReActAgent提示词解析型python运行agent create_react_agent(llm, tools, prompt)依靠 Prompt 约定文本格式Thought→Action→Action Input靠字符串截取解析工具名和参数不依赖模型原生函数能力任何大模型都能用Llama、Qwen 开源离线小模型首选单轮思考只能调用单个工具易出现格式错乱私有化内网知识库、离线 RAG 标配。三、3. StructuredChatAgent结构化对话 Agentpython运行create_structured_chat_agent()改良版 ReAct支持多参数结构化入参解决原生 ReAct难以传递多字段参数的痛点依旧 Prompt 约束文本格式无原生 FunctionCall 也可使用。四、4. JSONAgent强制 LLM 输出纯 JSON 格式动作不用自定义文本标记解析更稳健适合不支持 ToolCall 但擅长 JSON 输出的开源模型。五、5. XMLAgent强制模型用 XML 标签包裹工具名称与参数靠正则提取部分国产小模型适配更好。六、按使用场景细分的专用 Agent底层仍是上面几类内核Retrieval Agent工具列表内置create_retriever_tool即 Agent-RAGMultiTool/MCP Agent工具 本地函数 MCP 远端工具to_langchain_tools转换后的 MCP 工具MultiAgent 子 Agent子 Agent 封装为 Tool被父 Agent 调用LangGraph 常用。七、新版趋势自定义 AgentLCEL / LangGraph不再使用内置 Agent 类LCELPrompt | llm.bind_tools() | RunnableLambda(tool_exec)自己造 Agent 决策链路无现成 Agent 对象LangGraph手动定义节点 路由抛弃 BaseAgent 体系工业复杂 Agent 主流方案。快速选型对照表表格Agent 类型调用原理适用模型OpenAIToolsAgent原生 JSON tool_callGPT / 通义 / 商用大模型ReActAgentPrompt 文本正则解析全模型、开源离线小模型StructuredChatAgentPrompt 结构化格式多参数复杂工具、无 FC 模型JSON/XML Agent标签 / JSON 解析偏好结构化输出的开源模型关键总结create_xxx_agent()返回值 各类 Agent 实例对象实例必须塞入AgentExecutor(agentxxx,tools...)才能运行不想用内置 Agent 种类 → LCEL 手写 / LangGraph 自定义替代。

更多文章