[Bug] Subagents executing long tool-call sequences in a single turn fail prompt caching and compound token consumption
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- powershell, shell
- Bereich
- ai, cli, performance
Rechercherichtung
Beginne mit den Einstiegspunkten des Subagent-Harness hinter dem task tool und untersuche, wie write_agent-Nachrichten während langer Turn 0 tool-call-Sequenzen in die Warteschlange eingereiht werden. Reproduziere das 750-call-Verhalten unter Windows 11/PowerShell und überprüfe anschließend, dass der Harness den Kontext abgibt oder kompakt und dass eine stop_agent-artige Abbruchaktion einen laufenden Subagenten unterbrechen kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Environment
- GitHub Copilot CLI v1.0.83
- OS: Windows 11 / PowerShell
- Primary Model: Gemini 3.8 Flash
Problem Description
When executing autonomous subagents (such as custom agents via the task tool), the agent harness allows a subagent to run hundreds of tool calls within a single monolithic turn (Turn 0) without yielding or compacting context.
Because each tool execution (file edits, test outputs, build diagnostics) is appended sequentially to the conversation history of the active turn:
- Prompt Caching is defeated: The dynamic append of intermediate tool results changes the prompt prefix and prevents effective provider-side KV prompt caching.
- Exponential Token Compounding: Every subsequent tool call re-submits the entire growing history (75k-100k+ tokens) to the model. In our session, a single subagent ran ~750 tool calls in Turn 0, compounding to over 120 million tokens consumed in under 40 minutes on local test/edit loops.
- No Turn-Yielding / Throttling Mechanism: The agent does not yield control or checkpoint its context, and background interrupt signals (
write_agent) are queued rather than preempting execution.
Expected Behavior
- Subagent harnesses should enforce turn boundaries or context compaction/eviction after a reasonable threshold of consecutive tool calls (e.g. 15-20 tool calls) to preserve prompt caching and avoid runaway token compounding.
- An explicit cancellation/stop API (
stop_agent) should exist to immediately interrupt runaway background subagents.
Actual Behavior
The subagent executed 750+ tool calls in Turn 0 without yielding, burning >120M tokens on repeated compilation and test iterations, and could not be preemptively stopped via standard agent messaging.
- Vorherrschende Sprache
- Shell
- Sterne
- 11.2k
- Forks
- 1.9k
- Ø Merge
- 14 Std. 16 Min.
- Gemergte PRs (30 T.)
- 6
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus github/copilot-cli
-
triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
github/copilot-cli#4932 ·
-
triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
github/copilot-cli#4909 ·
-
triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
github/copilot-cli#4906 ·
-
triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
github/copilot-cli#4848 ·
-
area:agents area:mcp
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
github/copilot-cli#4729 ·
Alle Issues in github/copilot-cli
Ähnliche Issues
-
Bob Shell support Offenenhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
tooling
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
openSUSE/python-rpm-macros#219 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
YunoHost-Apps/adguardhome_ynh#258 ·
-
steam-short-session-tracker: incorrect registry backup path resets settings during automatic repair Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
ValveSoftware/SteamOS#2829 ·