Tool Configuration Beats Model Upgrades for AI Coding Agent Cost Reduction — Sonnet vs. Opus Experiment
A team ran a controlled experiment on their @qa-tester agent comparing the impact of adding a bash tool versus upgrading from Sonnet to Opus. Adding the bash tool increased test coverage by 120% and cut costs by 32%. Upgrading to Opus delivered zero coverage gain at 65% higher cost.
A team published experiment results on February 22, 2026, comparing two variables in their AI coding agent setup: adding a tool versus upgrading the underlying model. The results are direct and quantified, offering a practical benchmark for teams weighing similar decisions.
The Experiment
The subject was @qa-tester, an AI agent responsible for automated test coverage measurement and quality checks. The team ran the experiment in two sequential steps:
- Baseline: Sonnet model, no bash tool
- Step 1: Add bash tool to Sonnet, keep everything else constant
- Step 2: Upgrade model from Sonnet to Opus, keep bash tool
Results
Step 1 — Add bash tool to Sonnet:
Test coverage: +120%
Processing time: -45%
Cost per check: -32%
Step 2 — Upgrade Sonnet → Opus (bash tool retained):
Test coverage: +0%
Processing time: +8%
Cost per check: +65%
Adding the bash tool doubled test coverage and simultaneously reduced both latency and cost per operation. Upgrading to Opus after that change produced no measurable coverage improvement, added 8% to processing time, and increased cost by 65%.
The Conclusion
The team’s decision: keep @qa-tester on Sonnet. Their stated rationale was unambiguous — same coverage, 1.7x cheaper than Opus, no justification for the additional spend.
How @qa-tester Was Designed
The experiment’s clean results are partly a function of how the agent was architected before the test began.
Plan-driven execution: The agent generates an explicit execution plan before acting. This eliminates speculative tool calls that produce no measurable output and inflate token consumption.
ARIA-based targeting: UI element targeting uses ARIA attributes rather than CSS selectors or visual coordinates. This makes the agent’s test targets stable across DOM changes that would otherwise break brittle selectors.
Graceful degradation: On failure, the agent returns partial results rather than halting entirely. In unreliable environments — flaky CI, slow network responses, intermittent test infrastructure — this ensures the agent produces actionable output even when full execution isn’t possible.
Scoped tool set: The agent was given only the tools it needed. A narrow tool set forces the model to complete the task with available means rather than exploring alternative paths. The addition of the bash tool was deliberate and targeted: it gave the agent the ability to actually run tests, which it previously lacked.
Why Didn’t Opus Benefit from the Bash Tool?
One interpretation offered by the team: higher-capability models may have a lower threshold for abandoning a task under constraints. When given the bash tool, Sonnet used it to drive test execution to completion. Opus, presented with the same tool set, may have assessed certain sub-tasks as infeasible earlier in the execution path and returned incomplete results more often.
This is a plausible but not universal finding. Task type, agent design, and prompt structure all influence where this dynamic appears. What it does challenge is the assumption that a more capable model will always produce better outcomes in structured, tool-using workflows. Instruction-following under constraints is a different capability than general reasoning, and the two don’t scale together uniformly across model versions.
Takeaways for Agent Developers
The experiment illustrates a sequencing principle for agent optimization: fix the tool configuration before varying the model.
In this case, the right tool alone produced a 120% coverage improvement. No model upgrade would have been necessary to achieve that gain — and the model upgrade that followed it added cost without adding value.
For teams running similar agent workflows, the implication is that model selection should be evaluated after the agent has been given an appropriate tool set and tested with the baseline model. Upgrading the model before that point introduces a cost variable without a reliable performance baseline to measure it against.
Sonnet at appropriate tooling outperformed Opus without it. That ordering matters.
関連記事
AIコーディングエージェントのコスト削減は「モデル変更」より「ツール構成」が効く——Sonnet vs Opus実験レポート
あるチームが@qa-testerエージェントでOpus vs Sonnetのコスト・パフォーマンス実験を実施。bashツールの追加でカバレッジが+120%、コストが-32%改善した一方、SonnetからOpusへのアップグレードではカバレッジ変化ゼロ、コスト+65%という結果が出た。
Claude Sonnet 4.6、無料・Proプランのデフォルトモデルに——社内テストでOpus 4.5を59%の確率で上回る
Anthropicは2026年2月17日にリリースしたClaude Sonnet 4.6を、claude.aiの無料・Proプランのデフォルトモデルに設定した。価格はSonnet 4.5と同額の$3/$15 per 1Mトークン。社内評価ではコーディングエージェント用途でOpus 4.5を上回る結果が出ている。
Claude Code v2.1.47 リリース - Windows対応強化・メモリ改善・40件超のバグ修正
Anthropicは2026年2月19日、Claude Code v2.1.47をリリースした。Windows環境の描画バグ修正、長時間セッションのメモリ改善、起動速度の向上(約500ms短縮)、コンテキスト圧縮後のプランモード保持など40件以上の修正が含まれる。
人気記事
Claude Code v2.1.93 リリース - PreToolUseフック延期決定やフリッカーFREE渲染など
AnthropicがClaude Code v2.1.93をリリース。PreToolUseフックの延期決定機能、フリッカー-freeレンダリングオプション、PermissionDeniedフック、名前付きサブエージェントのタイプアヘッド対応などを含む。
Claude Code v2.1.92 リリース - forceRemoteSettingsRefreshやBedrockセットアップウィザードなど
AnthropicがClaude Code v2.1.92をリリース。forceRemoteSettingsRefreshポリシー設定、Bedrockセットアップウィザード、costコマンドの改善など多数の機能追加とバグ修正を含む。
Claude Code v2.1.84 リリース - PowerShellツールプレビューと環境設定の強化
Claude Code v2.1.84がリリース。Windows向けのPowerShellツール、環境変数によるモデル選択のカスタマイズアイドルセッション処理の改善などが含まれる。
最新記事
Claude Code v2.1.93 リリース - PreToolUseフック延期決定やフリッカーFREE渲染など
AnthropicがClaude Code v2.1.93をリリース。PreToolUseフックの延期決定機能、フリッカー-freeレンダリングオプション、PermissionDeniedフック、名前付きサブエージェントのタイプアヘッド対応などを含む。
Claude Code v2.1.92 リリース - forceRemoteSettingsRefreshやBedrockセットアップウィザードなど
AnthropicがClaude Code v2.1.92をリリース。forceRemoteSettingsRefreshポリシー設定、Bedrockセットアップウィザード、costコマンドの改善など多数の機能追加とバグ修正を含む。
Claude Code v2.1.91 リリース - MCPツール結果の永続化とEditツールの最適化
Claude Code v2.1.91ではMCPツールの結果サイズの上書き、シェル実行の制御強化、Editツールの効率改善などが行われた。