Delegate Tool Feature

Context Inheritance

Smarter agent delegation through two-parameter context control

Active
February 2026
The Problem

Child Agents Start from Zero

🧠

Parent Agent

Has full conversation history — knows what the user asked, what was discussed, and what decisions were made

Child Agent

Starts with a blank slate — receives only the instruction string, with no surrounding conversation context

Every delegation required manually re-explaining the conversation in the instruction string

The Fix

Before & After

Before — Verbose
delegate( agent="explorer", instruction="""Find auth bug. User reports 401 errors after login. We discussed session token handling. They tried clearing cookies. Using the React frontend...""" )
After — Automatic
delegate( agent="explorer", instruction="Find auth bug" ) # Smart defaults handle the rest: # context_depth="recent" # context_scope="conversation" # context_turns=5

Child automatically receives the last 5 conversation turns — no manual re-explanation needed

The Design

Two Independent Parameters

context_depth — How Much

noneClean slate — no parent context passed
recentLast N turns (default: 5). Most common choice.
allFull conversation history

context_scope — Which Content

conversationUser/assistant text only — no tool calls leak
agents+ delegate results included
full+ all tool results included

Mix and match: recent depth with agents scope gives recent context including prior delegate results

Architecture

How It Works

Parent Agent
Delegate Tool
Child Agent
Reads context_depth and context_scope from call parameters
Extracts messages from parent’s ContextManager
Filters by scope (conversation / agents / full)
Trims by depth (none / recent N / all)
Passes filtered context to child session

Module-level implementation — uses existing ContextManager API, no kernel changes required

Philosophy

Design Principles

01
Smart Defaults
Default recent with 5 turns means context flows automatically without extra configuration
02
Two Orthogonal Axes
Separate “how much” from “which content” — independent controls for precise context shaping
03
Turn-Based Counting
Count exchanges, not messages — “last 3 turns” is more intuitive than “last 6 messages”
04
Safety Caps
Bundle-level max_turns config (default: 10) prevents runaway context from overwhelming child agents
Development

Velocity

1
Repository
~35
Commits
1,109
Lines of code
2
Days to production

PR #44 merged January 30, 2026 → promoted to production February 1, 2026

Primary contributor: Brian Krabach (~97% of delegate-related commits)

Sources

Research Methodology

Data as of: February 20, 2026

Feature status: Active (in production bundle via behaviors/agents.yaml)

Repository: microsoft/amplifier-foundation

Research performed:

Gaps: No instruction-length reduction metrics measured. No performance benchmarks available. Impact of shorter delegation calls is qualitative, not quantified.

Primary contributor: Brian Krabach (~97% of delegate-related commits)

Try It

Delegate Smarter

Context flows automatically. Just delegate.

delegate( agent="foundation:explorer", instruction="Find the auth bug", context_depth="recent", context_scope="agents" )

microsoft/amplifier-foundation

More Amplifier Stories