如何提高AIGC 应用的性能?
0 前言
这个问题经常被问到。开发者通常先专注于让智能体正常运行,再关注速度和成本。优化过程,开发者常采取如下方法:
- 找出延迟的来源
- 优化用户体验,减少“感知”延迟
- 减少 LLM 调用次数
- 加快 LLM 调用速度
- 并行执行 LLM 调用
1 找出延迟的来源
听起来简单,但优化方式完全取决于具体瓶颈。你的延迟主要来自:
- 一次超长的 LLM 调用
- 还是多个小调用累积的延迟
在优化前,先弄清楚这问题很重要。
LangSmith 能全面追踪智能体的交互过程,帮你分析每个步骤的延迟来源。最近还推出“瀑布视图(waterfall view)”,可直观地看到哪些步骤对总延迟影响最大。
2 优化用户体验,减少“感知”延迟
有时,最快方法不是减少延迟,而是让用户感觉不到延迟。
延迟通常影响用户体验,因为用户不喜欢等待。但很多情况可通过优化用户体验(UX)来减少他们的等待感。常见优化方法:
2.1 流式返回结果
流式输出(streaming)在 LLM 应用中已经很普遍,但若你的智能体还没用,赶紧试试!
- 流式输出会让用户觉得智能体正在工作,他们就不太容易离开页面。
- 不仅可以流式返回最终结果,还可以流式显示中间步骤,比如智能体的思考过程、检索的内容、任务计划等。
- Perplexity 的搜索界面就是一个很好的例子,他们通过显示中间步骤,提高了用户满意度——即使总响应时间没有减少。