对接Agent时,流式接口消息存在批量返回问题

背景:今天对接后端 Agent 返回消息时,发现输出效果不如 ChatGPT、豆包或 deepseek 那样流畅。通过开发者工具查看发现,同一毫秒内会返回约 10 条消息,所以会造成消息一大块一大块的渲染,而不是像打字机那样丝滑,起初以为是算法或后端问题,经过排查才发现是 Nginx 代理层的默认缓冲设置导致的。

1. 为什么会出现这种情况?

Nginx 默认开了 proxy_buffering,会先把后端响应缓冲到内存里,攒够一部分数据后再一次性发给前端。

所以在 Nginx 配置里关掉:

bash 复制代码
proxy_buffering off;
chunked_transfer_encoding on;
proxy_cache off;

这样 Nginx 就会「边收到边转发」,前端就能逐条拿到流了。

解决方案如下:

(1)给nginx的proxy代理加这三行代码:

复制代码
proxy_buffering off; # 关闭响应缓冲 
chunked_transfer_encoding on; # 开启分块传输 
proxy_cache off; # 关闭缓存

若不想影响其他接口,只对某一个流式接口单独关闭代码缓冲,则单独加即可:

复制代码
 # 单独配置 /api/medical/AIChat/getReply
 location = /{{你的具体流式接口地址}} {
        proxy_pass {{你的域名}}/{{你的具体流式接口地址}}
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        proxy_read_timeout 300;
        proxy_buffering off;          # 关闭响应缓冲
        chunked_transfer_encoding on; # 开启分块传输
        proxy_cache off;              # 关闭缓存
    }

这样发到产线后就解决了

(2)本地开发环境如何解决?以我的vite.config.js为例:

bash 复制代码
proxy: {
  // 单独给 /api/AIChat/getReply 加特殊配置
  '/api/AIChat/getReply': {
    target: `${pythonDomain}/api/AIChat/getReply`,
    changeOrigin: true,
    ws: true,
    // 不做 rewrite,让它直通后端
    // 如果要 rewrite,也必须保持和后端路径一致
  },

  // 其它 /api 依然走原有规则
  '/api': {
    target: `${pythonDomain}/api`,
    changeOrigin: true,
    ws: true,
    rewrite: (path) => path.replace('/api', '')
  }
}

好了,本地开发环境与线上环境都解决了,快去试试吧!

相关推荐
EatFan9 小时前
从“框架混战“到“运行时收敛“:2026 年 AI Agent 开发框架的三条路线之争
java·数据库·人工智能·多智能体·ai agent·mcp·agent 框架
诺伦15 小时前
AI Agent编排实战:用四层架构搭建增长运营垂类Agent系统 | RiseClaw玄策
人工智能·ai agent·mcp·agent编排·增长运营
EatFan19 小时前
从云原生到AI原生:2026后端架构“三驾马车”(事件驱动、虚拟线程、AI Agent内嵌)演进解析
spring boot·云原生·架构·虚拟线程·ai-native·ai agent·spring ai
EatFan2 天前
AI Agent 进入工程化下半场:从多智能体编排走向治理、标准化与运行沙箱
人工智能·多智能体·ai agent·开源框架·mcp·agents.md
code2cat2 天前
【随笔】MCP缓存期限与共享范围:让Agent复用资料时记住边界
java·后端·缓存·ai agent·mcp
code2cat3 天前
【随笔】MCP资源更新订阅:通知到达以后,Agent怎样刷新旧资料
java·后端·开发工具·ai agent·mcp
光依旧4 天前
MCP实战手记(八):从“能跑“到“能上线“——无状态MCP Server的生产落地清单
java·人工智能·spring boot·架构·ai agent·mcp
EatFan4 天前
多智能体协作的三套通信语言:MCP、A2A 与 Tool Calling 怎么选(附 LangGraph/DeepAgents 实战分工模式)
区块链·多智能体·ai agent·mcp·a2a·tool calling
漂着的圆木4 天前
Agent执行安全:Taskflow无容器架构风险边界核对
github·安全架构·ai agent·部署边界
鲸能云4 天前
【AI Agent】光储运维从 “展示数据“ 到 “自主决策“:运维 AI Agent 落地实践拆解
大数据·人工智能·ai agent·智能运维·光伏储能