目前的场景是这样:
- 前端负责用户会话交互,后端接收请求,调用 llm 和工具调用(涉及多轮循环)
- 不同用户会话复用同一个 llm client ,根据用户 sessionId 持久化 message history (postgres)
- 后端发送 sse 消息通知前端实时更新后端活动(推理过程、工具调用、执行结果等)
思考了一轮下来,现在还剩一个问题就是:用户一次请求,后端可能会执行多轮 ReAct 循环,可能会比较耗时,可能会堆积 http 服务的并发,这种情况大家是怎么处理的?如果用异步队列的话,可能就用不了 SSE 向前端发送动态了。
或者说,业界有没有比较比较标准化的架构设计方式?