copilot-pr-squad, part 5 of 6 · October 12, 2026
Making it cheaper
Cost is easy to ignore until a busy day. Three small changes on Oct 7 cut the cost of a run by about a third, and the cost per PR on busy runs roughly in half. A cheaper model didn’t make the cut.
Part 5 of 6 in a series on copilot-pr-squad, a small team of AI agents, built on bradygaster/squad, that drives my GitHub Copilot coding-agent pull requests. New here? Start with Part 1.
How I measured it
Cost here is Copilot usage in AI credits, read from the session history on the machine that runs the squad. The Copilot CLI records every model call there with its tokens and the AI credits they cost, and the squad adds those up for each run, including the agents it starts. A run’s total rises with how many PRs it works, so the fair comparison holds the work steady: cost per run when runs did about the same amount of work, and cost per PR on busy runs.
What changed
| Change | Effect |
|---|---|
| The baseline, Sep 29 to Oct 7 | 54 runs averaged 2,385 AI credits, the most expensive 7,705. In the runs that logged it, the two agents on the older model, Communicator and Reviewer, were 43 to 71% of each run’s cost. |
| Earlier, on Oct 1: a run where nothing changed stops before starting any agents | A quiet run fell from about 230 AI credits to about 89. |
| The run’s setup and wrap-up steps each happen in one call | About a dozen fewer large calls a run. Calls spread more than five minutes apart pay to reload their whole context, about 100 AI credits each time. |
| The Coordinator loads only the tools it uses | Its first call fell from 39.4K to 23.5K tokens. |
| Communicator, Reviewer and Rai move to Opus 5.5, a newer model of the same tier | The same tier of model at lower rates, estimated at about 58% of the old cost. |
The result
Runs after the changes started about as many agents as runs before them, and cost about a third less. On busy runs, the cost per PR roughly halved. The Coordinator saw the biggest drop.
| Per run | Before (54 runs) | After (11 runs) | Change |
|---|---|---|---|
| Agents started | 12.7 | 13.3 | About the same work |
| AI credits | 2,385 | 1,549 | 35% lower |
| AI credits per agent started | 187 | 117 | 37% lower |
| Coordinator AI credits | 567 | 243 | 57% lower |
| AI credits per PR, busy runs | 418 (4 runs, 34 PRs) | 217 (11 runs, 81 PRs) | 48% lower |
| Agents’ AI credits per PR, same runs | 305 | 173 | 43% lower |
The “after” side is less than a day of runs, and review briefs added work to each review in the same window, so treat it as a strong early signal rather than a settled number. The most expensive run since the changes cost 2,379 AI credits; before, runs above 6,000 happened on busy days.
Trying a cheaper model
The Reviewer and Communicator were the biggest cost, so before switching either I compared two models, the one they ran on and one known to be cheaper. I replayed real past rounds on both, in a sandbox that couldn’t post.
| Agent | Current model | Cheaper model | How quality was judged |
|---|---|---|---|
| Communicator, 5 rounds | Won all 5 | About a fifth of the cost | Each pair of comments to Copilot, read blind with the model names hidden. |
| Reviewer, 5 rounds | Agreed with 10 of 11 real decisions | About a third of the cost; agreed with 6 of 11 | Decisions on each finding, compared with what the real round decided. One PR was left out because the sandbox lacked its history. |
The cheaper model’s comments were vaguer, and in two ways they would have sent Copilot the wrong way: a point that didn’t apply, and tests nobody needed. Each of those costs another hourly round, which is worth more than the saving. I kept the current model.
That doesn’t mean every agent needs the biggest model. The Tester, Scribe and Fact Checker run on a smaller, cheaper one, Sonnet, by default, because their work follows set steps: run the existing checks, update the records, check a comment’s facts against GitHub. The Communicator’s charter allows it too for simple rounds, like moving a finished draft to ready.
The lessons I took:
- Measure cost per unit of work from day one. I didn’t, and had to rebuild the first week’s baseline afterwards.
- Experiment before changing a model. A lower cost always gives something up, and here it would have been extra rounds. But the most expensive model isn’t needed everywhere, and only a test on real work shows where it is.