Skip to content

Python: Autonomous handoff - inconsistent turn limit behaviour #6328

@BharathRajR

Description

@BharathRajR

Hi team, I am seeing inconsistent autonomous-mode behavior for the same workflow and same prompt when only the turn limit changes.

ref : #6240

Based on prior guidance, I understood that any valid autonomous turn limit should work consistently, not that 50 is a special case.

Test setup

  • Orchestration type: Handoff
  • Agents: 2 total (1 start agent + 1 additional agent)
  • Agent description: This agent assists developers with coding tasks and technical queries
  • Agent instruction: You are an expert programming assistant. Help users write, debug, and optimize code. Provide clear explanations and best practices
  • Prompt: same in all runs
  • Variable changed per run: autonomous turn limit only
  • Providers tested:
    1. Azure OpenAI Chat Completion Agents
    2. Foundry Chat Client

Autonomous prompts tested
1. "User did not respond. Continue assisting autonomously"
2. "Continue autonomously because the user is temporarily unavailable. Do not pause or ask for clarification. Assume reasonable defaults, state assumptions briefly, and keep progressing step by step toward task completion."

Primary prompt used in all comparisons
"Build a computational genomics workflow for variant calling at scale with strict reproducibility, checkpointed execution, provenance metadata, and quality-control gates. Include algorithmic stages, data contracts, failure-retry semantics, and statistical validation framework."

Observed behavior

  • Turn limit = 49: consistently received awaiting_user_response
  • Turn limit = 50: receives complete (or downstream completion behavior) instead of awaiting_user_response
  • Turn limit = 0 (default limit of 50 applied): receives complete

Important note
Even with a stronger autonomous prompt that explicitly says to continue and not pause, behavior at 50 is still inconsistent.
This suggests a limit-boundary behavior difference between 49 and 50 for the same flow.

Need help to get a clarity on whether this is an expected behaviour or not

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

Status
No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions