from langchain.agents.middleware import AgentMiddleware class MyMiddleware(AgentMiddleware): def before_agent(self, state, runtime): print("1. before_agent 只跑一次") return state def before_model(self, state, runtime): print("2. before_model 每次模型前都跑") return state def wrap_model_call(self, request, handler): print("3. wrap_model_call 每次模型都会走") return handler(request) def after_model(self, state, runtime): print("4. after_model 每次模型后都跑") return state def after_agent(self, state, runtime): print("5. after_agent 只跑一次") return state