题目
Advisor 机制如何工作,如何组合对话记忆、知识检索和日志记录?
答案
Advisor 可以理解为围绕模型调用的一条拦截链:请求发出前补充或检查内容,响应返回后再记录或处理结果。同步与流式调用分别有对应接口。
例如记忆 Advisor 加入当前会话历史,检索 Advisor 加入相关文档,观测 Advisor 记录耗时和脱敏信息。

顺序由 `getOrder()` 决定,数值较小的先处理请求、后处理响应;相同 order 的先后不应依赖。是否先使用历史改写问题,再做检索,需要根据实际链路设计。
不要让日志 Advisor 原样打印所有上下文,也要防止记忆重复写入或把检索材料长期保存为用户发言。分别测试普通调用与流式调用,确认完成、异常和取消时都能正确处理。
参考:[Spring AI Advisors](https://docs.spring.io/spring-ai/reference/api/advisors.html)。
