0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeに「エッジケースも考えて」と書くのはやめよう:504回実測でコストだけ134%増

0
Posted at

Claude Code でバグを直すとき、こんな一言を足していませんか。

「エッジケースも全部考えて」
「先にテストを書いて」

あるいは effort を high に上げる。私もそうでした。そこで本当に効くのか、504回動かして測りました。

結論:お金が増えただけでした。

  • Haiku 5.5:「エッジケース」+「既存テストを先に読め」で1回あたりのコストが +134%
  • Opus 5.5:「エッジケース」の一文だけで +60%
  • effort high:Haiku +60%、Opus +22%
  • バグ報告に書かれていないケースの通過率:どの条件も 4ポイント以上は動かず。effort high は両モデルともむしろ少し下がりました。

条件別の通過率とコスト

測り方

2026年8〜10月に実際に修正された OSS のバグ21件(cachetools、zod、marked、js-yaml、anyio、undici、fastify など12プロジェクト)。Claude Code 2.1.295 のヘッドレスモードで Haiku 5.5 と Opus 5.5 に、4条件×3回ずつ直させました。21×2×4×3=504回です。

条件 変えたこと
基本 症状・再現・期待結果だけ残したバグ報告
effort high 同じ報告、effort だけ high
エッジケース 「直す前に、報告に書かれていないが一緒に扱うべき入力と変形を挙げ、そのテストを先に書いてから直せ」を追加
エッジケース+テスト読み さらに「変更するコードの既存テストを先に読め」

採点はそのバグを直したメンテナーのテストで行いました。テストケースごとに「報告に出てくるケース」と「出てこないケース」を最初の実行前に分け、sha256 付きで GitHub に事前登録しています。結果を見てから基準を動かせないようにするためです。効果と認める基準は20ポイント以上の差です。

結果

報告に書かれていないケースの通過率(バグごとの平均):

条件 Haiku 5.5 Opus 5.5
基本 84% 88%
effort high 82% 86%
エッジケース 84% 91%
エッジケース+テスト読み 86% 84%

1回あたりの API コスト:

条件 Haiku Opus
基本 US$0.050 US$0.51
effort high US$0.081(+60%) US$0.62(+22%)
エッジケース US$0.10(+108%) US$0.82(+60%)
エッジケース+テスト読み US$0.12(+134%) US$0.81(+58%)

1回の所要時間の中央値も Haiku 121秒→299秒、Opus 120秒→271秒に延びました。指示どおりケースを列挙してテストも書いていますが、それが修正の質につながっていません。

なぜ効かなかったか:決めたのはプロンプトではなくバグ

  • 簡単なバグは言われなくても対応していた。 21件中12件は、どの条件でも両モデルが全ケース通過。伸びしろがありませんでした。
  • 難しいバグは言われても対応できなかった。 js-yaml の「ストリーム内の各ドキュメントの先頭に BOM がある」ケースは 504回中0回。「書かれていない変形を挙げよ」と言っても、その変形を思いつきませんでした。
  • テスト読みが逆効果のことも。 Python-Markdown のバッククォートのバグで、Opus は基本条件で3回中2回通過したのに、「テストを先に読め」を足すと3回とも失敗しました。

代わりにどうするか

  • 「エッジケース」ではなく、漏れそうなケースを具体的に書く。 報告に出てくるケースは両モデルとも94%以上通過しました。モデルは指示に従えないのではなく、書かれていないものを思いつけないのです。
  • バグ修正では effort はデフォルトのまま。 今回 high はコストを上げただけでした。
  • 基本は Haiku。 各252回の平均で1回あたり Haiku 0.088ドル、Opus 0.69ドル。約87%安い。Opus のほうが数ポイント上で、他のテストを壊す回数も少なかったので、大きなコードベースの難しいバグでは Opus に価値があります。

限界

バグ21件、各条件3回です。20ポイントの効果は否定できますが、数ポイントの小さな効果までは否定できません。プロンプトの文面も条件ごとに1つだけです。

データ

504回の実行ごとの点数・コスト・時間を CSV で公開しています(CC BY 4.0)。事前登録文書と採点コードもあります。

皆さんが Claude に付けている「効いた一言」があればコメントで教えてください。次の実測で試します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?