Skip to content

[FEATURE][Steering] Expand steerable events #1386

@dbschmigelski

Description

@dbschmigelski

Problem Statement

Currently, the steering system in Strands Agents only supports steering on BeforeToolCallEvent. While the hook system provides many other events (AfterInvocationEvent, BeforeModelCallEvent, AfterModelCallEvent, MessageAddedEvent, etc.), steering handlers cannot hook into these additional events to provide contextual guidance.

This limitation means steering can only influence:

  • Tool selection and execution via BeforeToolCallEvent

But cannot provide guidance on:

  • Model calls before they happen (BeforeModelCallEvent)
  • Response content after model generation (AfterModelCallEvent)
  • Message flow as conversations develop (MessageAddedEvent)
  • Overall request handling at invocation boundaries (BeforeInvocationEvent, AfterInvocationEvent)

The lack of broader event support prevents steering from addressing use cases like tone control, content validation, conversation flow management, and comprehensive quality assurance across the entire agent lifecycle.

Proposed Solution

No response

Use Case

Response Quality Control (AfterModelCallEvent) allows tone validation to ensure responses meet communication standards, content filtering for sensitive information, and response regeneration when quality criteria aren't met.

Conversation Flow Management (MessageAddedEvent) provides context tracking to monitor topic drift, message validation for format standards, and conversation limits to prevent runaway interactions.

Alternatives Solutions

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions