Skip to content

[copilot-token-optimizer] Optimize Copilot cloud agent: reduce PR re-trigger cascades and setup overhead #27

Description

@github-actions

Target Workflow

Copilot cloud agent — the highest-token agentic workflow in this repository (150,233 tokens across 30 runs per last audit), selected as the primary optimization target. No "Token"-excluded and not recently optimized with complete data.

Analysis period: 2026-05-05 – 2026-05-14 | Runs analyzed: 20


Token Profile

Metric Value
Runs analyzed 20
Successful / Cancelled 18 / 2 (10% cancellation rate)
Avg run duration 3.3 min
Avg processing time ~2.0 – 9.4 min (wide spread)
Estimated avg tokens/run ~5,008 (from 30-run audit: 150,233 total)
Cancellation waste ~2 × 5,008 ≈ 10,016 tokens wasted
Setup overhead (smoke test + validate) ~7–9 s/run

Ranked Recommendations

1. 🔴 Suppress rapid re-triggers on the same PR (Est. savings: ~500–2,500 tokens/day on active review cycles)

Evidence: On 2026-05-05, PR #9 alone triggered 6 consecutive agent runs between 07:22–08:01 UTC, with 2 cancellations (runs §25364643611 and §25362630400 cancelled). PR #10 triggered 2 additional runs. This pattern – multiple comments or pushes on a PR firing sequential agent runs before previous ones complete – is the primary source of both wasted tokens and cancellations.

Action: Add a concurrency group to the Copilot cloud agent invocation configuration to cancel in-progress runs for the same PR when a new trigger arrives, or add a debounce delay so that rapid successive triggers (within 60–90 s of each other) consolidate into a single agent run.

concurrency:
  group: copilot-agent-${{ github.event.issue.number || github.event.pull_request.number }}
  cancel-in-progress: true

This would have eliminated ~4 redundant runs on May 5 alone, saving an estimated 20,000 tokens that day.


2. 🟡 Cache or skip smoke-test compilation on every agent invocation (Est. savings: ~7–9 s setup overhead per run, negligible tokens)

Evidence: copilot-setup-steps.yml runs gh aw add ... && gh aw compile --validate on every Copilot agent invocation (step "Smoke test published workflows via gh aw add": 7 s on recent runs). This compiles the two token-audit/optimizer workflows into a temp directory every time, regardless of whether those workflows have changed.

Action: Gate the smoke-test step with a condition, or move it to only run on changes to copilot-setup-steps.yml (which already triggers via push: paths). Consider caching the gh aw compile output using actions/cache keyed on the workflow source hash to skip redundant compilation.

References: §25846852022, §25813362645


3. 🟡 Investigate high-variance processing times (Est. savings: 500–2,000 tokens on long-tail runs)

Evidence: Processing Request times ranged from 113 s (1.9 min) to 563 s (9.4 min) across observed runs — a 5× spread. Long runs correlate with complex PR contexts (many comments, large diffs).

Action: Review whether the agent is loading unnecessary context (full repository history, all PR comments) on every invocation. Add instructions to limit context to the last N comments (e.g., last 5) and to only read directly changed files. This is the highest-leverage lever for token reduction since it acts on every turn in long sessions.


Caveats

  • Token counts are estimated from a 30-run rolling audit (150,233 total); per-run breakdowns are not available in the current pre-downloaded data.
  • Cancellation savings are conservative — cancelled runs may have consumed 0–100% of a full run's tokens depending on when they were cancelled.
  • Recommendation 1 (concurrency) requires verifying that the Copilot cloud agent's invocation workflow supports concurrency groups.
  • Only 20 runs were analyzed; the May 5 PR review spike may not be representative of typical usage.
Run log detail (20 runs)
Run ID Date Title Conclusion Duration
25846852022 2026-05-14 Running Copilot cloud agent success 6.8 min
25813362645 2026-05-13 Running Copilot cloud agent success 6.6 min
25693808119 2026-05-11 Running Copilot cloud agent success 2.9 min
25542080565 2026-05-08 Running Copilot cloud agent success 9.8 min
25539679417 2026-05-08 Running Copilot cloud agent success 5.1 min
25390013866 2026-05-05 Addressing comment on PR #12 success 2.2 min
25389809805 2026-05-05 Running Copilot cloud agent success 2.4 min
25375860097 2026-05-05 Running Copilot cloud agent success 1.2 min
25371284600 2026-05-05 Running Copilot cloud agent success 4.7 min
25371147233 2026-05-05 Running Copilot cloud agent success 2.0 min
25365534961 2026-05-05 Running Copilot cloud agent success 2.4 min
25364781713 2026-05-05 Addressing comment on PR #9 success 0.9 min
25364643611 2026-05-05 Addressing comment on PR #9 cancelled 2.5 min
25364288988 2026-05-05 Addressing comment on PR #9 success 1.4 min
25363753741 2026-05-05 Addressing comment on PR #9 success 3.1 min
25363409308 2026-05-05 Addressing comment on PR #9 success 5.0 min
25363287279 2026-05-05 Addressing comment on PR #9 success 1.9 min
25362630400 2026-05-05 Addressing comment on PR #10 cancelled 0.5 min
25362178014 2026-05-05 Addressing comment on PR #10 success 2.2 min
25361878172 2026-05-05 Running Copilot cloud agent success 3.0 min

Generated by Copilot Token Usage Optimizer · ● 9.4M ·

  • expires on May 21, 2026, 8:47 AM UTC

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