如何保存 adk 里面 agent 的执行上下文?这边有推荐的方式吗? 我现在是用 AgentMiddleware 里面的 BeforeChatModel 和 AfterChatModel 两个回调来获取上下文的,但是感觉很奇怪,每次都是获取的完整上下文,还得自己拆开然后一条一条保存到数据库里面。 AgentMiddleware 里面是否可以增加 AfterChatEnd 这样的回调,能够在 Chat 结束之后直接获取完整的上下文