You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LangChain AgentExecutor invoke()仅返回最后消息未返回完整输出问题

问题解决指南:AgentExecutor.invoke()仅返回最后一条消息的处理方案

核心结论

AgentExecutor并没有被LangGraph替代,你不需要强制使用流式输出,问题出在默认配置下不会返回中间工具调用结果,调整参数或使用回调就能获取完整过程数据。

1. 关于LangGraph的角色

LangGraph是LangChain生态中用于构建复杂多Agent协作流程的工具,AgentExecutor作为单Agent任务执行的核心组件依然有效,两者定位不同,简单单Agent场景用AgentExecutor完全没问题。

2. 获取中间工具调用结果的两种方法

默认情况下,AgentExecutor.invoke()仅返回LLM最终生成的回答(result["output"]),但可以通过以下方式拿到web_fetcher返回的HTML等中间数据:

  • 方法一:开启返回中间步骤参数
    初始化AgentExecutor时添加return_intermediate_steps=True,这样invoke的结果会包含intermediate_steps字段,里面存储了所有工具调用的输入输出记录:
    # 初始化AgentExecutor时开启参数
    agent_executor = AgentExecutor(
        agent=your_agent,
        tools=your_tools,
        return_intermediate_steps=True
    )
    
    # 调用后提取web_fetcher的结果
    result = agent_executor.invoke({"input": "你的查询内容"})
    for step in result["intermediate_steps"]:
        tool_name = step[0].tool
        tool_output = step[1]
        if tool_name == "web_fetcher":
            print("web_fetcher返回的HTML内容:", tool_output)
    
  • 方法二:用回调捕获实时数据
    自定义回调类,在工具调用完成时触发逻辑捕获输出,适合需要实时处理中间结果的场景:
    from langchain.callbacks.base import BaseCallbackHandler
    
    class ToolOutputHandler(BaseCallbackHandler):
        def on_tool_end(self, output, **kwargs):
            # 这里可以拿到每个工具调用的输出,包括web_fetcher的HTML
            if kwargs["tool"] == "web_fetcher":
                print("实时获取到web_fetcher输出:", output)
    
    # 调用时传入回调
    agent_executor = AgentExecutor(agent=your_agent, tools=your_tools)
    result = agent_executor.invoke(
        {"input": "你的查询内容"},
        callbacks=[ToolOutputHandler()]
    )
    

3. 流式输出的必要性

流式输出不是必须的,它的作用是实时返回LLM的生成内容,和获取中间工具调用结果无关。如果只是需要拿到web_fetcher的返回数据,用上面的方法更直接高效。

4. 额外检查项

确认你的Agent类型配置正确(比如ToolCallingAgent、StructuredChatAgent等),工具已正确注册到Agent中,避免因Agent逻辑异常导致中间步骤未被记录。

内容的提问来源于stack exchange,提问作者Charles Thayer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 00:17:05