If Agent A passes 500 words of conversational text to Agent B, you pay extra token costs and risk parsing errors. Schemas enforce strict data contracts:
input_schema=MyInputModelForces callers (or AgentTool supervisors) to pass a validated Pydantic payload.
output_schema=MyOutputModelForces the agent's decoding layer to emit guaranteed JSON matching your Pydantic class.
output_key='state_var'Automatically writes that validated JSON into session.state['state_var'] for downstream agents!