Skip to content

Consider escalating duplicate tool call nudges beyond single warning #889

@Aaronontheweb

Description

@Aaronontheweb

Context

Observed in session D0AC6CKBK5K/1778082564.879599: the model called search_tools(Query: "all") (no server filter) 8 consecutive times, getting the identical server catalog response each time. The response even included instructions on how to proceed correctly — the model just didn't follow them.

TurnStateTracker detected the duplicate at call #3 and injected a nudge, but it only nudges once (_duplicateNudgeSent flag). Calls 4-8 sailed through with no further intervention.

Idea

After the initial nudge goes unheeded (e.g., same fingerprint hits 5+ times), consider a second-stage response — maybe a stronger warning injected into the tool result itself, or including the prior tool result in the nudge so the model sees "here's what you already got back." Not necessarily forceNoTools or a hard turn failure — just something more than silence after the first nudge is ignored.

Non-goals

  • Not proposing a hard cutoff or turn failure — the model might have legitimate reasons to retry similar calls.
  • Not high priority — the budget cap at MaxToolCallsPerTurn is the existing backstop.

Related

The root cause in this specific session was the model not reading the search_tools response (which told it to add a Server parameter). Better nudge escalation would have at least shortened the loop.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestreliabilityRetries, resilience, graceful degradation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions