text: Title: Add system prompts independently of history of messages
  Body: Hello! I wanted to know how to make the @agent.system_prompt decorator being called on every run, when there is history of messages added. I'm basically trying to evaluate the dependencies on each run (the dependencies will change independently of the run and I don't want to use a tool for this because is not needed)
  Here is how to reproduce:
  
  ```
   # where I declare the agent
   chat_agent = Agent(
          'openai:gpt-4o',
          system_prompt="Some prompt",
          deps_type=ChatAgentDeps,
      )
      
     ...
      # where I run the agent on each message from the user received
      @chat_agent.system_prompt
      def get_current_status_of_tasks(ctx: RunContext[ChatAgentDeps]):
            print("System Prompt:", ctx.deps.aa_agent.pending_tasks)
            print("System Prompt:", ctx.deps.aa_agent.done_tasks)
            return f"""Pending Action Items: {ctx.deps.aa_agent.get_pending_tasks()}
        Done Action Items: {ctx.deps.aa_agent.get_done_tasks()}"""
  
      result = await chat_agent.run(message, deps=ChatAgentDeps(
          aa_agent=session["agent"]
      ), message_history=session.get("history", []))
      
      session['history'] = result.all_messages()
  ```
  
  The function get_current_status_of_tasks only gets called once.
  
  
  Am I doing something wrong here? Is this expected? Thanks in advance!